Skip to content

Commit 4ba1ff8

Browse files
authored
Merge pull request #5 from janb84/conformance-handler-CI
Added conformance tests step to CI workflow
2 parents b53a26f + 8945721 commit 4ba1ff8

4 files changed

Lines changed: 51 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,50 @@ jobs:
8181
dotnet list package --vulnerable --include-transitive 2>&1 | tee vuln.log
8282
echo "Analyze dotnet list package..."
8383
! grep -q -i "has the following vulnerable packages" vuln.log
84+
85+
conformance-tests:
86+
name: Conformance Tests
87+
runs-on: ${{ matrix.os }}
88+
needs: build-and-test
89+
strategy:
90+
fail-fast: false
91+
matrix:
92+
include:
93+
- os: macos-latest
94+
platform: darwin_arm64
95+
- os: ubuntu-latest
96+
platform: linux_amd64
97+
98+
env:
99+
TEST_VERSION: '0.0.1'
100+
TEST_REPO: 'stringintech/kernel-bindings-tests'
101+
TEST_DIR: '.conformance-tests'
102+
103+
steps:
104+
- name: Checkout code
105+
uses: actions/checkout@v5
106+
107+
- name: Setup .NET
108+
uses: actions/setup-dotnet@v5
109+
with:
110+
dotnet-version: '9.0.x'
111+
112+
- name: Build conformance handler
113+
run: |
114+
dotnet build tools/kernel-bindings-test-handler/kernel-bindings-test-handler.csproj -c Release
115+
dotnet publish tools/kernel-bindings-test-handler/kernel-bindings-test-handler.csproj -c Release -o handler-bin
116+
117+
- name: Download test runner
118+
run: |
119+
mkdir -p ${{ env.TEST_DIR }}
120+
DOWNLOAD_URL="https://github.com/${{ env.TEST_REPO }}/releases/download/v${{ env.TEST_VERSION }}/kernel-bindings-tests_${{ env.TEST_VERSION }}_${{ matrix.platform }}.tar.gz"
121+
echo "Downloading from: $DOWNLOAD_URL"
122+
curl --fail -L -o ${{ env.TEST_DIR }}/test-runner.tar.gz "$DOWNLOAD_URL"
123+
tar -xzf ${{ env.TEST_DIR }}/test-runner.tar.gz -C ${{ env.TEST_DIR }}
124+
chmod +x ${{ env.TEST_DIR }}/runner
125+
126+
- name: Run conformance tests
127+
run: |
128+
${{ env.TEST_DIR }}/runner --handler handler-bin/kernel-bindings-test-handler
129+
130+

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ BitcoinKernel.NET brings Bitcoin Core's robust consensus engine to .NET applicat
1515

1616
| Package | Version | Description |
1717
|---------|---------|-------------|
18-
| **BitcoinKernel** | 0.1.0 | High-level API with fluent builder pattern |
19-
| **BitcoinKernel.Core** | 0.1.0 | Managed wrappers and native bindings |
18+
| **BitcoinKernel** | 0.1.1 | High-level API with fluent builder pattern |
19+
| **BitcoinKernel.Core** | 0.1.1 | Managed wrappers and native bindings |
2020

2121

2222
## Quick Start

src/BitcoinKernel.Core/BitcoinKernel.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- NuGet Package Metadata -->
1010
<PackageId>BitcoinKernel.Core</PackageId>
11-
<Version>0.1.0</Version>
11+
<Version>0.1.1</Version>
1212
<Authors>JanB84</Authors>
1313
<Description>.NET bindings and managed wrappers for libbitcoinkernel. Provides direct access to Bitcoin Core consensus and validation logic with automatic memory management.</Description>
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>

src/BitcoinKernel/BitcoinKernel.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- NuGet Package Metadata -->
1010
<PackageId>BitcoinKernel</PackageId>
11-
<Version>0.1.0</Version>
11+
<Version>0.1.1</Version>
1212
<Authors>JanB84</Authors>
1313
<Description>.NET library for Bitcoin Core functionality. Provides a simple, fluent API for Bitcoin consensus validation, script verification, and blockchain operations powered by libbitcoinkernel.</Description>
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>

0 commit comments

Comments
 (0)