Skip to content

Commit d56e2ea

Browse files
committed
Consolidate CI jobs
rust-psbt is adding more cargo-rbmt checks which may up the number of CI jobs. We can fold a few of these into each other now to stay under the max of 20 in the github free tier.
1 parent ebb0d07 commit d56e2ea

File tree

2 files changed

+17
-50
lines changed

2 files changed

+17
-50
lines changed

.github/workflows/README.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

.github/workflows/rust.yml

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
--- # rust-psbt CI: If you edit this file please update README.md
1+
---
2+
# rust-psbt CI
3+
#
4+
# Keep total parallel jobs under 20, the GitHub free tier limit.
5+
# Current structure uses matrix strategy for test jobs (Stable/Nightly/MSRV)
6+
# with 2 lock files each (minimal/recent) which each count as a job.
7+
#
8+
# ref: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
9+
210
on: # yamllint disable-line rule:truthy
311
push:
412
branches:
513
- master
6-
- 'test-ci/**'
714
pull_request:
815

9-
name: Continuous integration
16+
name: Continuous Integration
1017

1118
jobs:
1219
Stable: # 2 jobs, one per lock file.
@@ -20,7 +27,7 @@ jobs:
2027
- uses: actions/checkout@v6
2128
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
2229
- name: "Run tests"
23-
run: cargo rbmt test stable --lock-file ${{ matrix.dep }}
30+
run: cargo +${{ steps.setup.outputs.stable-version }} rbmt test stable --lock-file ${{ matrix.dep }}
2431

2532
Nightly: # 2 jobs, one per lock file.
2633
name: Test - nightly toolchain
@@ -52,52 +59,33 @@ jobs:
5259
run: cargo +1.74.0 rbmt test msrv --lock-file ${{ matrix.dep }}
5360

5461
Lint:
55-
name: Lint - nightly toolchain
62+
name: Format and Lint
5663
runs-on: ubuntu-latest
5764
strategy:
5865
fail-fast: false
5966
steps:
6067
- uses: actions/checkout@v6
6168
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
6269
id: setup
70+
- name: "Check formatting"
71+
run: cargo +${{ steps.setup.outputs.nightly-version }} fmt --all -- --check
6372
- name: "Run lint"
6473
run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt lint
6574

6675
Docs:
67-
name: Docs - stable toolchain
68-
runs-on: ubuntu-latest
69-
strategy:
70-
fail-fast: false
71-
steps:
72-
- uses: actions/checkout@v6
73-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
74-
- name: "Build docs"
75-
run: cargo rbmt docs
76-
77-
Docsrs:
78-
name: Docs - nightly toolchain
76+
name: Docs and Docs.rs
7977
runs-on: ubuntu-latest
8078
strategy:
8179
fail-fast: false
8280
steps:
8381
- uses: actions/checkout@v6
8482
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
8583
id: setup
84+
- name: "Build docs"
85+
run: cargo +${{ steps.setup.outputs.stable-version }} rbmt docs
8686
- name: "Build docs.rs docs"
8787
run: cargo +${{ steps.setup.outputs.nightly-version }} rbmt docsrs
8888

89-
Format: # 1 job, run cargo fmt directly.
90-
name: Format - nightly toolchain
91-
runs-on: ubuntu-latest
92-
strategy:
93-
fail-fast: false
94-
steps:
95-
- uses: actions/checkout@v6
96-
- uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@master
97-
id: setup
98-
- name: "Check formatting"
99-
run: cargo +${{ steps.setup.outputs.nightly-version }} fmt --all -- --check
100-
10189
Integration: # 1 job, run bitcoin core integration tests using rbmt.
10290
name: Integration - against bitcoind
10391
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)