Skip to content

SAVEPOINT

SAVEPOINT #559

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
name: "Build, Test, Analyze and Publish"
runs-on: windows-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: Cache .nuke/temp
uses: actions/cache@v4
with:
path: |
.nuke/temp
key: ${{ runner.os }}-${{ hashFiles('NodeVersion') }}
- name: Run NUKE
run: ./build.ps1
env:
NuGetApiKey: ${{ secrets.NUGETAPIKEY }}
- name: Check for 'lcov.info' existence
id: check_files
uses: andstor/file-existence-action@v3
with:
files: "TestResults/reports/lcov.info"
- name: coveralls
uses: coverallsapp/github-action@v2
if: steps.check_files.outputs.files_exists == 'true'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
file: TestResults/reports/lcov.info
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: windows-artifacts
path: |
./Artifacts/*
./TestResults/*.trx
only-unit-tests:
name: "Run Unit Tests Only"
strategy:
matrix:
os: [ubuntu-24.04, macos-15]
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 NUKE
run: ./build.sh UnitTests
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-artifacts
path: |
./TestResults/*.trx
publish-test-results:
name: "Publish Tests Results"
needs: [ build, only-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:
files: "artifacts/**/**/*.trx"