From 3e35dc7ec58d7f096077273fe48e71c85053b9ff Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 08:17:04 +0100 Subject: [PATCH 1/7] Add GitHub Actions workflow for release build and artifact management --- .github/workflows/release.yml | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..dd5c4c4 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,61 @@ +name: Release Build + +on: + release: + types: + - published + +jobs: + build-release-package: + runs-on: windows-2022 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup .NET 8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0' + + - name: Setup .NET 9.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '9.0' + + - name: Setup MSBuild for .NET Framework 4.8 + uses: microsoft/setup-msbuild@v2 + with: + dotNetVersion: '4.8.x' + + - name: Restore dependencies + run: dotnet restore + + - name: Build for all targets + run: dotnet build --configuration Release --no-restore + + - name: Run tests for net8.0 + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net8.0 + + - name: Run tests for net9.0 + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net9.0 + + - name: Run tests for net48 + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net48 + + - name: Pack NuGet package + run: dotnet pack BitPay/BitPay.csproj --configuration Release --no-build --output ./artifacts + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: bitpay-nuget-package + path: ./artifacts/*.nupkg + retention-days: 90 + + - name: Upload symbol packages + uses: actions/upload-artifact@v4 + with: + name: bitpay-symbol-package + path: ./artifacts/*.snupkg + retention-days: 90 From 2cbf37855c28c2a3b22d71631eef4544dc37f48d Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 08:30:22 +0100 Subject: [PATCH 2/7] Update target frameworks in BitPayUnitTest project file --- BitPayUnitTest/BitPayUnitTest.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitPayUnitTest/BitPayUnitTest.csproj b/BitPayUnitTest/BitPayUnitTest.csproj index 609a955..ea715de 100644 --- a/BitPayUnitTest/BitPayUnitTest.csproj +++ b/BitPayUnitTest/BitPayUnitTest.csproj @@ -1,7 +1,7 @@ - net48;net6.0;net7.0;net8.0 + net48;net8.0;net9.0 enable false true From 357a58cf3e275b1ed19f280ab8ce4fd6d2eb1935 Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 08:41:34 +0100 Subject: [PATCH 3/7] Refactor GitHub Actions workflow for release build and testing --- .github/workflows/release.yml | 67 ++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd5c4c4..f31252f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: - published jobs: - build-release-package: + build: runs-on: windows-2022 steps: @@ -34,26 +34,75 @@ jobs: - name: Build for all targets run: dotnet build --configuration Release --no-restore - - name: Run tests for net8.0 - run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net8.0 + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: build-output + path: | + **/bin/Release/** + !**/bin/Release/**/ref/** + retention-days: 1 + + test: + needs: build + runs-on: windows-2022 + strategy: + fail-fast: false + matrix: + framework: ['net8.0', 'net48'] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup .NET 8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0' + + - name: Setup MSBuild for .NET Framework 4.8 + if: matrix.framework == 'net48' + uses: microsoft/setup-msbuild@v2 + with: + dotNetVersion: '4.8.x' - - name: Run tests for net9.0 - run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net9.0 + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-output - - name: Run tests for net48 - run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net48 + - name: Run tests for ${{ matrix.framework }} + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f ${{ matrix.framework }} + + package: + needs: test + runs-on: windows-2022 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup .NET 8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0' + + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-output - name: Pack NuGet package run: dotnet pack BitPay/BitPay.csproj --configuration Release --no-build --output ./artifacts - - name: Upload artifacts + - name: Upload NuGet package uses: actions/upload-artifact@v4 with: name: bitpay-nuget-package path: ./artifacts/*.nupkg retention-days: 90 - - name: Upload symbol packages + - name: Upload symbol package uses: actions/upload-artifact@v4 with: name: bitpay-symbol-package From 7044c851767af6c31e229c9e8aab747aad49c2ab Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 08:55:16 +0100 Subject: [PATCH 4/7] Add setup for .NET 9.0 and restore dependencies in release workflow --- .github/workflows/release.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f31252f..3bccc70 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -86,6 +86,19 @@ jobs: uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0' + + - name: Setup .NET 9.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '9.0' + + - name: Setup MSBuild for .NET Framework 4.8 + uses: microsoft/setup-msbuild@v2 + with: + dotNetVersion: '4.8.x' + + - name: Restore dependencies + run: dotnet restore - name: Download build artifacts uses: actions/download-artifact@v4 From fb1100c0aa9268d60cec3ccfb71b57f62c21e391 Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 09:11:53 +0100 Subject: [PATCH 5/7] Refactor GitHub Actions workflow for release build: streamline jobs, update .NET setup, and enhance artifact management --- .github/workflows/release.yml | 117 +++++++--------------------------- 1 file changed, 24 insertions(+), 93 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3bccc70..d6bf327 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,117 +6,48 @@ on: - published jobs: - build: - runs-on: windows-2022 - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0' - - - name: Setup .NET 9.0 - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '9.0' - - - name: Setup MSBuild for .NET Framework 4.8 - uses: microsoft/setup-msbuild@v2 - with: - dotNetVersion: '4.8.x' - - - name: Restore dependencies - run: dotnet restore - - - name: Build for all targets - run: dotnet build --configuration Release --no-restore - - - name: Upload build artifacts - uses: actions/upload-artifact@v4 - with: - name: build-output - path: | - **/bin/Release/** - !**/bin/Release/**/ref/** - retention-days: 1 - - test: - needs: build + build-release-package: runs-on: windows-2022 strategy: fail-fast: false matrix: - framework: ['net8.0', 'net48'] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0' - - - name: Setup MSBuild for .NET Framework 4.8 - if: matrix.framework == 'net48' - uses: microsoft/setup-msbuild@v2 - with: - dotNetVersion: '4.8.x' - - - name: Download build artifacts - uses: actions/download-artifact@v4 - with: - name: build-output - - - name: Run tests for ${{ matrix.framework }} - run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f ${{ matrix.framework }} - - package: - needs: test - runs-on: windows-2022 - + dotnet-version: ['8.0', '9.0', '48'] + steps: - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0' - - - name: Setup .NET 9.0 - uses: actions/setup-dotnet@v4 + uses: actions/checkout@v6 + + - name: Setup .NET ${{ matrix.dotnet-version }} + if: matrix.dotnet-version != '48' + uses: actions/setup-dotnet@v5 with: - dotnet-version: '9.0' - + dotnet-version: ${{ matrix.dotnet-version }} + - name: Setup MSBuild for .NET Framework 4.8 - uses: microsoft/setup-msbuild@v2 - with: - dotNetVersion: '4.8.x' - + if: matrix.dotnet-version == '48' + uses: microsoft/setup-msbuild@v3 + - name: Restore dependencies run: dotnet restore - - - name: Download build artifacts - uses: actions/download-artifact@v4 - with: - name: build-output - + + - name: Build for all targets + run: dotnet build --configuration Release --no-restore + + - name: Run tests for ${{ matrix.dotnet-version }} + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net${{ matrix.dotnet-version }} + - name: Pack NuGet package run: dotnet pack BitPay/BitPay.csproj --configuration Release --no-build --output ./artifacts - + - name: Upload NuGet package - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: bitpay-nuget-package path: ./artifacts/*.nupkg retention-days: 90 - + - name: Upload symbol package - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: bitpay-symbol-package path: ./artifacts/*.snupkg From f87f03fe17ac9955d7645e5f2587d6286130448d Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 09:18:33 +0100 Subject: [PATCH 6/7] Refactor GitHub Actions workflow: simplify .NET setup by removing matrix strategy and explicitly defining .NET versions --- .github/workflows/release.yml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d6bf327..313df99 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,23 +8,22 @@ on: jobs: build-release-package: runs-on: windows-2022 - strategy: - fail-fast: false - matrix: - dotnet-version: ['8.0', '9.0', '48'] steps: - name: Checkout code uses: actions/checkout@v6 - - name: Setup .NET ${{ matrix.dotnet-version }} - if: matrix.dotnet-version != '48' + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v5 with: - dotnet-version: ${{ matrix.dotnet-version }} - + dotnet-version: '8.0' + + - name: Setup .NET 9.0 + uses: actions/setup-dotnet@v5 + with: + dotnet-version: '9.0' + - name: Setup MSBuild for .NET Framework 4.8 - if: matrix.dotnet-version == '48' uses: microsoft/setup-msbuild@v3 - name: Restore dependencies @@ -33,8 +32,14 @@ jobs: - name: Build for all targets run: dotnet build --configuration Release --no-restore - - name: Run tests for ${{ matrix.dotnet-version }} - run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net${{ matrix.dotnet-version }} + - name: Run tests for net8.0 + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net8.0 + + - name: Run tests for net9.0 + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net9.0 + + - name: Run tests for net48 + run: dotnet test BitPayUnitTest --configuration Release --no-build --verbosity normal -f net48 - name: Pack NuGet package run: dotnet pack BitPay/BitPay.csproj --configuration Release --no-build --output ./artifacts From 364c22ee32d25fd3b73e4590343b4b4ad0b74e9f Mon Sep 17 00:00:00 2001 From: Szymon Wlodarski Date: Tue, 24 Mar 2026 09:48:30 +0100 Subject: [PATCH 7/7] Bump version to 6.0.1 --- BitPay/BitPay.csproj | 8 ++++---- BitPay/Config.cs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/BitPay/BitPay.csproj b/BitPay/BitPay.csproj index 5a1df4d..0ebb4eb 100644 --- a/BitPay/BitPay.csproj +++ b/BitPay/BitPay.csproj @@ -2,10 +2,10 @@ - 6.0.0.0 - 6.0.0 - 6.0.0 - 6.0.0 + 6.0.1.0 + 6.0.1 + 6.0.1 + 6.0.1 Antonio Buedo BitPay Inc. BitPay, Inc. diff --git a/BitPay/Config.cs b/BitPay/Config.cs index 2557c71..6e36120 100644 --- a/BitPay/Config.cs +++ b/BitPay/Config.cs @@ -8,7 +8,7 @@ public static class Config public const string TestUrl = "https://test.bitpay.com/"; public const string ProdUrl = "https://bitpay.com/"; public const string BitPayApiVersion = "2.0.0"; - public const string BitPayPluginInfo = "BitPay_DotNet_Client_v6.0.0"; + public const string BitPayPluginInfo = "BitPay_DotNet_Client_v6.0.1"; public const string BitPayApiFrame = "std"; public const string BitPayApiFrameVersion = "1.0.0"; }