diff --git a/.github/workflows/cache-warm.yml b/.github/workflows/cache-warm.yml index 660d96b09..62ecc2010 100644 --- a/.github/workflows/cache-warm.yml +++ b/.github/workflows/cache-warm.yml @@ -212,6 +212,9 @@ jobs: install-build-packaging-tools: 'false' - name: Build ci-feat-rio superset + env: + # --all-targets links the same test binaries as the reader lane. + CARGO_BUILD_JOBS: "2" run: | cargo build -p rustfs -p rustfs-ecstore --all-targets --features rio-v2 cargo build -p rustfs --bins --features rio-v2,e2e-test-hooks @@ -240,6 +243,9 @@ jobs: install-build-packaging-tools: 'false' - name: Build ci-feat-proto superset + env: + # Avoid an unbounded burst of concurrent test-binary links (#5394). + CARGO_BUILD_JOBS: "2" run: | cargo build -p rustfs -p rustfs-protocols --all-targets --features swift cargo build -p rustfs -p rustfs-protocols --all-targets --features sftp diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 664ef7952..d245b0b89 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -457,6 +457,11 @@ jobs: run: cargo clippy -p rustfs -p rustfs-ecstore --all-targets --features rio-v2 -- -D warnings - name: Run rio-v2 feature tests + env: + # Match the main nextest lane's #5394 link-I/O guard. A cold feature + # cache otherwise fans out enough rust-lld processes to exhaust this + # job's 90-minute budget before any test starts. + CARGO_BUILD_JOBS: "2" run: | cargo nextest run -p rustfs -p rustfs-ecstore --features rio-v2 cargo test -p rustfs --doc --features rio-v2 @@ -505,6 +510,10 @@ jobs: cargo clippy -p rustfs -p rustfs-protocols --all-targets ${{ matrix.features.flags }} -- -D warnings - name: Run tests with ${{ matrix.features.name }} + env: + # Keep feature-test linking under the same bounded concurrency as the + # main nextest lane; Clippy is metadata-only and needs no such limit. + CARGO_BUILD_JOBS: "2" run: | cargo nextest run -p rustfs -p rustfs-protocols ${{ matrix.features.flags }}