name: .NET Build on: workflow_dispatch: jobs: build: name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, ubuntu-latest] include: - os: windows-latest vs-version: 'latest' runtime: 'win-x64' - os: ubuntu-latest vs-version: 'latest' runtime: 'linux-x64' steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '8.x' - name: Restore dependencies run: dotnet restore - name: Build self-contained application run: dotnet publish SlidePresenter/ControllerSlidePresenter.csproj --no-restore --configuration Release --self-contained -r ${{ matrix.runtime }} /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: build-${{ matrix.runtime }} path: | **/bin/Release/net8.0/${{ matrix.runtime }}/publish/