Modern .NET Support #77
Workflow file for this run
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: .NET | |
on: [push, pull_request] | |
env: | |
EXCLUDE_RUN_ID_FROM_PACKAGE: false | |
EXCLUDE_SUFFIX_FROM_VERSION: false | |
jobs: | |
# Build the whole Shmuelie.WinRTServer solution | |
build-solution: | |
strategy: | |
matrix: | |
configuration: [Debug, Release] | |
runs-on: windows-2022 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.1 | |
- name: Setup NuGet | |
uses: nuget/setup-nuget@v1 | |
- name: NuGet Restore | |
run: nuget restore | |
- name: Build | |
run: msbuild -t:restore,build /p:Configuration=${{matrix.configuration}} /p:Platform=x64 /bl | |
- name: Upload MSBuild binary log | |
uses: actions/upload-artifact@v3 | |
with: | |
name: msbuild_log_${{matrix.configuration}} | |
path: msbuild.binlog | |
if-no-files-found: error | |
if: always() | |
# Build the only in Release to generate all the NuGet packages. | |
# This workflow also uploads the resulting packages as artifacts. | |
build-packages: | |
runs-on: windows-2022 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.1 | |
- name: Setup NuGet | |
uses: nuget/setup-nuget@v1 | |
- name: NuGet Restore | |
run: nuget restore | |
- name: Build | |
run: msbuild .\src\Shmuelie.WinRTServer\Shmuelie.WinRTServer.csproj -t:restore,build -p:Configuration=Release | |
- name: Pack | |
run: msbuild .\src\Shmuelie.WinRTServer\Shmuelie.WinRTServer.csproj -t:pack -p:Configuration=Release | |
- name: Upload package artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: nuget_packages | |
path: artifacts\*.nupkg | |
if-no-files-found: error | |
# Publish the packages to GitHub packages | |
publish-nightlies-github: | |
needs: [build-solution, build-packages] | |
runs-on: windows-2022 | |
if: ${{github.event_name == 'push'}} | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: nuget_packages | |
path: artifacts | |
- run: dotnet nuget push "artifacts\*.nupkg" --source "https://nuget.pkg.github.com/${{github.repository_owner}}/index.json" --api-key ${{secrets.GITHUB_TOKEN}} --skip-duplicate |