Merge pull request #806 from polyadic/replace-code-style #1888
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
name: Build | |
on: | |
push: | |
branches: [ main, funcky3 ] | |
pull_request: | |
branches: [ main, funcky3 ] | |
env: | |
DOTNET_NOLOGO: 1 | |
# This is for some reason set to 'all' on CI which means | |
# we get warnings for transitive dependencies (e.g. from Messerli.CodeStyle -> StyleCop) | |
NuGetAuditMode: direct | |
jobs: | |
build: | |
name: Build and Test | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest ] | |
systemLinqAsync: [ '5.0.0', '6.0.1' ] | |
env: | |
SystemLinqAsyncVersion: ${{matrix.systemLinqAsync}} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-dotnet@v4 | |
name: Install Current .NET SDK | |
- uses: actions/setup-dotnet@v4 | |
name: 'Install .NET SDK 8.0' | |
with: | |
dotnet-version: '8.0.x' | |
- uses: actions/setup-dotnet@v4 | |
name: 'Install .NET SDK 7.0' | |
with: | |
dotnet-version: '7.0.x' | |
- uses: actions/setup-dotnet@v4 | |
name: 'Install .NET SDK 6.0' | |
with: | |
dotnet-version: '6.0.x' | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --configuration Release --no-restore /p:TreatWarningsAsErrors=true | |
- name: Run Tests | |
run: dotnet test --configuration Release --no-build | |
trimming-test: | |
name: Trimming and AOT Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-dotnet@v4 | |
name: Install Current .NET SDK | |
- name: Run trimming test | |
run: dotnet publish -c Release Funcky.TrimmingTest -r linux-x64 --self-contained /p:TreatWarningsAsErrors=true | |
- name: Run AOT test | |
run: dotnet publish -c Release Funcky.TrimmingTest -r linux-x64 --self-contained /p:TreatWarningsAsErrors=true /p:FunckyTestAot=true | |
nupkg: | |
name: Generate NuGet Packages | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-dotnet@v4 | |
name: Install Current .NET SDK | |
- name: Generate NuGet Packages | |
run: dotnet pack --output nupkg | |
- uses: actions/upload-artifact@v4 | |
if: success() && github.ref == 'refs/heads/main' | |
with: | |
name: nupkg | |
path: nupkg/* | |
retention-days: 1 |