Commit graph

3 commits

Author SHA1 Message Date
Tom Foster
9a0dfb74dc fix(ci): Replace Mozilla sccache action with token-free alternative
Switch from mozilla-actions/sccache-action to git.tomfos.tr/tom/sccache-action@v1
which eliminates GitHub token requirements for downloading sccache binaries.

Removes token input parameter and debug logging from sccache action, and
simplifies setup-rust action by removing sccache token availability checks.
This ensures reliable sccache access for all contributors regardless of
repository permissions or rate limits.
2025-09-07 08:34:28 +01:00
Tom Foster
63464a90b1 fix(ci): Use runner GH_PUBLIC_RO token for sccache
Prioritise GH_PUBLIC_RO environment variable (configured on runner) over
github-token input to ensure all contributors can download sccache from
GitHub releases without hitting rate limits.
2025-09-06 19:58:32 +01:00
Tom Foster
dd22325ea2 refactor(ci): Consolidate Rust checks with optimised toolchain setup
Merge rust-checks.yml into prek-checks.yml for a unified workflow that
runs formatting and clippy/test checks in parallel jobs.

Add reusable composite actions:
- setup-rust: Smart Rust toolchain management with caching
  * Uses cargo-binstall for pre-built binary downloads
  * Integrates Mozilla sccache-action for compilation caching
  * Workspace-relative paths for better cache control
  * GitHub token support for improved rate limits
- setup-llvm-with-apt: LLVM installation with native dependencies
- detect-runner-os: Consistent OS detection for cache keys

Key improvements:
- Install prek via cargo-binstall --git (crates.io outdated at v0.0.1)
- Download timelord-cli from cargo-quickinstall
- Set BINSTALL_MAXIMUM_RESOLUTION_TIMEOUT=10 to avoid rate limit delays
- Default Rust version 1.87.0 with override support
- Remove redundant sccache stats (handled by Mozilla action)

Significantly reduces CI runtime through binary downloads instead of
compilation while maintaining all existing quality checks.
2025-08-28 19:20:14 +01:00