Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@ jobs:
run: cargo test --locked --test ledger --test ledger_posix_lock --test ledger_lock_aliases --test ledger_retry --test ledger_durability

msrv:
name: Rust 1.88 minimum
name: Rust 1.90 minimum
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.88.0
toolchain: 1.90.0
- uses: Swatinem/rust-cache@v2
# `time` 0.3.55 (cyclonedx-bom) declares rust-version 1.88.0. Cargo
# 1.83 cannot parse the edition2024 manifests those crates ship.
# `ordered-float` 5.5.1 declares rust-version 1.90. `uuid` 1.29.0
# declares 1.89.0. Cargo 1.89 rejects the lockfile on ordered-float.
- name: Locked all-targets build
run: cargo build --locked --all-targets

Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ only when `EB_STACK_ALLOW_BUILD=1`.

## Build, test, lint, and docs

Rust 1.88 is the minimum. CI uses current stable. Run builds and tests on
Rust 1.90 is the minimum. CI uses current stable. Run builds and tests on
the repository's configured build machine when local compilation is prohibited.

```sh
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

All notable changes to this project are documented here.

## Unreleased

### Changed

- Rust 1.90 is the minimum. `ordered-float` 5.5.1 sets `rust-version`
1.90. `uuid` 1.29.0 sets 1.89.0. The CI minimum job builds every
target with that compiler.

## 0.4.0 - 2026-11-05

### Changed
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ win.

## Development environment

Rust 1.88 is the minimum supported toolchain; current stable is used for the
Rust 1.90 is the minimum supported toolchain; current stable is used for the
main test and lint gates. [pixi](https://pixi.sh) provides docs and optional
dev tasks:

Expand Down
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
name = "eb_stack"
version = "0.4.0"
edition = "2021"
# Floor is 1.88.0: `time` 0.3.55, pulled in by cyclonedx-bom, sets
# rust-version 1.88.0. Edition 2024 dependencies need Cargo 1.85, below that.
rust-version = "1.88"
# Floor is 1.90: `ordered-float` 5.5.1 sets rust-version 1.90.
# `uuid` 1.29.0 sets 1.89.0. Edition 2024 dependencies need Cargo 1.85.
rust-version = "1.90"
description = "Turn conda-forge, Spack, and EasyBuild recipes into Resolvo-solved variants, CycloneDX SBOMs, and build-evaluated package bundles"
license = "MIT"
authors = ["Rohit Goswami <rgoswami@ieee.org>"]
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Report these claims independently:
## Install

The crate is `eb_stack` on crates.io; the installed binary is `eb-stack`.
Rust 1.88 or newer is required when building from source. `rustc` 1.83
Rust 1.90 or newer is required when building from source. `rustc` 1.83
stops while reading the crate index: the Cargo feature `edition2024` is
not stabilized. `rustup toolchain install stable` and `rustup default
stable` provide a new enough compiler.
Expand Down
2 changes: 1 addition & 1 deletion docs/orgmode/contributing.org
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ repo root; keep them aligned when you change either.

* Development environment

Rust 1.88 is the minimum supported toolchain; current stable runs the main test
Rust 1.90 is the minimum supported toolchain; current stable runs the main test
and lint gates. Documentation uses [[https://pixi.sh][pixi]]:

#+begin_src bash
Expand Down
2 changes: 1 addition & 1 deletion docs/orgmode/index.org
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ Build from main for ``stack gap``, ``stack oom``, ``stack from-commit``, ``rebui

* Install

Rust 1.88 or newer. ~rustc~ 1.83 stops while reading the crate index:
Rust 1.90 or newer. ~rustc~ 1.83 stops while reading the crate index:
the Cargo feature ~edition2024~ is not stabilized. With rustup:

#+begin_src bash
Expand Down
2 changes: 1 addition & 1 deletion docs/orgmode/reference/mcp.org
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ and the client then runs that binary by name.

* Build the binary

Rust 1.88 or newer builds this tree. The binary that the snippets below
Rust 1.90 or newer builds this tree. The binary that the snippets below
call is ~eb-stack~.

#+begin_src bash
Expand Down
6 changes: 3 additions & 3 deletions llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ This file is the manual in one document. The short index is llms.txt.

# Install

Rust 1.88 or newer. `rustc` 1.83 stops while reading the crate index:
Rust 1.90 or newer. `rustc` 1.83 stops while reading the crate index:
the Cargo feature `edition2024` is not stabilized. With rustup:

```bash
Expand Down Expand Up @@ -8376,7 +8376,7 @@ and the client then runs that binary by name.

# Build the binary

Rust 1.88 or newer builds this tree. The binary that the snippets below
Rust 1.90 or newer builds this tree. The binary that the snippets below
call is `eb-stack`.

```bash
Expand Down Expand Up @@ -12515,7 +12515,7 @@ repo root; keep them aligned when you change either.

# Development environment

Rust 1.88 is the minimum supported toolchain; current stable runs the main test
Rust 1.90 is the minimum supported toolchain; current stable runs the main test
and lint gates. Documentation uses [pixi](https://pixi.sh):

```bash
Expand Down
2 changes: 1 addition & 1 deletion llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> eb-stack parses conda-forge, Spack, PyPI, CRAN, Cargo, LuaRocks, Raku, and EasyBuild recipes into one package plan, a planned CycloneDX SBOM, Resolvo locks, and conventional EasyBuild recipes.

The binary is `eb-stack`. The crate is `eb_stack`. Rust 1.88 or newer builds it from source. Each link below is the markdown form of a page on https://eb-stack.rgoswami.me/. `llms-full.txt` repeats those pages in one file. Contribution guidelines are in CONTRIBUTING.md. The Model Context Protocol server is `eb-stack mcp`.
The binary is `eb-stack`. The crate is `eb_stack`. Rust 1.90 or newer builds it from source. Each link below is the markdown form of a page on https://eb-stack.rgoswami.me/. `llms-full.txt` repeats those pages in one file. Contribution guidelines are in CONTRIBUTING.md. The Model Context Protocol server is `eb-stack mcp`.

## Getting started

Expand Down
2 changes: 1 addition & 1 deletion scripts/gen-llms-txt.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ def render_index(pages: list[dict[str, str]]) -> str:
+ "Raku, and EasyBuild recipes into one package plan, a planned "
+ "CycloneDX SBOM, Resolvo locks, and conventional EasyBuild recipes.",
"",
"The binary is `eb-stack`. The crate is `eb_stack`. Rust 1.88 or "
"The binary is `eb-stack`. The crate is `eb_stack`. Rust 1.90 or "
"newer builds it from source. Each link below is the markdown form "
"of a page on https://eb-stack.rgoswami.me/. `llms-full.txt` repeats "
"those pages in one file. Contribution guidelines are in CONTRIBUTING.md. "
Expand Down
4 changes: 2 additions & 2 deletions tests/public_metadata.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,12 +161,12 @@ fn local_agent_state_stays_out_of_public_commits() {
#[test]
fn ci_enforces_the_declared_msrv_and_quality_gates() {
let cargo = std::fs::read_to_string(repo().join("Cargo.toml")).expect("read Cargo.toml");
assert!(cargo.contains("rust-version = \"1.88\""));
assert!(cargo.contains("rust-version = \"1.90\""));

let ci = std::fs::read_to_string(repo().join(".github/workflows/ci_test.yml"))
.expect("read test workflow");
for command in [
"toolchain: 1.88.0",
"toolchain: 1.90.0",
"cargo build --locked --all-targets",
"cargo fmt --all --check",
"cargo clippy --locked --all-targets -- -D warnings",
Expand Down
Loading