Merge pull request #92 from AmpScm/fix/svndist #272
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: MSBuildV2 | |
on: | |
push: | |
branches: [ main, stable/* ] | |
pull_request: | |
branches: [ main, stable/* ] | |
env: | |
SOLUTION_FILE_PATH: src/SharpSvn.sln | |
nant: '${{ github.workspace }}/src/packages/NAnt.0.92.0/tools/nant.exe' | |
jobs: | |
dependencies: | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Install NAnt | |
working-directory: imports/ | |
run: nuget.exe install NAnt | |
- name: Cache preparations | |
id: cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
imports/release | |
imports/build/refasmer | |
!imports/release/bin-* | |
!imports/release/bin/*.pdb | |
key: ${{runner.os}}-MSBuild-${{ hashFiles('imports/*.build') }}-${{ hashFiles('imports/scripts/*.build') }} | |
- name: Cache Import Downloads | |
if: steps.cache.outputs.cache-hit != 'true' | |
uses: actions/cache@v4 | |
with: | |
path: | | |
imports/downloads | |
key: ${{runner.os}}-Import-Downloads-${{ hashFiles('imports/*.build') }} | |
- name: Run NAnt preparations | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: ${{env.nant}} -f:tools/buildbot.build buildbot-build | |
- name: Save dependecy artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: | | |
imports/release | |
build-x86: | |
needs: dependencies | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup version | |
run: scripts\gh-version-setup.cmd ${{ github.run_number }} | |
- name: Run nuget | |
run: nuget.exe restore ${{env.SOLUTION_FILE_PATH}} | |
- name: Build-x86 | |
run: msbuild.exe /r /v:m /p:Platform=x86 /p:Configuration=Release ${{env.SOLUTION_FILE_PATH}} /p:BuildBotBuild=true @scripts\msbuild-version.rsp | |
- name: Save build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-x86-artifacts | |
path: | | |
src/**/bin/win32/Release | |
src/**/bin/Release/ | |
src/**/bin/x86/Release/ | |
test-x86: | |
needs: build-x86 | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Restore build-x86 artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-x86-artifacts | |
path: src/ | |
- name: Dotnet-test-x86 | |
run: dotnet vstest /Platform:x86 src/SharpSvn.Tests/bin/x86/Release/SharpSvn.Tests.dll --TestCaseFilter:"TestCategory!=NeedsNetwork" | |
build-x64: | |
needs: dependencies | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup version | |
run: scripts\gh-version-setup.cmd ${{ github.run_number }} | |
- name: Run nuget | |
run: nuget.exe restore ${{env.SOLUTION_FILE_PATH}} | |
- name: Build-x64 | |
run: msbuild.exe /r /v:m /p:Platform=x64 /p:Configuration=Release ${{env.SOLUTION_FILE_PATH}} /p:BuildBotBuild=true @scripts\msbuild-version.rsp | |
- name: Save build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-x64-artifacts | |
path: | | |
src/**/bin/Release/ | |
src/**/bin/x64/Release/ | |
test-x64: | |
needs: build-x64 | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Restore build-x64 artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-x64-artifacts | |
path: src/ | |
- name: Dotnet-test-x64 | |
run: dotnet vstest /Platform:x64 src/SharpSvn.Tests/bin/x64/Release/SharpSvn.Tests.dll --TestCaseFilter:"TestCategory!=NeedsNetwork" | |
build-x86-core: | |
needs: dependencies | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Load dotnet core 3.1.x | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '3.1.x' | |
- name: Setup version | |
run: scripts\gh-version-setup.cmd ${{ github.run_number }} | |
- name: Run nuget | |
run: nuget.exe restore ${{env.SOLUTION_FILE_PATH}} | |
- name: Build-x86-Core | |
run: msbuild.exe /r /v:m /p:Platform=x86 /p:Configuration=ReleaseCore ${{env.SOLUTION_FILE_PATH}} /p:BuildBotBuild=true @scripts\msbuild-version.rsp | |
- name: Save build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-x86-core-artifacts | |
path: | | |
src/**/bin/win32/ReleaseCore/ | |
src/**/bin/ReleaseCore/ | |
src/**/bin/Release/ | |
src/**/bin/x86/ReleaseCore/ | |
test-x86-core: | |
needs: build-x86-core | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Restore build-x86-core artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-x86-core-artifacts | |
path: src/ | |
- name: Dotnet-test-Core-x86 | |
run: dotnet vstest /Platform:x86 src/SharpSvn.Tests/bin/x86/ReleaseCore/SharpSvn.Tests.dll --TestCaseFilter:"TestCategory!=NeedsNetwork" | |
build-x64-core: | |
needs: dependencies | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Load dotnet core 3.1.x | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '3.1.x' | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup version | |
run: scripts\gh-version-setup.cmd ${{ github.run_number }} | |
- name: Run nuget | |
run: nuget.exe restore ${{env.SOLUTION_FILE_PATH}} | |
- name: Build-x64-Core | |
run: msbuild.exe /r /v:m /p:Platform=x64 /p:Configuration=ReleaseCore ${{env.SOLUTION_FILE_PATH}} /p:BuildBotBuild=true @scripts\msbuild-version.rsp | |
- name: Save build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-x64-core-artifacts | |
path: | | |
src/**/bin/ReleaseCore/ | |
src/**/bin/Release/ | |
src/**/bin/x64/ReleaseCore/ | |
test-x64-core: | |
needs: build-x64-core | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Restore build-x64-core artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-x64-core-artifacts | |
path: src/ | |
- name: Dotnet-test-Core-x64 | |
run: dotnet vstest /Platform:x64 src/SharpSvn.Tests/bin/x64/ReleaseCore/SharpSvn.Tests.dll --TestCaseFilter:"TestCategory!=NeedsNetwork" | |
build-arm64-core: | |
needs: dependencies | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Load dotnet core 3.1.x | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '3.1.x' | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup version | |
run: scripts\gh-version-setup.cmd ${{ github.run_number }} | |
- name: Run nuget | |
run: nuget.exe restore ${{env.SOLUTION_FILE_PATH}} | |
- name: Build-arm64-Core | |
run: msbuild.exe /r /v:m /p:Platform=ARM64 /p:Configuration=ReleaseCore ${{env.SOLUTION_FILE_PATH}} /p:BuildBotBuild=true @scripts\msbuild-version.rsp | |
- name: Save build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-arm64-core-artifacts | |
path: | | |
src/**/bin/ReleaseCore/ | |
src/**/bin/Release/ | |
src/**/bin/ARM64/ReleaseCore/ | |
create-nuget: | |
needs: [test-x86, test-x64, test-x86-core, test-x64-core, build-arm64-core] | |
runs-on: windows-2022 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Restore dependency artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: dependencies-${{runner.os}} | |
path: imports/release/ | |
- name: Restore build-* artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: build-*-artifacts | |
path: src/ | |
merge-multiple: true | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup version | |
run: scripts\gh-version-setup.cmd ${{ github.run_number }} | |
- name: Create nupkg files | |
run: scripts\gh-build-nuget.cmd | |
- name: Package nupkg files | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nupkg-files | |
path: nuspec/bin/*.nupkg |