From cc73901a3eeaf2e2632014a26a3ebf286df457d7 Mon Sep 17 00:00:00 2001 From: David Tchepak Date: Sat, 26 Oct 2024 19:07:59 +1100 Subject: [PATCH] Release build workflow (#797) * Release build workflow * Release build - apply review comments - Rename workflow - Split artifact upload into packages and docs * Change artifact retention on release build --- .github/workflows/release_build.yml | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/release_build.yml diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml new file mode 100644 index 00000000..7d01d884 --- /dev/null +++ b/.github/workflows/release_build.yml @@ -0,0 +1,53 @@ +name: Build release packages and documentation +on: + workflow_dispatch: + push: + tags: + - 'v*' + +env: + CONFIGURATION: Release + +jobs: + build: + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: | + 6.0.x + 7.0.x + 8.0.x + + - name: Setup Ruby for documentation build + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + bundler-cache: true + + - name: Build package and docs + run: dotnet run --project 'build/build.fsproj' -- -t All + + - name: Upload packages + uses: actions/upload-artifact@v4 + with: + name: packages + path: | + bin/Release/NSubstitute/*.nupkg + bin/Release/NSubstitute/*.snupkg + retention-days: 7 + + - name: Upload documentation + uses: actions/upload-artifact@v4 + with: + name: docs + path: | + bin/Release/nsubstitute.github.com/ + retention-days: 7 + compression-level: 9