Skip to content

chore(deps): update dependency publicapigenerator to 11.3.0 (#698) #536

chore(deps): update dependency publicapigenerator to 11.3.0 (#698)

chore(deps): update dependency publicapigenerator to 11.3.0 (#698) #536

Workflow file for this run

name: Build
on:
push:
branches: [ main ]
tags: [ 'v[0-9]+.[0-9]+.[0-9]+' ]
jobs:
unit-tests:
name: "Unit tests"
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: Run unit tests (windows)
if: matrix.os == 'windows-latest'
run: ./build.ps1 CodeCoverage
- name: Run unit tests (ubuntu|macos)
if: matrix.os != 'windows-latest'
run: ./build.sh CodeCoverage
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-artifacts
path: |
./Artifacts/*
./TestResults/*.trx
api-tests:
name: "API tests"
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: API checks
run: ./build.sh ApiChecks
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: API-tests
path: |
./Artifacts/*
./TestResults/*.trx
mutation-tests-linux:
name: "Mutation tests (Linux)"
if: ${{ github.actor != 'dependabot[bot]' }}
runs-on: ubuntu-latest
env:
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }}
DOTNET_NOLOGO: true
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: Run mutation tests
run: ./build.sh MutationTestsLinux
mutation-tests-windows:
name: "Mutation tests (Windows)"
if: ${{ github.actor != 'dependabot[bot]' }}
runs-on: windows-latest
env:
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }}
DOTNET_NOLOGO: true
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: Run mutation tests
run: ./build.ps1 MutationTestsWindows
static-code-analysis:
name: "Static code analysis"
runs-on: ubuntu-latest
env:
REPORTGENERATOR_LICENSE: ${{ secrets.REPORTGENERATOR_LICENSE }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
DOTNET_NOLOGO: true
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: Run sonarcloud analysis
run: ./build.sh CodeAnalysis
publish-test-results:
name: "Publish Tests Results"
needs: [ api-tests, unit-tests ]
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
if: always()
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
comment_mode: always
files: "artifacts/**/**/*.trx"
pack:
name: "Pack"
runs-on: ubuntu-latest
needs: [ publish-test-results, mutation-tests-linux, mutation-tests-windows, static-code-analysis ]
env:
DOTNET_NOLOGO: true
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: Pack nuget packages
run: ./build.sh Pack
- name: Upload packages
if: always()
uses: actions/upload-artifact@v4
with:
path: Artifacts/Packages
name: Packages
push:
name: "Push"
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
runs-on: ubuntu-latest
environment: production
needs: [ pack ]
permissions:
contents: write
steps:
- name: Download packages
uses: actions/download-artifact@v4
with:
name: Packages
path: Artifacts/Packages
- name: Publish
run: |
echo "Found the following packages to push:"
search_dir=Artifacts/Packages
for entry in Artifacts/Packages/*.nupkg
do
echo "- $entry"
done
for entry in Artifacts/Packages/*.nupkg
do
nuget push $entry -Source 'https://api.nuget.org/v3/index.json' -ApiKey ${{secrets.NUGET_API_KEY}} -SkipDuplicate
done
- name: Create GitHub release
continue-on-error: true
uses: softprops/action-gh-release@v2
with:
name: ${{ steps.tag.outputs.release_version }}
tag_name: ${{ steps.tag.outputs.release_version }}
token: ${{ secrets.GITHUB_TOKEN }}
generate_release_notes: true
finalize-release:
name: "Finalize release"
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
needs: [ push ]
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Comment relevant issues and pull requests
continue-on-error: true
uses: apexskier/github-release-commenter@v1.3.6
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
comment-template: |
This is addressed in release {release_link}.
label-template: |
state: released
skip-label: |
state: released