datahaven/.github/workflows/task-warm-sccache.yml
Steve Degosserie 62393dee23
ci: migrate from self-hosted to standard GitHub runners (#482)
## Summary
- Self-hosted `DH-runners` have been decommissioned — all Rust build,
test, and lint workflows now use `ubuntu-latest`
- Removed `install-deps: false` overrides so workflows use the default
apt-based dependency installation path
- Updated `setup-env` action descriptions to remove self-hosted runner
references

### Workflows updated
- `task-build-operator.yml`
- `task-build-static-operator.yaml`
- `task-publish-binary.yml`
- `task-rust-lint.yml` (3 jobs)
- `task-rust-tests.yml`
- `task-warm-sccache.yml`
- `task-e2e.yml`

## Test plan
- [x] Verify all Rust CI jobs pass on `ubuntu-latest` (build, lint,
test, warm-cache)
- [x] Confirm sccache and dependency installation work correctly on
standard runners
- [x] Ensure E2E workflow runs with Docker (instead of Podman) on
standard runners

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:11:39 +02:00

54 lines
1.6 KiB
YAML

# Warm sccache: Pre-populate the sccache cache for downstream Rust jobs
#
# This job runs first and compiles the project to warm up the shared
# sccache cache, ensuring better cache hit rates for parallel Rust jobs.
name: Warm sccache
on:
workflow_call:
# Explicit minimal permissions
permissions:
contents: read
jobs:
warm-cache:
name: Warm sccache cache
runs-on: ubuntu-latest
env:
RUSTC_WRAPPER: "sccache"
CARGO_INCREMENTAL: "0"
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: "true"
defaults:
run:
working-directory: ./operator
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 1
- uses: ./.github/workflows/actions/setup-env
with:
cache-key: WARM
- name: Set build flags
run: echo "RUSTFLAGS=${{ env.RUSTFLAGS }} -C linker=clang -C link-arg=-fuse-ld=mold" >> $GITHUB_ENV
# Compile with release mode and superset of features to warm the cache
# This covers: build-operator (fast-runtime) and rust-lint (try-runtime, runtime-benchmarks)
- name: Warm cache - release build with all features
run: |
echo "Building release with combined features to warm sccache..."
SKIP_WASM_BUILD=1 cargo check --release --locked --features fast-runtime,try-runtime,runtime-benchmarks
# Also warm the debug build cache for tests
- name: Warm cache - debug build for tests
run: |
echo "Building debug mode to warm sccache for tests..."
cargo check --locked
- name: Show sccache stats
run: sccache --show-stats