Upgrade remaining services (Food.Svc, Sleep.Svc, Weight.Svc, Auth.Svc) to .NET 10 #29
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Auth Service | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - 'infra/apps/auth-service/**' | |
| - 'src/Biotrackr.Auth.Svc/**' | |
| - '.github/workflows/deploy-auth-service.yml' | |
| permissions: | |
| contents: read | |
| id-token: write | |
| pull-requests: write | |
| checks: write | |
| env: | |
| DOTNET_VERSION: 10.0.x | |
| jobs: | |
| env-setup: | |
| name: Setup Environment | |
| runs-on: ubuntu-latest | |
| outputs: | |
| dotnet-version: ${{ steps.set-output-defaults.outputs.dotnet-version }} | |
| steps: | |
| - name: set outputs with default values | |
| id: set-output-defaults | |
| run: | | |
| echo "dotnet-version=${{ env.DOTNET_VERSION }}" >> "$GITHUB_OUTPUT" | |
| run-unit-tests: | |
| name: Run Unit Tests | |
| needs: env-setup | |
| uses: willvelida/biotrackr/.github/workflows/template-dotnet-run-unit-tests.yml@main | |
| with: | |
| dotnet-version: ${{ needs.env-setup.outputs.dotnet-version }} | |
| working-directory: ./src/Biotrackr.Auth.Svc/Biotrackr.Auth.Svc.UnitTests | |
| runsettings-path: ../coverage.runsettings | |
| run-contract-tests: | |
| name: Run Contract Tests | |
| needs: env-setup | |
| uses: willvelida/biotrackr/.github/workflows/template-dotnet-run-contract-tests.yml@main | |
| with: | |
| dotnet-version: ${{ needs.env-setup.outputs.dotnet-version }} | |
| working-directory: ./src/Biotrackr.Auth.Svc/Biotrackr.Auth.Svc.IntegrationTests | |
| test-filter: 'FullyQualifiedName~Contract' | |
| run-e2e-tests: | |
| name: Run E2E Tests | |
| needs: [env-setup, run-contract-tests] | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./src/Biotrackr.Auth.Svc/Biotrackr.Auth.Svc.IntegrationTests | |
| steps: | |
| - name: Checkout Repository code | |
| uses: actions/checkout@v5 | |
| - name: Setup .NET ${{ needs.env-setup.outputs.dotnet-version }} | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: ${{ needs.env-setup.outputs.dotnet-version }} | |
| - name: Install dependencies | |
| run: dotnet restore | |
| - name: Build | |
| run: dotnet build --no-restore --verbosity normal | |
| - name: Run E2E tests | |
| run: | | |
| dotnet test \ | |
| --no-build \ | |
| --verbosity normal \ | |
| --filter "FullyQualifiedName~E2E" \ | |
| --logger "trx;LogFileName=e2e-test-results.trx" \ | |
| --results-directory ./TestResults | |
| - name: Publish Test Results | |
| uses: dorny/test-reporter@v2 | |
| if: always() | |
| with: | |
| name: E2E Test Results | |
| path: ./src/Biotrackr.Auth.Svc/Biotrackr.Auth.Svc.IntegrationTests/TestResults/*.trx | |
| reporter: dotnet-trx | |
| fail-on-error: true | |
| build-container-image-dev: | |
| name: Build and Push Container Image | |
| needs: [run-unit-tests, run-contract-tests, run-e2e-tests] | |
| uses: willvelida/biotrackr/.github/workflows/template-acr-push-image.yml@main | |
| with: | |
| working-directory: ./src/Biotrackr.Auth.Svc | |
| app-name: biotrackr-auth-svc | |
| secrets: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| resource-group-name: ${{ secrets.AZURE_RG_NAME_DEV }} | |
| retrieve-container-image-dev: | |
| name: Retrieve Container Image | |
| needs: build-container-image-dev | |
| runs-on: ubuntu-latest | |
| outputs: | |
| loginServer: ${{ steps.get-acr-server.outputs.loginServer }} | |
| steps: | |
| - name: Azure login | |
| uses: azure/login@v2 | |
| with: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| - name: Get ACR server | |
| id: get-acr-server | |
| run: | | |
| loginServer=$(az acr list --resource-group ${{ secrets.AZURE_RG_NAME_DEV }} --query "[0].loginServer" -o tsv) | |
| echo "loginServer=$loginServer" > "$GITHUB_OUTPUT" | |
| lint: | |
| name: Run Bicep Linter | |
| needs: retrieve-container-image-dev | |
| uses: willvelida/biotrackr/.github/workflows/template-bicep-linter.yml@main | |
| with: | |
| template-file: './infra/apps/auth-service/main.bicep' | |
| validate: | |
| name: Validate Template | |
| needs: [lint, retrieve-container-image-dev] | |
| uses: willvelida/biotrackr/.github/workflows/template-bicep-validate.yml@main | |
| with: | |
| template-file: './infra/apps/auth-service/main.bicep' | |
| parameters-file: ./infra/apps/auth-service/main.dev.bicepparam | |
| parameters: '{"imageName": "${{ needs.retrieve-container-image-dev.outputs.loginServer }}/biotrackr-auth-svc:${{ github.sha }}"}' | |
| scope: resourceGroup | |
| secrets: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| resource-group-name: ${{ secrets.AZURE_RG_NAME_DEV }} | |
| preview: | |
| name: Preview Changes | |
| needs: [validate, retrieve-container-image-dev] | |
| uses: willvelida/biotrackr/.github/workflows/template-bicep-whatif.yml@main | |
| with: | |
| scope: resourceGroup | |
| template-file: './infra/apps/auth-service/main.bicep' | |
| parameters-file: ./infra/apps/auth-service/main.dev.bicepparam | |
| parameters: '{"imageName": "${{ needs.retrieve-container-image-dev.outputs.loginServer }}/biotrackr-auth-svc:${{ github.sha }}"}' | |
| secrets: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| resource-group-name: ${{ secrets.AZURE_RG_NAME_DEV }} | |
| deploy-dev: | |
| name: Deploy Template to Dev | |
| needs: [preview, retrieve-container-image-dev] | |
| uses: willvelida/biotrackr/.github/workflows/template-bicep-deploy.yml@main | |
| with: | |
| template-file: './infra/apps/auth-service/main.bicep' | |
| parameters-file: ./infra/apps/auth-service/main.dev.bicepparam | |
| parameters: '{"imageName": "${{ needs.retrieve-container-image-dev.outputs.loginServer }}/biotrackr-auth-svc:${{ github.sha }}"}' | |
| scope: resourceGroup | |
| environment: dev | |
| secrets: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| resource-group-name: ${{ secrets.AZURE_RG_NAME_DEV }} |