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"))