Skip to content

Commit 9f31b67

Browse files
committed
ci: update cargo-rbmt and adopt toolchain mgmt
1 parent 3c07e8a commit 9f31b67

File tree

4 files changed

+29
-71
lines changed

4 files changed

+29
-71
lines changed

.github/workflows/rust.yml

Lines changed: 17 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -13,114 +13,73 @@ on: # yamllint disable-line rule:truthy
1313
name: Continuous Integration
1414

1515
jobs:
16-
Stable: # 2 jobs, one per lock file.
17-
name: Test - stable toolchain
16+
Test:
1817
runs-on: ubuntu-latest
1918
strategy:
2019
fail-fast: false
2120
matrix:
21+
toolchain: [stable, nightly, msrv]
2222
dep: [minimal, recent]
2323
steps:
2424
- uses: actions/checkout@v6
25-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
26-
id: setup
25+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
2726
- name: "Run tests"
28-
run: cargo +${{ steps.setup.outputs.stable-version }} rbmt test stable --lock-file ${{ matrix.dep }}
29-
30-
Nightly: # 2 jobs, one per lock file.
31-
name: Test - nightly toolchain
32-
runs-on: ubuntu-latest
33-
strategy:
34-
fail-fast: false
35-
matrix:
36-
dep: [minimal, recent]
37-
steps:
38-
- uses: actions/checkout@v6
39-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
40-
id: setup
41-
- name: "Run tests"
42-
run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt test nightly --lock-file ${{ matrix.dep }}
43-
44-
MSRV: # 2 jobs, one per lock file.
45-
name: Test - MSRV toolchain
46-
runs-on: ubuntu-latest
47-
strategy:
48-
fail-fast: false
49-
matrix:
50-
dep: [minimal, recent]
51-
steps:
52-
- uses: actions/checkout@v6
53-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
54-
with:
55-
toolchains: "1.74.0"
56-
- name: "Run tests"
57-
run: cargo +1.74.0 rbmt test msrv --lock-file ${{ matrix.dep }}
27+
run: cargo rbmt --lock-file ${{ matrix.dep }} test --toolchain ${{ matrix.toolchain }}
5828

5929
Lint:
60-
name: Lint - nightly toolchain
6130
runs-on: ubuntu-latest
6231
strategy:
6332
fail-fast: false
6433
steps:
6534
- uses: actions/checkout@v6
66-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
67-
id: setup
35+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
6836
- name: "Run lint"
69-
run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt lint
37+
run: cargo rbmt lint
7038

7139
API:
72-
name: API check
7340
runs-on: ubuntu-latest
7441
strategy:
7542
fail-fast: false
7643
steps:
7744
- uses: actions/checkout@v6
78-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
79-
id: setup
45+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
8046
- name: "Run API check"
81-
run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt api
47+
run: cargo rbmt api
8248

8349
Docs:
84-
name: Docs - stable toolchain
8550
runs-on: ubuntu-latest
8651
strategy:
8752
fail-fast: false
8853
steps:
8954
- uses: actions/checkout@v6
90-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
91-
id: setup
55+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
9256
- name: "Build docs"
93-
run: cargo +${{ steps.setup.outputs.stable-version }} rbmt docs
57+
run: cargo rbmt docs
9458

9559
Docsrs:
96-
name: Docs - nightly toolchain
9760
runs-on: ubuntu-latest
9861
strategy:
9962
fail-fast: false
10063
steps:
10164
- uses: actions/checkout@v6
102-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
103-
id: setup
65+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
10466
- name: "Build docs.rs docs"
105-
run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt docsrs
67+
run: cargo rbmt docsrs
10668

107-
Format: # 1 job, run cargo fmt directly.
108-
name: Format - nightly toolchain
69+
Format:
10970
runs-on: ubuntu-latest
11071
strategy:
11172
fail-fast: false
11273
steps:
11374
- uses: actions/checkout@v6
114-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
115-
id: setup
75+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
11676
- name: "Check formatting"
117-
run: cargo +${{ steps.setup.outputs.nightly-version }} fmt --all -- --check
77+
run: cargo rbmt fmt --check
11878

119-
Integration: # 1 job, run bitcoin core integration tests using rbmt.
120-
name: Integration - against bitcoind
79+
Integration:
12180
runs-on: ubuntu-latest
12281
steps:
12382
- uses: actions/checkout@v6
124-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
83+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@18e7f1788abfc14f5fb76204a3deab43b03ba39c
12584
- name: "Run integration tests"
12685
run: cargo rbmt integration

.github/workflows/update-toolchains.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v6
17-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-nightly@320a06a6647c90ac97452b20fad5b689905a9791
17+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-nightly@18e7f1788abfc14f5fb76204a3deab43b03ba39c
1818
with:
1919
token: ${{ secrets.RBMT_PRS }}
20-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-stable@320a06a6647c90ac97452b20fad5b689905a9791
20+
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/update-stable@18e7f1788abfc14f5fb76204a3deab43b03ba39c
2121
with:
2222
token: ${{ secrets.RBMT_PRS }}

justfile

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ _default:
77
# Install rbmt (Rust Bitcoin Maintainer Tools).
88
@_install-rbmt:
99
cargo install --quiet --git https://github.com/rust-bitcoin/rust-bitcoin-maintainer-tools.git --rev $(cat {{justfile_directory()}}/rbmt-version) cargo-rbmt
10+
RBMT_LOG_LEVEL=quiet cargo rbmt toolchains > /dev/null
1011

1112
# Cargo check everything.
1213
check:
@@ -40,26 +41,24 @@ docsrs *flags:
4041
# Update the recent and minimal lock files using rbmt.
4142
[group('tools')]
4243
@update-lock-files: _install-rbmt
43-
rustup run {{NIGHTLY_VERSION}} cargo rbmt lock
44+
cargo rbmt lock
4445

4546
# Ensure the exposed API files in api/ are up-to-date.
4647
[group('tools')]
4748
check-api: _install-rbmt
48-
cargo +{{NIGHTLY_VERSION}} rbmt api
49-
50-
# Run CI tasks with rbmt.
51-
[group('ci')]
52-
@ci task toolchain="stable" lock="recent": _install-rbmt
53-
RBMT_LOG_LEVEL=quiet rustup run {{toolchain}} cargo rbmt --lock-file {{lock}} {{task}}
49+
cargo rbmt api
5450

5551
# Test crate.
5652
[group('ci')]
57-
ci-test: (ci "test stable")
53+
ci-test toolchain="stable" lock="recent": _install-rbmt
54+
cargo rbmt --lock-file {{lock}} test --toolchain {{toolchain}}
5855

5956
# Lint crate.
6057
[group('ci')]
61-
ci-lint: (ci "lint" NIGHTLY_VERSION)
58+
ci-lint: _install-rbmt
59+
cargo rbmt lint
6260

6361
# Bitcoin core integration tests.
6462
[group('ci')]
65-
ci-integration: (ci "integration")
63+
ci-integration: _install-rbmt
64+
cargo rbmt integration

rbmt-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
257e19f400ab1bfa51c2051b5551d92f75b5f738
1+
18e7f1788abfc14f5fb76204a3deab43b03ba39c

0 commit comments

Comments
 (0)