Skip to content

Migration from ADO to Github Actions #27

Migration from ADO to Github Actions

Migration from ADO to Github Actions #27

# DESCRIPTION:
# Builds, tests, and packages the solution for the main branch.
on:
pull_request
permissions:
id-token: write
contents: read
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
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: semver
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}}
buildonLinux:
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: ${{steps.semver.outputs.assemblyVersion}}
buildConfiguration: ${{env.buildConfiguration}}
fileVersion: ${{steps.semver.outputs.fileVersion}}
informationalVersion: ${{steps.semver.outputs.informationalVersion}}
dotnetVersion: ${{matrix.dotnet-version}}
# - name: Test
# run: dotnet test --configuration ${{env.buildConfiguration}}
# - name: Publish
# run: dotnet publish --configuration ${{env.buildConfiguration}} --output ./publish