Skip to content

Update cargo-rbmt and fix CI#266

Open
apoelstra wants to merge 7 commits intoElementsProject:masterfrom
apoelstra:2026-04/fix-ci
Open

Update cargo-rbmt and fix CI#266
apoelstra wants to merge 7 commits intoElementsProject:masterfrom
apoelstra:2026-04/fix-ci

Conversation

@apoelstra
Copy link
Copy Markdown
Member

@apoelstra apoelstra commented Apr 21, 2026

This overhauls the CI system (again) by copying all the files from rust-bech32 and rust-bitcoin and making minor tweaks for rust-elements.

This should fix the doc_auto_cfg thing which is plaguing #257, and should overall be much more reliable going forward since it's much more agressive about pinning toolchain versions etc.

This does not re-enable the fuzz tests (which were not covered by the previous CI and not covered by this one); do this will require I migrate the old honggfuzz-based fuzz targets to cargo-fuzz ones, and require I migrate the ancient travis-fuzz.sh script to our more modern one. Will do this in a separate PR.

This copies the rust.yml file from rust-bech32 verbatim *except*

* I changed the lockfile list from {recent, minimal} to just {recent}. Also,
  since "recent" appears in a ton of places, I just renamed Cargo-latest.lock
  to Cargo-recent.lock instead of changing the CI file.
* I deleted the "embedded" job which refers to a test that doesn't exist here.
* Added setting of ELEMENTSD_EXE env var, needed for the elememntsd tests
* I commented out the fmt job, which was commented out before, and which would
  require a 2000-line diff to re-enable (though maybe we should..)
* I re-added the WASM job from the old file, since cargo-rbmt doesn't do WASM
  (I think) and urprisingly that old job was still passing, so I figured we
  should keep it. If anything breaks going forward, it'll be this one.
@apoelstra apoelstra force-pushed the 2026-04/fix-ci branch 2 times, most recently from 719716b to ab873ec Compare April 21, 2026 16:12
@apoelstra
Copy link
Copy Markdown
Member Author

cc @delta1 can you take a look at this? A cursory review is fine, this stuff is CI only.

With the move to the latest cargo-rbmt we have replaced our nightly-version
files with Cargo.toml entries. Update the cronjob accordingly, and add a
new one for the stable compiler version.

This moves the update date from Mondays to Saturdays.

It's a bit nicer to have Saturday, both because this is the same time as all
the other rust-bitcoin PRs are opened so I can bulk-review them, but also
because it means I can merge these (usually trivial) PRs on Sunday and not
have them mixed up with activity during the workweek.
These two expressions were quite confusingly constructed.
I split out the previous lint fix because touching boolean expressions always
makes me nervous. These ones are mechanical changes that do not make me nervous.
This matches rust-bitcoin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant