mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-13 16:46:55 +00:00
ci: remove artificial build throttles and fix caching gaps (#4200)
Speeds up the CI pipeline without changing what is tested: - Drop the global CARGO_BUILD_JOBS=2 and per-job --jobs 2 flags, which halved compiler parallelism on the 4-core runners. - Stop embedding hashFiles(Cargo.lock) in rust-cache shared keys. The action already fingerprints lockfiles internally; putting the hash in the key prefix meant any PR that touched Cargo.lock started from a completely cold cache instead of reusing unchanged dependencies. - Give the e2e-tests job the full setup action with dependency caching. Its migration-proof step compiles the e2e_test crate (which pulls in most of the workspace) and previously did so cold on every run with no cache, on a 2-core runner. - Set profile.dev debug = "line-tables-only": keeps usable backtraces while cutting compile/link time, target-dir size (faster cache save/restore), and debug-binary artifact upload/download. - Split fmt + repo-script checks into a compile-free quick-checks job on ubuntu-latest so contributors get feedback in ~1 minute instead of after the full test run. - Collapse the five per-filter migration-proof cargo test reruns into one filtered nextest invocation; the same tests already run in the full nextest pass. - Remove the touch rustfs/build.rs + forced rebuild from the debug binary jobs (version stamping is irrelevant for e2e binaries) and the unreachable Windows cross-compile branch in build.yml. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -224,7 +224,7 @@ jobs:
|
||||
with:
|
||||
rust-version: stable
|
||||
target: ${{ matrix.target }}
|
||||
cache-shared-key: build-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
|
||||
cache-shared-key: build-${{ matrix.target }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
cache-save-if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/') }}
|
||||
install-cross-tools: ${{ matrix.cross }}
|
||||
@@ -260,14 +260,8 @@ jobs:
|
||||
touch rustfs/build.rs
|
||||
|
||||
if [[ "${{ matrix.cross }}" == "true" ]]; then
|
||||
if [[ "${{ matrix.platform }}" == "windows" ]]; then
|
||||
# Use cross for Windows ARM64
|
||||
cargo install cross --git https://github.com/cross-rs/cross
|
||||
cross build --release --target ${{ matrix.target }} -p rustfs --bins
|
||||
else
|
||||
# Use zigbuild for other cross-compilation
|
||||
cargo zigbuild --release --target ${{ matrix.target }} -p rustfs --bins
|
||||
fi
|
||||
# All cross targets in the matrix are Linux; zigbuild handles them.
|
||||
cargo zigbuild --release --target ${{ matrix.target }} -p rustfs --bins
|
||||
else
|
||||
cargo build --release --target ${{ matrix.target }} -p rustfs --bins
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user