Build and release C# .NET8 test function #14
This file contains 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
# This workflow will build a .NET project | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net | |
name: Build and release C# .NET8 test function | |
on: | |
push: | |
branches: [ "master" ] | |
paths: | |
- /src/Azure/Csharp.net8/** | |
workflow_dispatch: | |
jobs: | |
buildTest: | |
name: Build Test Function | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Install zip | |
uses: montudor/action-zip@v1 | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore --configuration "RELEASE" | |
- name: Test | |
run: dotnet test --no-build --verbosity normal --configuration "RELEASE" | |
- name: Publish linux | |
run: dotnet publish ./src/Azure/Csharp.net8/CloudRepublic.BenchMark.SampleFunction.Net8/CloudRepublic.BenchMark.SampleFunction.Net8.csproj --runtime "linux-x64" --output ./outputs/test/linux --configuration "RELEASE" | |
- name: Publish windows | |
run: dotnet publish ./src/Azure/Csharp.net8/CloudRepublic.BenchMark.SampleFunction.Net8/CloudRepublic.BenchMark.SampleFunction.Net8.csproj --runtime "win-x64" --output ./outputs/test/windows --configuration "RELEASE" | |
- name: Debugging info | |
run: ls ./outputs/test | |
- name: Zip outputs linux | |
working-directory: ${{ github.workspace }}/outputs/test/linux | |
run: zip -qq -r ${{ github.workspace }}/linux.zip . | |
- name: Zip outputs windows | |
working-directory: ${{ github.workspace }}/outputs/test/windows | |
run: zip -qq -r ${{ github.workspace }}/windows.zip . | |
- name: Upload a Build Artifact linux | |
uses: actions/upload-artifact@v3.1.1 | |
with: | |
name: linux | |
path: ./linux.zip | |
- name: Upload a Build Artifact windows | |
uses: actions/upload-artifact@v3.1.1 | |
with: | |
name: windows | |
path: ./windows.zip | |
deploy: | |
name: Deploy application | |
runs-on: ubuntu-latest | |
needs: ["buildTest"] | |
steps: | |
# Checkout code | |
- uses: actions/checkout@v3 | |
# Log into Azure | |
- name: login to azure cli | |
run: az login --service-principal -u ${{ secrets.AZURE_APPID }} -p ${{ secrets.AZURE_APPSECRET }} --tenant ${{ secrets.AZURE_TENANT }} | |
- name: deploy bicep | |
run: az deployment group create --subscription "${{ secrets.AZURE_SUBSCRIPTION }}" --resource-group "${{ secrets.AZURE_RG }}" --template-file ./src/Azure/Csharp.net8/CloudRepublic.BenchMark.SampleFunction.Net8/deployment.bicep --parameters prefix=${{ secrets.DEPLOYMENT_PREFIX }} --name csharp-net8 | |
- name: Download Test Artifact Linux | |
uses: actions/download-artifact@v3.0.1 | |
with: | |
name: linux | |
path: ./outputs/test/linux | |
- name: Download Test Artifact Windows | |
uses: actions/download-artifact@v3.0.1 | |
with: | |
name: windows | |
path: ./outputs/test/windows | |
- name: Deploy linux test | |
run: az functionapp deployment source config-zip --subscription "${{ secrets.AZURE_SUBSCRIPTION }}" --resource-group "${{ secrets.AZURE_RG }}" --src "./outputs/test/linux/linux.zip" --name "${{ secrets.DEPLOYMENT_PREFIX }}cseightlin" | |
- name: Deploy windows test | |
run: az functionapp deployment source config-zip --subscription "${{ secrets.AZURE_SUBSCRIPTION }}" --resource-group "${{ secrets.AZURE_RG }}" --src "./outputs/test/windows/windows.zip" --name "${{ secrets.DEPLOYMENT_PREFIX }}cseightwin" |