Fix dotnet workflow for Windows #10
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: .NET Build and Publish | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
ROOT_CSPROJ_PATH: trawler-csharp.csproj | |
jobs: | |
build-linux: | |
name: Linux ${{ matrix.arch }} - Build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
arch: [ 'x64', 'arm64' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore --runtime linux-${{ matrix.arch }} | |
- name: Build using 'DebugCI' configuration | |
run: dotnet build $ROOT_CSPROJ_PATH --configuration DebugCI --runtime linux-${{ matrix.arch }} | |
- name: Test | |
run: dotnet test $ROOT_CSPROJ_PATH --no-build --verbosity normal --configuration DebugCI --runtime linux-${{ matrix.arch }} | |
- name: Publish the binary | |
run: dotnet publish $ROOT_CSPROJ_PATH --no-build --output output --configuration DebugCI --runtime linux-${{ matrix.arch }} | |
- name: Upload a Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Linux ${{ matrix.arch }} | |
path: output | |
compression-level: 9 | |
build-win: | |
name: Windows ${{ matrix.arch }} - Build | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
arch: [ 'x64', 'arm64' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore --runtime win-${{ matrix.arch }} | |
- name: Build using 'DebugCI' configuration | |
run: dotnet build $env:ROOT_CSPROJ_PATH --configuration DebugCI --runtime win-${{ matrix.arch }} | |
- name: Test | |
run: dotnet test $env:ROOT_CSPROJ_PATH --no-build --verbosity normal --configuration DebugCI --runtime win-${{ matrix.arch }} | |
- name: Publish the binary | |
run: dotnet publish $env:ROOT_CSPROJ_PATH --no-build --output output --configuration DebugCI --runtime win-${{ matrix.arch }} | |
- name: Upload a Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Windows ${{ matrix.arch }} | |
path: output | |
compression-level: 9 | |
build-osx: | |
name: macOS ${{ matrix.arch }} - Build | |
runs-on: osx-latest | |
strategy: | |
matrix: | |
arch: [ 'arm64' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore --runtime osx-${{ matrix.arch }} | |
- name: Build using 'DebugCI' configuration | |
run: dotnet build $ROOT_CSPROJ_PATH --configuration DebugCI --runtime osx-${{ matrix.arch }} | |
- name: Test | |
run: dotnet test $ROOT_CSPROJ_PATH --no-build --verbosity normal --configuration DebugCI --runtime osx-${{ matrix.arch }} | |
- name: Publish the binary | |
run: dotnet publish $ROOT_CSPROJ_PATH --no-build --output output --configuration DebugCI --runtime osx-${{ matrix.arch }} | |
- name: Upload a Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macOS ${{ matrix.arch }} | |
path: output | |
compression-level: 9 |