Skip to content

Commit d1fd551

Browse files
committed
ci: enforce Rust 1.88 and quality gates
1 parent 6902bf8 commit d1fd551

6 files changed

Lines changed: 37 additions & 5 deletions

File tree

‎.github/workflows/ci_test.yml‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,34 @@ concurrency:
1414
cancel-in-progress: true
1515

1616
jobs:
17+
quality:
18+
name: format, clippy, and public metadata
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: dtolnay/rust-toolchain@stable
23+
with:
24+
components: rustfmt, clippy
25+
- uses: Swatinem/rust-cache@v2
26+
- name: Rust formatting
27+
run: cargo fmt --all --check
28+
- name: Clippy
29+
run: cargo clippy --locked --all-targets -- -D warnings
30+
- name: Public metadata contract
31+
run: cargo test --locked --test public_metadata
32+
33+
msrv:
34+
name: Rust 1.88 minimum
35+
runs-on: ubuntu-latest
36+
steps:
37+
- uses: actions/checkout@v4
38+
- uses: dtolnay/rust-toolchain@master
39+
with:
40+
toolchain: 1.88.0
41+
- uses: Swatinem/rust-cache@v2
42+
- name: Locked all-targets check
43+
run: cargo check --locked --all-targets
44+
1745
unit:
1846
name: cargo test --lib
1947
runs-on: ubuntu-latest

‎CHANGELOG.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ All notable changes to this unreleased project are documented here.
4040
mechanical.
4141
- Documentation, examples, CI, and acceptance fixtures use only the
4242
version-one command and MCP names.
43+
- CI enforces the Rust 1.88 minimum, formatting, clippy with warnings denied,
44+
and public metadata contracts.
4345

4446
### Removed
4547

‎CONTRIBUTING.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ co-selection, and reviewable reports. Clear, tested, reproducible changes win.
66

77
## Development environment
88

9-
Rust stable is enough for the library and CLI. Documentation uses
10-
[pixi](https://pixi.sh):
9+
Rust 1.88 is the minimum supported toolchain; current stable is used for the
10+
main test and lint gates. Documentation uses [pixi](https://pixi.sh):
1111

1212
```bash
1313
cargo test --locked --lib

‎Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "eb_stack"
33
version = "0.3.0"
44
edition = "2021"
5-
rust-version = "1.75"
5+
rust-version = "1.88"
66
description = "Turn conda-forge, Spack, and EasyBuild recipes into Resolvo-solved variants, CycloneDX SBOMs, and build-evaluated package bundles"
77
license = "MIT"
88
authors = ["Rohit Goswami <rgoswami@ieee.org>"]

‎README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ Report these claims independently:
4545

4646
## Install
4747

48+
Rust 1.88 or newer is required for the locked dependency graph.
49+
4850
```sh
4951
git clone https://github.com/HaoZeke/eb-stack.git
5052
cd eb-stack

‎docs/orgmode/contributing.org‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ repo root; keep them aligned when you change either.
77

88
* Development environment
99

10-
Rust stable builds the library and CLI. Documentation uses
11-
[[https://pixi.sh][pixi]]:
10+
Rust 1.88 is the minimum supported toolchain; current stable runs the main test
11+
and lint gates. Documentation uses [[https://pixi.sh][pixi]]:
1212

1313
#+begin_src bash
1414
cargo test --locked --lib

0 commit comments

Comments
 (0)