Skip to content

qemu

qemu #39

Workflow file for this run

name: on-push-to-main
concurrency:
group: on-push-to-main
cancel-in-progress: true
on:
push:
branches:
- '*' # TODO - master
env:
PLATFORMS: linux/arm64/v8
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET 8.x
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.x'
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get dashboard version
id: dashboard_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.App/WeatherStationProject.Dashboard.App.csproj
- name: Get air parameters version
id: air_parameters_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.AirParametersService/WeatherStationProject.Dashboard.AirParametersService.csproj
- name: Get ambient temperatures version
id: ambient_temperatures_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.AmbientTemperatureService/WeatherStationProject.Dashboard.AmbientTemperatureService.csproj
- name: Get authentication version
id: authentication_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.AuthenticationService/WeatherStationProject.Dashboard.AuthenticationService.csproj
- name: Get gateway version
id: gateway_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.GatewayService/WeatherStationProject.Dashboard.GatewayService.csproj
- name: Get ground temperature version
id: ground_temperatures_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.GroundTemperatureService/WeatherStationProject.Dashboard.GroundTemperatureService.csproj
- name: Get rainfall service version
id: rainfall_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.RainfallService/WeatherStationProject.Dashboard.RainfallService.csproj
- name: Get wind measurements version
id: wind_measurements_version
uses: KageKirin/get-csproj-version@v1
with:
file: ./Code/src/WeatherStationProject.Dashboard.WindMeasurementsService/WeatherStationProject.Dashboard.WindMeasurementsService.csproj
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: ${{ env.PLATFORMS }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
platforms: ${{ env.PLATFORMS }}
# - name: Build and push Dashboard
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=true"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.App"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/dashboard:${{ steps.dashboard_version.outputs.version }}
# weatherstationproject/dashboard:latest
- name: Build and push air parameters service
uses: docker/build-push-action@v6
with:
context: .
build-args: |
"INCLUDE_NPM_ARG=false"
"PROJECT_NAME_ARG=WeatherStationProject.Dashboard.AirParametersService"
"ENVIRONMENT_ARG=Production"
file: ./Dockerfile
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
weatherstationproject/air-parameter-service:${{ steps.air_parameters_version.outputs.version }}
weatherstationproject/air-parameter-service:latest
# - name: Build and push ambient temperatures
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=false"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.AmbientTemperatureService"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/ambient-temperature-service:${{ steps.ambient_temperatures_version.outputs.version }}
# weatherstationproject/ambient-temperature-service:latest
# - name: Build and push authentication service
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=false"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.AuthenticationService"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/authentication-service:${{ steps.authentication_version.outputs.version }}
# weatherstationproject/authentication-service:latest
# - name: Build and push gateway service
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=false"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.GatewayService"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/gateway-service:${{ steps.gateway_version.outputs.version }}
# weatherstationproject/gateway-service:latest
# - name: Build and push ground temperature service
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=false"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.GroundTemperatureService"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/ground-temperature-service:${{ steps.ground_temperatures_version.outputs.version }}
# weatherstationproject/ground-temperature-serviced:latest
# - name: Build and push rainfall service
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=false"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.RainfallService"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/rainfall-service:${{ steps.rainfall_version.outputs.version }}
# weatherstationproject/rainfall-service:latest
# - name: Build and push wind measurements service
# uses: docker/build-push-action@v6
# with:
# context: .
# build-args: |
# "INCLUDE_NPM_ARG=false"
# "PROJECT_NAME_ARG=WeatherStationProject.Dashboard.WindMeasurementsService"
# "ENVIRONMENT_ARG=Production"
# file: ./Dockerfile
# platforms: ${{ env.PLATFORMS }}
# push: true
# tags: |
# weatherstationproject/wind-measurements-service:${{ steps.wind_measurements_version.outputs.version }}
# weatherstationproject/wind-measurements-service:latest