Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,11 @@ jobs:
# Run tests on commits after the last merge commit and before the PR head commit
git rebase --exec "git merge --no-commit origin/${GITHUB_BASE_REF} && python3 ./.github/ci-test-each-commit-exec.py && git reset --hard" ${{ env.TEST_BASE }}

stratum-v2-regtest:
name: 'SRI integration test'
if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
uses: ./.github/workflows/sri-integration-test.yml

macos-native-arm64:
name: ${{ matrix.job-name }}
# Use any image to support the xcode-select below, but hardcode version to avoid silent upgrades (and breaks).
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/sri-integration-test-daily.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2026-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or https://opensource.org/license/mit.

name: SRI integration test (daily)

on:
workflow_dispatch:
schedule:
- cron: '17 9 * * *'

jobs:
sri-integration-test:
uses: ./.github/workflows/sri-integration-test.yml
89 changes: 89 additions & 0 deletions .github/workflows/sri-integration-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Copyright (c) 2026-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or https://opensource.org/license/mit.

name: SRI integration test

on:
workflow_call:

jobs:
sri-integration-test:
name: 'SRI integration test'
runs-on: ubuntu-24.04
timeout-minutes: 90
env:
BITCOIN_CORE_VERSION: 31.0rc1
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: 'true'
SCENARIO_ROOT: ${{ github.workspace }}/sri-integration-test
SV2_APPS_REF: main
steps:
- name: Checkout
uses: actions/checkout@v5
with:
ref: ${{ github.event_name == 'pull_request' && github.ref || '' }}

- name: Install apt packages
run: |
sudo apt-get update
sudo apt-get install clang mold ccache build-essential cmake ninja-build pkgconf libboost-dev systemtap-sdt-dev capnproto libcapnp-dev -y

- name: ccache
uses: actions/cache@v4
with:
path: ~/.cache/ccache
key: ccache-${{ runner.os }}-${{ github.sha }}
restore-keys: ccache-${{ runner.os }}-

- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
toolchain: 1.85

- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.9

- name: Prepare Bitcoin Core
run: ./ci/test/04_run_stratum_v2_scenario.sh build-bitcoin-core

- name: Build sv2-tp
run: ./ci/test/04_run_stratum_v2_scenario.sh build-sv2-tp

- name: Build sv2-apps
run: ./ci/test/04_run_stratum_v2_scenario.sh build-sv2-apps

- name: Run SRI integration test
run: ./ci/test/04_run_stratum_v2_scenario.sh run

- name: 'Result: Bitcoin Core'
if: always()
run: |
echo '::group::bitcoin debug.log'
cat "${SCENARIO_ROOT}/datadir/regtest/debug.log" || true
echo '::endgroup::'

- name: 'Result: sv2-tp'
if: always()
run: |
echo '::group::sv2-tp stdout/stderr'
cat "${SCENARIO_ROOT}/logs/sv2-tp.log" || true
echo '::endgroup::'
echo '::group::sv2-tp debug log'
cat "${SCENARIO_ROOT}/datadir/regtest/sv2-debug.log" || true
echo '::endgroup::'

- name: 'Result: pool_sv2'
if: always()
run: |
echo '::group::pool_sv2 log'
cat "${SCENARIO_ROOT}/logs/pool.log" || true
echo '::endgroup::'

- name: 'Result: mining_device'
if: always()
run: |
echo '::group::mining_device log'
cat "${SCENARIO_ROOT}/logs/mining-device.log" || true
echo '::endgroup::'
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,13 @@ dependencies.

Usage
------------------------
Download or compile Bitcoin Core v30.2 or later. Start it with:
Download or compile Bitcoin Core v31.0 or later. `sv2-tp` v1.0.6 is the last
release that works with Bitcoin Core v30.2.

Newer releases, as well as compiling from source, require Bitcoin Core v31.0
or later because of breaking changes in the IPC mining interface.

Start it with:

```sh
bitcoin -m node -ipcbind=unix
Expand Down
Loading
Loading