Skip to content

ci: individual package tests#2209

Merged
ValuedMammal merged 1 commit into
bitcoindevkit:masterfrom
ValuedMammal:update_ci
Jul 13, 2026
Merged

ci: individual package tests#2209
ValuedMammal merged 1 commit into
bitcoindevkit:masterfrom
ValuedMammal:update_ci

Conversation

@ValuedMammal

@ValuedMammal ValuedMammal commented May 19, 2026

Copy link
Copy Markdown
Collaborator

Close #1944

Description

Replaces the monolithic build-test matrix job (which ran a 2-toolchain × 2-feature-set matrix across the whole workspace) with dedicated per-crate build jobs. Each crate uses named steps for every meaningful feature combination, making it easy to identify which specific crate and feature set broke in CI.

Changes:

  • Per-crate jobs: build-core, build-chain, build-bitcoind-rpc, build-electrum, build-esplora, build-file-store, build-testenv — each with per-feature cargo build steps and a cargo test --all-features step
  • msrv job: Simplified from a matrix to a single flat job targeting 1.85.0; runs cargo build --workspace --all-targets and cargo test --workspace --lib --tests --all-features
  • check-no-std: Updated to check bdk_core and bdk_chain with no default features + with hashbrown and miniscript; cross-compilation against thumbv6m-none-eabi is stubbed out as usual to be addressed in a separate PR

@codecov

codecov Bot commented May 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.32%. Comparing base (fcfb7dd) to head (2185dcb).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2209   +/-   ##
=======================================
  Coverage   78.32%   78.32%           
=======================================
  Files          30       30           
  Lines        5934     5934           
  Branches      281      281           
=======================================
  Hits         4648     4648           
  Misses       1210     1210           
  Partials       76       76           
Flag Coverage Δ
rust 78.32% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ValuedMammal ValuedMammal self-assigned this May 19, 2026
@ValuedMammal ValuedMammal added the github_actions Pull requests that update GitHub Actions code label May 19, 2026
@ValuedMammal ValuedMammal moved this to In Progress in BDK Chain May 19, 2026
@ValuedMammal ValuedMammal force-pushed the update_ci branch 2 times, most recently from adeded1 to 06a3fe4 Compare May 26, 2026 13:18
@ValuedMammal

Copy link
Copy Markdown
Collaborator Author
  • electrum/benches/test_sync.rs requires use-rustls feature
  • ci: Changed Build 1.85.0 (no default features) to cargo build --workspace --all-targets --no-default-features

@ValuedMammal ValuedMammal marked this pull request as ready for review June 10, 2026 16:44
@oleonardolima oleonardolima added this to the Chain 0.24.0 milestone Jun 11, 2026
@oleonardolima oleonardolima moved this from In Progress to Needs Review in BDK Chain Jun 11, 2026
Added workspace level MSRV job.

Added per-crate jobs to build meaningful feature
combinations and test all features.

Removed build-test job.
@ValuedMammal

Copy link
Copy Markdown
Collaborator Author

Rebased

@hash-ty hash-ty left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ValuedMammal This looks ready man.

@ValuedMammal ValuedMammal merged commit 1acb4d0 into bitcoindevkit:master Jul 13, 2026
19 checks passed
@github-project-automation github-project-automation Bot moved this from Needs Review to Done in BDK Chain Jul 13, 2026
@ValuedMammal ValuedMammal deleted the update_ci branch July 13, 2026 21:09
Comment on lines +266 to +286
check-no-std:
needs: prepare
name: Check no-std
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ needs.prepare.outputs.rust_version }}
cache: true
# TODO: `--target thumbv6m-none-eabi` should work but currently does not
# target: thumbv6m-none-eabi
- name: Check bdk_core (no-std, hashbrown)
working-directory: ./crates/core
run: cargo check --no-default-features --features hashbrown
- name: Check bdk_chain (no-std, hashbrown + miniscript)
working-directory: ./crates/chain
run: cargo check --no-default-features --features hashbrown,miniscript

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: As you've splitted into multiple jobs, it could live in each one of them. Unless, you're looking forward to keep this one as the one that uses an specific target.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add CI tests for building individual packages

3 participants