From 7dfe6a5540e5ed58777e106044357f08f0c0b1a1 Mon Sep 17 00:00:00 2001 From: Ondra Pelech Date: Mon, 22 Dec 2025 01:48:10 +0100 Subject: [PATCH 1/5] Use setup-rust action in GHA workflows Signed-off-by: Ondra Pelech --- .github/workflows/autovendor.yml | 2 +- .github/workflows/build-and-publish.yml | 1 + .github/workflows/ci.yml | 1 + .github/workflows/crates-release.yml | 1 + .github/workflows/release.yml | 7 ++----- .github/workflows/scheduled-release.yml | 2 ++ crates/ostree-ext/.github/workflows/rust.yml | 18 +++--------------- 7 files changed, 11 insertions(+), 21 deletions(-) diff --git a/.github/workflows/autovendor.yml b/.github/workflows/autovendor.yml index 689e2bec5..b89e318ec 100644 --- a/.github/workflows/autovendor.yml +++ b/.github/workflows/autovendor.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: dtolnay/rust-toolchain@stable + - uses: ./.github/actions/setup-rust - name: Install vendor tool run: cargo install cargo-vendor-filterer - name: Run diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 817778f9b..bbb2dcbe7 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -29,6 +29,7 @@ jobs: - uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup + - uses: ./.github/actions/setup-rust - name: Setup env run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4bb812a8..20d342b39 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,6 +58,7 @@ jobs: uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup + - uses: ./.github/actions/setup-rust - name: Enable fsverity for / run: sudo tune2fs -O verity $(findmnt -vno SOURCE /) - name: Install utils diff --git a/.github/workflows/crates-release.yml b/.github/workflows/crates-release.yml index 558af5a9f..91a144cf3 100644 --- a/.github/workflows/crates-release.yml +++ b/.github/workflows/crates-release.yml @@ -10,6 +10,7 @@ jobs: id-token: write # Required for OIDC token exchange steps: - uses: actions/checkout@v6 + - uses: ./.github/actions/setup-rust - uses: rust-lang/crates-io-auth-action@v1 id: auth - run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9e5089e4d..362ab7929 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,8 @@ jobs: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} + - uses: ./.github/actions/setup-rust + - name: Extract version id: extract_version run: | @@ -82,11 +84,6 @@ jobs: - name: Install vendor tool run: cargo install cargo-vendor-filterer - - name: Cache Dependencies - uses: Swatinem/rust-cache@v2 - with: - key: "release" - - name: Run cargo xtask package run: cargo xtask package diff --git a/.github/workflows/scheduled-release.yml b/.github/workflows/scheduled-release.yml index fb80f26b6..5908844e2 100644 --- a/.github/workflows/scheduled-release.yml +++ b/.github/workflows/scheduled-release.yml @@ -38,6 +38,8 @@ jobs: - name: Mark git checkout as safe run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + - uses: ./.github/actions/setup-rust + - name: Check if it's time for a release id: check_schedule run: | diff --git a/crates/ostree-ext/.github/workflows/rust.yml b/crates/ostree-ext/.github/workflows/rust.yml index c575b843e..dd96bb516 100644 --- a/crates/ostree-ext/.github/workflows/rust.yml +++ b/crates/ostree-ext/.github/workflows/rust.yml @@ -27,10 +27,7 @@ jobs: - name: Install deps run: ./ci/installdeps.sh # xref containers/containers-image-proxy-rs - - name: Cache Dependencies - uses: Swatinem/rust-cache@v2 - with: - key: "tests" + - uses: ./.github/actions/setup-rust - name: cargo fmt (check) run: cargo fmt -- --check -l - name: Build @@ -50,10 +47,7 @@ jobs: - uses: actions/checkout@v6 - name: Install deps run: ./ci/installdeps.sh - - name: Cache Dependencies - uses: Swatinem/rust-cache@v2 - with: - key: "build" + - uses: ./.github/actions/setup-rust - name: Build run: cargo build --release --features=internal-testing-api - name: Upload binary @@ -79,13 +73,7 @@ jobs: echo "ACTION_MSRV_TOOLCHAIN=$msrv" >> $GITHUB_ENV - name: Remove system Rust toolchain run: dnf remove -y rust cargo - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ env['ACTION_MSRV_TOOLCHAIN'] }} - - name: Cache Dependencies - uses: Swatinem/rust-cache@v2 - with: - key: "min" + - uses: ./.github/actions/setup-rust - name: cargo check run: cargo check cargo-deny: From afae17686d52691f6771c1e6c0d794454e2097ae Mon Sep 17 00:00:00 2001 From: Ondra Pelech Date: Mon, 22 Dec 2025 02:08:58 +0100 Subject: [PATCH 2/5] Add name Signed-off-by: Ondra Pelech --- .github/actions/setup-rust/action.yml | 1 + .github/workflows/autovendor.yml | 3 ++- .github/workflows/build-and-publish.yml | 3 ++- .github/workflows/ci.yml | 5 ++++- .github/workflows/crates-release.yml | 3 ++- .github/workflows/release.yml | 3 ++- .github/workflows/scheduled-release.yml | 3 ++- crates/ostree-ext/.github/workflows/rust.yml | 9 ++++++--- 8 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/actions/setup-rust/action.yml b/.github/actions/setup-rust/action.yml index f2f5e0673..32a8f9a04 100644 --- a/.github/actions/setup-rust/action.yml +++ b/.github/actions/setup-rust/action.yml @@ -3,6 +3,7 @@ description: 'Install Rust toolchain with caching and nextest' runs: using: 'composite' steps: + - run: export CARGO_INCREMENTAL=1 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Install nextest diff --git a/.github/workflows/autovendor.yml b/.github/workflows/autovendor.yml index b89e318ec..175b5a653 100644 --- a/.github/workflows/autovendor.yml +++ b/.github/workflows/autovendor.yml @@ -13,7 +13,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Install vendor tool run: cargo install cargo-vendor-filterer - name: Run diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index bbb2dcbe7..da776618a 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -29,7 +29,8 @@ jobs: - uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Setup env run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 20d342b39..2e2066d81 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,8 @@ jobs: uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Enable fsverity for / run: sudo tune2fs -O verity $(findmnt -vno SOURCE /) - name: Install utils @@ -129,6 +130,8 @@ jobs: - uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Setup env run: | diff --git a/.github/workflows/crates-release.yml b/.github/workflows/crates-release.yml index 91a144cf3..26fde4ce0 100644 --- a/.github/workflows/crates-release.yml +++ b/.github/workflows/crates-release.yml @@ -10,7 +10,8 @@ jobs: id-token: write # Required for OIDC token exchange steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - uses: rust-lang/crates-io-auth-action@v1 id: auth - run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 362ab7929..82745926d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,8 @@ jobs: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Extract version id: extract_version diff --git a/.github/workflows/scheduled-release.yml b/.github/workflows/scheduled-release.yml index 5908844e2..4026dfb4d 100644 --- a/.github/workflows/scheduled-release.yml +++ b/.github/workflows/scheduled-release.yml @@ -38,7 +38,8 @@ jobs: - name: Mark git checkout as safe run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Check if it's time for a release id: check_schedule diff --git a/crates/ostree-ext/.github/workflows/rust.yml b/crates/ostree-ext/.github/workflows/rust.yml index dd96bb516..a124066bc 100644 --- a/crates/ostree-ext/.github/workflows/rust.yml +++ b/crates/ostree-ext/.github/workflows/rust.yml @@ -27,7 +27,8 @@ jobs: - name: Install deps run: ./ci/installdeps.sh # xref containers/containers-image-proxy-rs - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: cargo fmt (check) run: cargo fmt -- --check -l - name: Build @@ -47,7 +48,8 @@ jobs: - uses: actions/checkout@v6 - name: Install deps run: ./ci/installdeps.sh - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Build run: cargo build --release --features=internal-testing-api - name: Upload binary @@ -73,7 +75,8 @@ jobs: echo "ACTION_MSRV_TOOLCHAIN=$msrv" >> $GITHUB_ENV - name: Remove system Rust toolchain run: dnf remove -y rust cargo - - uses: ./.github/actions/setup-rust + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: cargo check run: cargo check cargo-deny: From 61fa7079c1808a6a8c3cb227b8c0d619e14b9631 Mon Sep 17 00:00:00 2001 From: Ondra Pelech Date: Mon, 22 Dec 2025 02:14:09 +0100 Subject: [PATCH 3/5] Add shell Signed-off-by: Ondra Pelech --- .github/actions/setup-rust/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/setup-rust/action.yml b/.github/actions/setup-rust/action.yml index 32a8f9a04..cc43e7156 100644 --- a/.github/actions/setup-rust/action.yml +++ b/.github/actions/setup-rust/action.yml @@ -4,6 +4,7 @@ runs: using: 'composite' steps: - run: export CARGO_INCREMENTAL=1 + shell: bash - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Install nextest From 6bb727c75a6f57fc1c24165e7c28da833aa7342f Mon Sep 17 00:00:00 2001 From: Ondra Pelech Date: Mon, 22 Dec 2025 02:17:21 +0100 Subject: [PATCH 4/5] more setup-rust Signed-off-by: Ondra Pelech --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e2066d81..47ced63f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,6 +37,8 @@ jobs: - uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Validate (default) run: just validate # Check for security vulnerabilities and license compliance From 4a25ef52350182bfdc89645aa6e2bc666387f599 Mon Sep 17 00:00:00 2001 From: Ondra Pelech Date: Mon, 22 Dec 2025 02:18:17 +0100 Subject: [PATCH 5/5] more setup-rust Signed-off-by: Ondra Pelech --- .github/workflows/ci.yml | 4 ++++ .github/workflows/docs.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 47ced63f0..b2f6ba18b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,6 +117,8 @@ jobs: - uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Build mdbook run: just build-mdbook # Build packages for each test OS @@ -173,6 +175,8 @@ jobs: uses: ./.github/actions/bootc-ubuntu-setup with: libvirt: true + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Install tmt run: pip install --user "tmt[provision-virtual]" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d44b06aba..95a27178d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -21,6 +21,8 @@ jobs: - uses: actions/checkout@v6 - name: Bootc Ubuntu Setup uses: ./.github/actions/bootc-ubuntu-setup + - name: Setup Rust + uses: ./.github/actions/setup-rust - name: Build mdbook run: mkdir target && just build-mdbook-to target/docs - name: Setup Pages