Skip to content

Migration from ADO to Github Actions #47

Migration from ADO to Github Actions

Migration from ADO to Github Actions #47

# DESCRIPTION:
# Builds, tests, and packages the solution for the main branch.
on:
pull_request
permissions:
id-token: write
contents: read
defaults:
run:
working-directory: src
shell: bash
env:
buildConfiguration: Release
azureSubscriptionEndpoint: docker-build
azureContainerRegistryName: healthplatformregistry
connectedServiceName: Microsoft Health Open Source Subscription
composeLocation: build/docker/docker-compose.yaml
imageTag: ${{github.run_number}}
jobs:
setup:
runs-on: ubuntu-latest
env:
deploymentEnvironmentName: $vars.CIRESOURCEGROUPROOT
appServicePlanName: $vars.CIRESOURCEGROUPROOT-linux
resourceGroupName: $vars.CIRESOURCEGROUPROOT
outputs:
assemblyVersion: ${{ steps.version.outputs.assemblyVersion }}
fileVersion: ${{ steps.version.outputs.fileVersion }}
informationalVersion: ${{ steps.version.outputs.informationalVersion }}
majorMinorPatch: ${{ steps.version.outputs.majorMinorPatch }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Latest .Net SDK
uses: actions/setup-dotnet@v4
- name: Determine Semver
id: version
uses: ./.github/actions/update-semver
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{secrets.AZURE_CLIENT_ID}}
subscription-id: ${{secrets.AZURE_SUBSCRIPTION_ID}}
tenant-id: ${{secrets.AZURE_TENANT_ID}}
enable-AzPSSession: true
- name: Clean Storage Accounts
uses: ./.github/actions/clean-storage-accounts
with:
environmentName: ${{vars.CIRESOURCEGROUPROOT}}
buildAndUnitTest:
runs-on: ubuntu-latest
needs: setup
strategy:
matrix:
dotnet-version: [ '8.0.x', '6.0.x' ]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup dotnet ${{ matrix.dotnet-version }}
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ matrix.dotnet-version }}
- name: Build
uses: ./.github/actions/dotnet-build
with:
assemblyVersion: ${{needs.setup.outputs.assemblyVersion}}
buildConfiguration: ${{env.buildConfiguration}}
fileVersion: ${{needs.setup.outputs.fileVersion}}
informationalVersion: ${{needs.setup.outputs.informationalVersion}}
dotnetVersion: ${{matrix.dotnet-version}}
majorMinorPatch: ${{needs.setup.outputs.majorMinorPatch}}
runIntegrationTests:
runs-on: ubuntu-latest
needs : buildAndUnitTest
steps:
- name: Download Build Artifact for Testing
uses: actions/download-artifact@v4
with:
name: fhirBuild-8.0.x
path: artifacts