Skip to content

Bump System.Text.Json from 8.0.3 to 8.0.4 in /src/Spork #333

Bump System.Text.Json from 8.0.3 to 8.0.4 in /src/Spork

Bump System.Text.Json from 8.0.3 to 8.0.4 in /src/Spork #333

Workflow file for this run

name: TableCloth Build Pipeline
on:
push:
paths:
- '.github/workflows/build.yml'
- 'docs/**'
- 'src/**'
- 'tools/**'
pull_request:
paths:
- '.github/workflows/**'
- 'docs/**'
- 'src/**'
- 'tools/**'
jobs:
build:
strategy:
matrix:
configuration: [Debug, Release]
platform: [x64]
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
runs-on: windows-2022
env:
Solution_Name: src\TableCloth.sln
Spork_Project_Path: src\Spork\Spork.csproj
Sponge_Project_Path: src\Sponge\Sponge.csproj
Test_Project_Path: src\TableCloth.Test\TableCloth.Test.csproj
TableCloth_Project_Path: src\TableCloth\TableCloth.csproj
Platform: ${{ matrix.platform }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
# Install the .NET Core workload
- name: Install .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- name: Setup MSBuild.exe
uses: microsoft/[email protected]
# Setup NuGet CLI
- name: Setup NuGet CLI
uses: nuget/[email protected]
with:
nuget-version: '5.x'
# Restore .NET Framework nuget packages
- name: Restore the application (.NET Framework Part)
run: nuget restore $env:Solution_Name
# Restore the application to populate the obj folder with RuntimeIdentifiers
- name: Restore the application (.NET Core Part)
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration /m
env:
Configuration: ${{ matrix.configuration }}
# Build Spork project separately
- name: Build Spork project
run: msbuild $env:Spork_Project_Path /p:Configuration=$env:Configuration /p:Platform=$env:Platform /m
env:
Configuration: ${{ matrix.configuration }}
# Build Sponge project separately
- name: Build Sponge project
run: msbuild $env:Sponge_Project_Path /p:Configuration=$env:Configuration /p:Platform=$env:Platform /m
env:
Configuration: ${{ matrix.configuration }}
# Execute all unit tests in the solution
- name: Execute unit tests
run: dotnet test $env:Test_Project_Path -r win-${{ env.Platform }} -c:$env:Configuration
env:
Configuration: ${{ matrix.configuration }}
# Publish TableCloth project
- name: Publish TableCloth project
run: dotnet publish $env:TableCloth_Project_Path -r win-${{ env.Platform }} --self-contained -p:PublishSingleFile=true -p:PublishReadyToRun=true -c:$env:Configuration
env:
Configuration: ${{ matrix.configuration }}
# Create InnoSetup package
- name: Create InnoSetup package
run: |
"#define GitCommit ""$(git.exe rev-parse HEAD)""" | Out-File -Path "src\commit.iss"
. "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" /DConfiguration=$env:Configuration /DArchitecture=$env:Platform src\TableClothSetup.iss
env:
Configuration: ${{ matrix.configuration }}
# Upload the InnoSetup package: https://github.com/actions/upload-artifact
- name: Upload build artifacts (InnoSetup)
uses: actions/upload-artifact@v4
with:
name: InnoSetup Package Nightly (${{ matrix.platform }}, ${{ matrix.configuration }})
path: "src/Output/*.exe"
if-no-files-found: error
retention-days: 5