Some checks failed
Release Docker Image / define-variables (push) Successful in 3s
Documentation / Build and Deploy Documentation (pull_request) Successful in 42s
Checks / Prek / Pre-commit & Formatting (push) Successful in 1m19s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Successful in 16m26s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Successful in 18m53s
Release Docker Image / merge (push) Successful in 27s
Checks / Prek / Clippy and Cargo Tests (push) Failing after 2m10s
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.
79 lines
1.8 KiB
YAML
79 lines
1.8 KiB
YAML
name: Checks / Prek
|
|
|
|
on:
|
|
push:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
fast-checks:
|
|
name: Pre-commit & Formatting
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Setup Rust nightly
|
|
uses: ./.forgejo/actions/setup-rust
|
|
with:
|
|
rust-version: nightly
|
|
github-token: ${{ secrets.GH_PUBLIC_RO }}
|
|
|
|
- name: Run prek
|
|
run: |
|
|
prek run \
|
|
--all-files \
|
|
--hook-stage manual \
|
|
--show-diff-on-failure \
|
|
--color=always \
|
|
-v
|
|
|
|
- name: Check Rust formatting
|
|
run: |
|
|
cargo +nightly fmt --all -- --check && \
|
|
echo "✅ Formatting check passed" || \
|
|
exit 1
|
|
|
|
clippy-and-tests:
|
|
name: Clippy and Cargo Tests
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Setup LLVM
|
|
uses: ./.forgejo/actions/setup-llvm-with-apt
|
|
with:
|
|
extra-packages: liburing-dev liburing2
|
|
|
|
- name: Setup Rust with caching
|
|
uses: ./.forgejo/actions/setup-rust
|
|
with:
|
|
github-token: ${{ secrets.GH_PUBLIC_RO }}
|
|
|
|
- name: Run Clippy lints
|
|
run: |
|
|
cargo clippy \
|
|
--workspace \
|
|
--features full \
|
|
--locked \
|
|
--no-deps \
|
|
--profile test \
|
|
-- \
|
|
-D warnings
|
|
|
|
- name: Run Cargo tests
|
|
run: |
|
|
cargo test \
|
|
--workspace \
|
|
--features full \
|
|
--locked \
|
|
--profile test \
|
|
--all-targets \
|
|
--no-fail-fast
|