From 27470465a714ea58b91c9531ed4c96b8275f6797 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Fri, 14 Aug 2026 09:09:29 +0000 Subject: [PATCH] Bootstrap Rust in release jobs. --- .gitea/workflows/release.yml | 26 +++++++++++++++++++++---- crates/bds-ui/tests/packaging_assets.rs | 7 +++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 4d6fff6..0d65e57 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -21,7 +21,11 @@ jobs: fetch-depth: 0 - name: Install the release Rust toolchain - run: rustup toolchain install ${RUST_TOOLCHAIN} --profile minimal + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + cache: false + rustflags: "" - name: Test release tooling run: cargo +${RUST_TOOLCHAIN} test --locked --package bds-release @@ -101,7 +105,12 @@ jobs: run: sh .gitea/scripts/install-linux-build-dependencies.sh arm64 - name: Install the release Rust target - run: rustup toolchain install ${RUST_TOOLCHAIN} --profile minimal --target aarch64-unknown-linux-gnu + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + target: aarch64-unknown-linux-gnu + cache: false + rustflags: "" - name: Build, package, and upload Linux arm64 release env: @@ -138,7 +147,12 @@ jobs: run: sh .gitea/scripts/install-linux-build-dependencies.sh x64 - name: Install the release Rust target - run: rustup toolchain install ${RUST_TOOLCHAIN} --profile minimal --target x86_64-unknown-linux-gnu + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + target: x86_64-unknown-linux-gnu + cache: false + rustflags: "" - name: Build, package, and upload Linux x64 release env: @@ -208,7 +222,11 @@ jobs: uses: actions/checkout@v4 - name: Install the release Rust toolchain - run: rustup toolchain install ${RUST_TOOLCHAIN} --profile minimal + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + cache: false + rustflags: "" - name: Publish complete release env: diff --git a/crates/bds-ui/tests/packaging_assets.rs b/crates/bds-ui/tests/packaging_assets.rs index 358eb38..2cee168 100644 --- a/crates/bds-ui/tests/packaging_assets.rs +++ b/crates/bds-ui/tests/packaging_assets.rs @@ -143,6 +143,13 @@ fn tagged_releases_are_built_and_packaged_with_rust_tools() { "release workflow must not use host tool {forbidden}" ); } + assert_eq!( + workflow + .matches("actions-rust-lang/setup-rust-toolchain@v1") + .count(), + 4, + "every release job using the Ubuntu runner image must bootstrap Rust" + ); let linux_dependencies = fs::read_to_string(workspace.join(".gitea/scripts/install-linux-build-dependencies.sh"))