From 7fd658c85424d5425a0858d8c8fb18604ab31712 Mon Sep 17 00:00:00 2001 From: Nick Johnson Date: Mon, 16 Mar 2026 20:21:37 -0700 Subject: [PATCH 1/4] Remove debug println statements from miniscript finalizer --- src/v2/miniscript/finalize.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/v2/miniscript/finalize.rs b/src/v2/miniscript/finalize.rs index f7c60e3..9c0779c 100644 --- a/src/v2/miniscript/finalize.rs +++ b/src/v2/miniscript/finalize.rs @@ -126,8 +126,6 @@ impl Finalizer { }; let witness = Witness::from_slice(&witness); - println!("{:#?}", script_sig); - println!("{:#?}", witness); Ok((script_sig, witness)) } From d7b18af92d8ba24d409d7a49dc311ef890223b07 Mon Sep 17 00:00:00 2001 From: Nick Johnson Date: Mon, 16 Mar 2026 19:52:12 -0700 Subject: [PATCH 2/4] ci: update cargo-rbmt and adopt toolchain mgmt --- .github/workflows/rust.yml | 75 ++++++------------------- .github/workflows/update-toolchains.yml | 4 +- justfile | 19 +++---- rbmt-version | 2 +- 4 files changed, 29 insertions(+), 71 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 9671e31..6d54d1c 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -13,114 +13,73 @@ on: # yamllint disable-line rule:truthy name: Continuous Integration jobs: - Stable: # 2 jobs, one per lock file. - name: Test - stable toolchain + Test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: + toolchain: [stable, nightly, msrv] dep: [minimal, recent] steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Run tests" - run: cargo +${{ steps.setup.outputs.stable-version }} rbmt test stable --lock-file ${{ matrix.dep }} - - Nightly: # 2 jobs, one per lock file. - name: Test - nightly toolchain - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - dep: [minimal, recent] - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup - - name: "Run tests" - run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt test nightly --lock-file ${{ matrix.dep }} - - MSRV: # 2 jobs, one per lock file. - name: Test - MSRV toolchain - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - dep: [minimal, recent] - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - with: - toolchains: "1.74.0" - - name: "Run tests" - run: cargo +1.74.0 rbmt test msrv --lock-file ${{ matrix.dep }} + run: cargo rbmt --lock-file ${{ matrix.dep }} test --toolchain ${{ matrix.toolchain }} Lint: - name: Lint - nightly toolchain runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Run lint" - run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt lint + run: cargo rbmt lint API: - name: API check runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Run API check" - run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt api + run: cargo rbmt api Docs: - name: Docs - stable toolchain runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Build docs" - run: cargo +${{ steps.setup.outputs.stable-version }} rbmt docs + run: cargo rbmt docs Docsrs: - name: Docs - nightly toolchain runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Build docs.rs docs" - run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt docsrs + run: cargo rbmt docsrs - Format: # 1 job, run cargo fmt directly. - name: Format - nightly toolchain + Format: runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master - id: setup + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Check formatting" - run: cargo +${{ steps.setup.outputs.nightly-version }} fmt --all -- --check + run: cargo rbmt fmt --check - Integration: # 1 job, run bitcoin core integration tests using rbmt. - name: Integration - against bitcoind + Integration: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - name: "Run integration tests" run: cargo rbmt integration diff --git a/.github/workflows/update-toolchains.yml b/.github/workflows/update-toolchains.yml index f318aef..c053503 100644 --- a/.github/workflows/update-toolchains.yml +++ b/.github/workflows/update-toolchains.yml @@ -14,9 +14,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-nightly@320a06a6647c90ac97452b20fad5b689905a9791 + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-nightly@18e7f1788abfc14f5fb76204a3deab43b03ba39c with: token: ${{ secrets.RBMT_PRS }} - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-stable@320a06a6647c90ac97452b20fad5b689905a9791 + - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-stable@18e7f1788abfc14f5fb76204a3deab43b03ba39c with: token: ${{ secrets.RBMT_PRS }} diff --git a/justfile b/justfile index a05385a..5f599cc 100644 --- a/justfile +++ b/justfile @@ -7,6 +7,7 @@ _default: # Install rbmt (Rust Bitcoin Maintainer Tools). @_install-rbmt: cargo install --quiet --git https://github.com/rust-bitcoin/rust-bitcoin-maintainer-tools.git --rev $(cat {{justfile_directory()}}/rbmt-version) cargo-rbmt + RBMT_LOG_LEVEL=quiet cargo rbmt toolchains > /dev/null # Cargo check everything. check: @@ -40,26 +41,24 @@ docsrs *flags: # Update the recent and minimal lock files using rbmt. [group('tools')] @update-lock-files: _install-rbmt - rustup run {{NIGHTLY_VERSION}} cargo rbmt lock + cargo rbmt lock # Ensure the exposed API files in api/ are up-to-date. [group('tools')] check-api: _install-rbmt - cargo +{{NIGHTLY_VERSION}} rbmt api - -# Run CI tasks with rbmt. -[group('ci')] -@ci task toolchain="stable" lock="recent": _install-rbmt - RBMT_LOG_LEVEL=quiet rustup run {{toolchain}} cargo rbmt --lock-file {{lock}} {{task}} + cargo rbmt api # Test crate. [group('ci')] -ci-test: (ci "test stable") +ci-test toolchain="stable" lock="recent": _install-rbmt + cargo rbmt --lock-file {{lock}} test --toolchain {{toolchain}} # Lint crate. [group('ci')] -ci-lint: (ci "lint" NIGHTLY_VERSION) +ci-lint: _install-rbmt + cargo rbmt lint # Bitcoin core integration tests. [group('ci')] -ci-integration: (ci "integration") +ci-integration: _install-rbmt + cargo rbmt integration diff --git a/rbmt-version b/rbmt-version index 4f7b79a..befeda3 100644 --- a/rbmt-version +++ b/rbmt-version @@ -1 +1 @@ -257e19f400ab1bfa51c2051b5551d92f75b5f738 +18e7f1788abfc14f5fb76204a3deab43b03ba39c From c10fdec4f2f750ac5d485dc876ea9460cdc1b508 Mon Sep 17 00:00:00 2001 From: Nick Johnson Date: Mon, 16 Mar 2026 20:26:16 -0700 Subject: [PATCH 3/4] api: adopt new cargo-rbmt api files location --- Cargo.toml | 2 +- api/{psbt-v2 => }/all-features.txt | 0 api/{psbt-v2 => }/no-features.txt | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename api/{psbt-v2 => }/all-features.txt (100%) rename api/{psbt-v2 => }/no-features.txt (100%) diff --git a/Cargo.toml b/Cargo.toml index 91a51bb..14c60cd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ keywords = [ "psbt", "bip-174", "bip174", "bip-370", "bip370"] readme = "README.md" edition = "2021" rust-version = "1.74.0" -exclude = ["tests", "contrib"] +exclude = ["api", "tests", "contrib"] [package.metadata.docs.rs] all-features = true diff --git a/api/psbt-v2/all-features.txt b/api/all-features.txt similarity index 100% rename from api/psbt-v2/all-features.txt rename to api/all-features.txt diff --git a/api/psbt-v2/no-features.txt b/api/no-features.txt similarity index 100% rename from api/psbt-v2/no-features.txt rename to api/no-features.txt From 730ea44d2b6236ad945bb55ecd232598be0a9d42 Mon Sep 17 00:00:00 2001 From: Nick Johnson Date: Mon, 16 Mar 2026 21:01:50 -0700 Subject: [PATCH 4/4] ci: consolidate job definitions --- .github/workflows/rust.yml | 56 ++++---------------------------------- 1 file changed, 5 insertions(+), 51 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 6d54d1c..ab77ca5 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -26,60 +26,14 @@ jobs: - name: "Run tests" run: cargo rbmt --lock-file ${{ matrix.dep }} test --toolchain ${{ matrix.toolchain }} - Lint: + Check: runs-on: ubuntu-latest strategy: fail-fast: false + matrix: + command: [lint, api, docs, docsrs, integration, "fmt --check"] steps: - uses: actions/checkout@v6 - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - - name: "Run lint" - run: cargo rbmt lint - - API: - runs-on: ubuntu-latest - strategy: - fail-fast: false - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - - name: "Run API check" - run: cargo rbmt api - - Docs: - runs-on: ubuntu-latest - strategy: - fail-fast: false - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - - name: "Build docs" - run: cargo rbmt docs - - Docsrs: - runs-on: ubuntu-latest - strategy: - fail-fast: false - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - - name: "Build docs.rs docs" - run: cargo rbmt docsrs - - Format: - runs-on: ubuntu-latest - strategy: - fail-fast: false - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - - name: "Check formatting" - run: cargo rbmt fmt --check - - Integration: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c - - name: "Run integration tests" - run: cargo rbmt integration + - name: "Run ${{ matrix.command }}" + run: cargo rbmt ${{ matrix.command }}