ci(actions): skipped bun setup and rust-cache on shared-sccache runners

- Updated the bun-install composite action to detect preinstalled Bun and only fetch it when missing.
- Added cache-backend detection and wiring so Bun dependencies use RustFS cache when SCCACHE credentials are present.
- Conditionally skipped rust-cache in build-native and CI jobs when shared sccache runners are available, relying on the existing RustFS/sccache layer instead.
This commit is contained in:
can1357
2026-06-15 00:52:32 +02:00
parent 96fd08200d
commit 82871093bd
3 changed files with 64 additions and 54 deletions
+14 -30
View File
@@ -190,9 +190,6 @@ jobs:
runs-on: omp-kata
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/bun-install
- name: Type check workspace
run: bun run ci:check:full
@@ -259,9 +256,6 @@ jobs:
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
id: source
@@ -291,9 +285,6 @@ jobs:
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
id: source
@@ -325,9 +316,6 @@ jobs:
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/setup-system-deps
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
@@ -358,9 +346,6 @@ jobs:
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/setup-system-deps
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
@@ -391,9 +376,6 @@ jobs:
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
id: source
@@ -425,9 +407,6 @@ jobs:
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/setup-system-deps
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
@@ -458,9 +437,6 @@ jobs:
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: ./.github/actions/setup-system-deps
- uses: ./.github/actions/bun-install
- name: Resolve Linux x64 native artifact run
@@ -488,21 +464,29 @@ jobs:
runs-on: omp-kata
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3"
- uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-2026-04-29
- name: Decide Rust artifact cache
id: rust_artifact_cache
shell: bash
run: |
if [ -n "${SCCACHE_BUCKET:-}" ]; then
echo "use_rust_cache=false" >> "$GITHUB_OUTPUT"
echo "Rust target cache: skipped on shared-sccache runners"
else
echo "use_rust_cache=true" >> "$GITHUB_OUTPUT"
echo "Rust target cache: GitHub Actions"
fi
- uses: Swatinem/rust-cache@v2
if: steps.rust_artifact_cache.outputs.use_rust_cache == 'true'
with:
shared-key: install-methods-linux-x64
cache-on-failure: true
save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
cache-workspace-crates: true
# Layer sccache on top of rust-cache for the same reason as the
# build-native action: release version bumps bust the target/ cache,
# but sccache hits at the rustc-unit level survive.
# On omp-kata, shared S3-backed sccache already carries the compile reuse
# and avoids a second GitHub-cache handshake for target/.
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.10
- name: Enable sccache for cargo