From 2067a564ce1a2d7a4454700e3bb75aac443c9a1b Mon Sep 17 00:00:00 2001 From: jh-block Date: Tue, 21 Apr 2026 18:03:11 +0200 Subject: [PATCH] ci: declare and enforce MSRV of 1.91.1 (#8670) Signed-off-by: jh-block --- .github/workflows/ci.yml | 37 ++++++++++++++++++++++++++++ Cargo.toml | 1 + crates/goose-acp-macros/Cargo.toml | 1 + crates/goose-acp/Cargo.toml | 1 + crates/goose-cli/Cargo.toml | 1 + crates/goose-mcp/Cargo.toml | 1 + crates/goose-sdk/Cargo.toml | 1 + crates/goose-server/Cargo.toml | 1 + crates/goose-test-support/Cargo.toml | 1 + crates/goose-test/Cargo.toml | 1 + crates/goose/Cargo.toml | 1 + 11 files changed, 47 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03115d5624..8cea74121f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -100,6 +100,43 @@ jobs: env: CARGO_INCREMENTAL: "0" + rust-msrv: + name: Check MSRV + runs-on: ubuntu-latest + needs: changes + if: needs.changes.outputs.code == 'true' || github.event_name != 'pull_request' + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + + - name: Read MSRV from Cargo.toml + id: msrv + run: | + msrv=$(sed -n 's/^rust-version = "\(.*\)"$/\1/p' Cargo.toml) + if [ -z "$msrv" ]; then + echo "Could not find rust-version in workspace Cargo.toml" >&2 + exit 1 + fi + echo "msrv=$msrv" >> "$GITHUB_OUTPUT" + echo "MSRV: $msrv" + + - uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1 + with: + toolchain: ${{ steps.msrv.outputs.msrv }} + + - name: Install Dependencies + run: | + sudo apt update -y + sudo apt install -y libdbus-1-dev libxcb1-dev + + - uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2 + with: + key: msrv + + - name: Check with MSRV toolchain + run: cargo check --workspace --locked --all-targets + env: + CARGO_INCREMENTAL: "0" + rust-lint: name: Lint Rust Code runs-on: ubuntu-latest diff --git a/Cargo.toml b/Cargo.toml index 555f409518..2dfa92b929 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ resolver = "2" [workspace.package] edition = "2021" version = "1.31.0" +rust-version = "1.91.1" authors = ["AAIF "] license = "Apache-2.0" repository = "https://github.com/aaif-goose/goose" diff --git a/crates/goose-acp-macros/Cargo.toml b/crates/goose-acp-macros/Cargo.toml index 43c428e325..982f87638d 100644 --- a/crates/goose-acp-macros/Cargo.toml +++ b/crates/goose-acp-macros/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "goose-acp-macros" edition.workspace = true +rust-version.workspace = true version.workspace = true authors.workspace = true license.workspace = true diff --git a/crates/goose-acp/Cargo.toml b/crates/goose-acp/Cargo.toml index a7200146b8..7a93e340f1 100644 --- a/crates/goose-acp/Cargo.toml +++ b/crates/goose-acp/Cargo.toml @@ -2,6 +2,7 @@ name = "goose-acp" version.workspace = true edition.workspace = true +rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/goose-cli/Cargo.toml b/crates/goose-cli/Cargo.toml index 369cd59606..79a1aeb36b 100644 --- a/crates/goose-cli/Cargo.toml +++ b/crates/goose-cli/Cargo.toml @@ -2,6 +2,7 @@ name = "goose-cli" version.workspace = true edition.workspace = true +rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/goose-mcp/Cargo.toml b/crates/goose-mcp/Cargo.toml index f1e5dfc928..755aab4681 100644 --- a/crates/goose-mcp/Cargo.toml +++ b/crates/goose-mcp/Cargo.toml @@ -2,6 +2,7 @@ name = "goose-mcp" version.workspace = true edition.workspace = true +rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/goose-sdk/Cargo.toml b/crates/goose-sdk/Cargo.toml index 6eef747a3c..18fa86dafe 100644 --- a/crates/goose-sdk/Cargo.toml +++ b/crates/goose-sdk/Cargo.toml @@ -2,6 +2,7 @@ name = "goose-sdk" version.workspace = true edition.workspace = true +rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/goose-server/Cargo.toml b/crates/goose-server/Cargo.toml index 2045caa67c..46850dd6ad 100644 --- a/crates/goose-server/Cargo.toml +++ b/crates/goose-server/Cargo.toml @@ -2,6 +2,7 @@ name = "goose-server" version.workspace = true edition.workspace = true +rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/goose-test-support/Cargo.toml b/crates/goose-test-support/Cargo.toml index 169779336f..02cd360f6c 100644 --- a/crates/goose-test-support/Cargo.toml +++ b/crates/goose-test-support/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "goose-test-support" edition.workspace = true +rust-version.workspace = true version.workspace = true authors.workspace = true license.workspace = true diff --git a/crates/goose-test/Cargo.toml b/crates/goose-test/Cargo.toml index bae6ce32d0..21f84b372d 100644 --- a/crates/goose-test/Cargo.toml +++ b/crates/goose-test/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "goose-test" edition.workspace = true +rust-version.workspace = true version.workspace = true authors.workspace = true license.workspace = true diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml index d99551c0c7..be69196353 100644 --- a/crates/goose/Cargo.toml +++ b/crates/goose/Cargo.toml @@ -2,6 +2,7 @@ name = "goose" version.workspace = true edition.workspace = true +rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true