ci: migrate to cargo rbmt#254
Conversation
|
In 6cab5af: The commit description says this "Gets the MSRV from manifest instead of explicitly" but actually it removes the MSRV from Cargo.toml, ignores the MSRV in fuzz/Cargo.toml, adds it explicitly in a Github Action file which my local CI system can't read, and doesn't add it anywhere else. It also introduces lockfiles with version 4 which I'm fairly sure Cargo 1.56 can't read, so I don't think we're actually testing the MSRV here. |
|
This is the first commit which is authored by @tcharding. |
|
Excluding the fact that I just made mistakes |
fb9a661 to
f575fd9
Compare
|
Squashed to a single commit, as suggested. |
|
Can you grab the latest version of |
f575fd9 to
916d82d
Compare
|
Sorry it really was not the most up-to-date version of rbmt. Force push removed Additionally, do you think I should read the version from |
hmm, @nyonson I'm a bit confused about |
|
(Reminder to self that when this resolves, to copy its approach into rust-elements.) |
I assume @satsfy you are talkin about the uses lines in the yaml? Like @tcharding I have been trying to think of a good way to merge these version definitions, but haven't found a good pattern yet. Top of the list for rbmt stuff though. |
| Stable: | ||
| name: Test - stable toolchain | ||
| runs-on: ubuntu-latest | ||
| MSRV: # 2 jobs: 1 toolchain × 2 lock files. |
There was a problem hiding this comment.
I think you can drop this MSRV job and just extend the Test matrix above with toolchain: [stable, nightly, msrv]. Kinda related, but we have also talked about in other repos how testing on nightly isn't all that helpful.
There was a problem hiding this comment.
Thanks, its done now. MSRV is now part of the test matrix and the separate job is gone. Need to use a MSRV-specific command path because cargo rbmt --toolchain msrv currently breaks on Rust 1.56/1.57 metadata parsing.
About nightly, the CI already had a nightly test so I'm trying to retain it as is for this PR.
There was a problem hiding this comment.
I'll try to hammer out the MSRV issue over here: https://git.rust-bitcoin.org/rust-bitcoin/rust-bitcoin-maintainer-tools/issues/126
916d82d to
8a488b0
Compare
|
About the yaml file version redeclarations, the best alternative solution I found would be adding a new github actions file just for reading it from file. I don't think the added complexity of this solution would be worth it, so I'm leaving that unchanged. One possibility here is to point to master instead of point to a commit. I suppose this should be possible: |
8a488b0 to
72cadc1
Compare
Use setup-rbmt directly in workflows, regenerate minimal/recent lockfiles, and remove the stale mutagen lint override.
72cadc1 to
30686ad
Compare
|
Latest commit fixes lint errors by constraining feature flags. |
|
Looks good to me! PR description is stale mate, still mentions |
|
Merged this but FYI it does not update the weekly cronjob, so we are updating the nightly version in the wrong place. (Noticed when porting this to rust-elemnets.) |
b8a32c9 ci: unify nightly embedded version on Cargo.toml (satsfy (Renato Britto)) a924cdc ci: migrate nightly update to rbmt on Cargo.toml (satsfy (Renato Britto)) Pull request description: Follow up from #254 (comment) After the rbmt CI migration, most jobs were already consuming nightly from `[package.metadata.rbmt.toolchains]` in `Cargo.toml`, but the weekly updater still wrote `nightly-version`. This change makes `Cargo.toml` the single nightly source of truth across the updater and CI jobs. Changes: - update weekly nightly cron to use `cargo rbmt toolchains --update-nightly.` Replicates rust-bitcoin CI closely. - `nightly-version` removed. - migrate Embedded CI job to read nightly from `Cargo.toml` instead of `nightly-version.` Validated in personal fork CI: - The CI run (didn't create the PR because it wasn't allowed): https://github.com/satsfy/rust-bech32/actions/runs/24799694669/job/72578713007 - PR produced: https://github.com/satsfy/rust-bech32/compare/master...satsfy:rust-bech32:create-pull-request/weekly-nightly-update?expand=1 ACKs for top commit: apoelstra: ACK b8a32c9; successfully ran local tests Tree-SHA512: f2381f1c13eaebcb6e256bf82ee110dab9bf1fe2615a0075b9953e0fd808d4b8f94f1f49568522dc99193f6e1a5ae9619a60cf3b77c084027d9236a8fa206bf1
This PR migrates CI from
contrib/test.shtocargo rbmt. It continues PR #234.It also:
rust-version = "1.56.1"inCargo.tomlcontrib/test.shworkflowsetup-rbmtactionNo library behavior is intended to change.