From 6fe2b19733d4f3c58744cb3ed0828481312d7990 Mon Sep 17 00:00:00 2001 From: jan Date: Sun, 23 Nov 2025 16:22:41 +0100 Subject: [PATCH 1/3] Added conformance tests step to CI workflow --- .github/workflows/ci.yml | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f7dabfa..5810c4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,3 +81,49 @@ jobs: dotnet list package --vulnerable --include-transitive 2>&1 | tee vuln.log echo "Analyze dotnet list package..." ! grep -q -i "has the following vulnerable packages" vuln.log + + conformance-tests: + name: Conformance Tests + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: macos-latest + platform: darwin_arm64 + - os: ubuntu-latest + platform: linux_amd64 + + env: + TEST_VERSION: '0.0.1' + TEST_REPO: 'stringintech/kernel-bindings-tests' + TEST_DIR: '.conformance-tests' + + steps: + - name: Checkout code + uses: actions/checkout@v5 + + - name: Setup .NET + uses: actions/setup-dotnet@v5 + with: + dotnet-version: '9.0.x' + + - name: Build conformance handler + run: | + dotnet build tools/kernel-bindings-test-handler/kernel-bindings-test-handler.csproj -c Release + dotnet publish tools/kernel-bindings-test-handler/kernel-bindings-test-handler.csproj -c Release -o handler-bin + + - name: Download test runner + run: | + mkdir -p ${{ env.TEST_DIR }} + DOWNLOAD_URL="https://github.com/${{ env.TEST_REPO }}/releases/download/v${{ env.TEST_VERSION }}/kernel-bindings-tests_${{ env.TEST_VERSION }}_${{ matrix.platform }}.tar.gz" + echo "Downloading from: $DOWNLOAD_URL" + curl --fail -L -o ${{ env.TEST_DIR }}/test-runner.tar.gz "$DOWNLOAD_URL" + tar -xzf ${{ env.TEST_DIR }}/test-runner.tar.gz -C ${{ env.TEST_DIR }} + chmod +x ${{ env.TEST_DIR }}/runner + + - name: Run conformance tests + run: | + ${{ env.TEST_DIR }}/runner --handler handler-bin/kernel-bindings-test-handler + + From 57c13f1a14ab855d5cf8b072416a45029526aedb Mon Sep 17 00:00:00 2001 From: jan Date: Sun, 23 Nov 2025 16:23:08 +0100 Subject: [PATCH 2/3] bump version to 0.1.1 for BitcoinKernel and BitcoinKernel.Core packages --- README.md | 4 ++-- src/BitcoinKernel.Core/BitcoinKernel.Core.csproj | 2 +- src/BitcoinKernel/BitcoinKernel.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 791c93e..449bf39 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,8 @@ BitcoinKernel.NET brings Bitcoin Core's robust consensus engine to .NET applicat | Package | Version | Description | |---------|---------|-------------| -| **BitcoinKernel** | 0.1.0 | High-level API with fluent builder pattern | -| **BitcoinKernel.Core** | 0.1.0 | Managed wrappers and native bindings | +| **BitcoinKernel** | 0.1.1 | High-level API with fluent builder pattern | +| **BitcoinKernel.Core** | 0.1.1 | Managed wrappers and native bindings | ## Quick Start diff --git a/src/BitcoinKernel.Core/BitcoinKernel.Core.csproj b/src/BitcoinKernel.Core/BitcoinKernel.Core.csproj index 51d56d2..7a4aefe 100644 --- a/src/BitcoinKernel.Core/BitcoinKernel.Core.csproj +++ b/src/BitcoinKernel.Core/BitcoinKernel.Core.csproj @@ -8,7 +8,7 @@ BitcoinKernel.Core - 0.1.0 + 0.1.1 JanB84 .NET bindings and managed wrappers for libbitcoinkernel. Provides direct access to Bitcoin Core consensus and validation logic with automatic memory management. MIT diff --git a/src/BitcoinKernel/BitcoinKernel.csproj b/src/BitcoinKernel/BitcoinKernel.csproj index abda741..635d27b 100644 --- a/src/BitcoinKernel/BitcoinKernel.csproj +++ b/src/BitcoinKernel/BitcoinKernel.csproj @@ -8,7 +8,7 @@ BitcoinKernel - 0.1.0 + 0.1.1 JanB84 .NET library for Bitcoin Core functionality. Provides a simple, fluent API for Bitcoin consensus validation, script verification, and blockchain operations powered by libbitcoinkernel. MIT From 894572101d15f36e90f8fea20f91905755ac67ce Mon Sep 17 00:00:00 2001 From: jan Date: Sun, 23 Nov 2025 16:28:55 +0100 Subject: [PATCH 3/3] only run conformance tests after succesful build-and-test step --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5810c4d..0c7d2b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,6 +85,7 @@ jobs: conformance-tests: name: Conformance Tests runs-on: ${{ matrix.os }} + needs: build-and-test strategy: fail-fast: false matrix: