Add proper timeouts to CI/nextest (#5051)

This commit is contained in:
Connor Fitzgerald 2024-01-13 06:26:55 -05:00 committed by GitHub
parent 376d901d1e
commit 5fd7d228ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 0 deletions

View File

@ -1,3 +1,8 @@
# None of our tests should take longer than 45s, and if they've gone 2x that,
# terminate them to prevent infinite run-on.
[profile.default]
slow-timeout = { period = "45s", terminate-after = 2 }
# Use two threads for tests with "2_threads" in their name # Use two threads for tests with "2_threads" in their name
[[profile.default.overrides]] [[profile.default.overrides]]
filter = 'test(~2_threads)' filter = 'test(~2_threads)'

View File

@ -57,6 +57,7 @@ env:
PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work
RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings
RUSTDOCFLAGS: -Dwarnings RUSTDOCFLAGS: -Dwarnings
WASM_BINDGEN_TEST_TIMEOUT: 300 # 5 minutes
CACHE_SUFFIX: c # cache busting CACHE_SUFFIX: c # cache busting
# We distinguish the following kinds of builds: # We distinguish the following kinds of builds:
@ -74,6 +75,9 @@ env:
jobs: jobs:
check: check:
# runtime is normally 2-8 minutes
timeout-minutes: 15
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -230,6 +234,9 @@ jobs:
# #
# We don't test all platforms, just ones with different dependency stacks. # We don't test all platforms, just ones with different dependency stacks.
check-core-msrv: check-core-msrv:
# runtime is normally 1-3 minutes
timeout-minutes: 10
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -285,6 +292,9 @@ jobs:
cargo check --target ${{ matrix.target }} --all-features -p wgpu-core cargo check --target ${{ matrix.target }} --all-features -p wgpu-core
naga-minimal-versions: naga-minimal-versions:
# runtime is normally 2 minutes
timeout-minutes: 10
name: MSRV naga Minimal Versions name: MSRV naga Minimal Versions
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
@ -332,6 +342,9 @@ jobs:
cargo clippy --all-features -p naga -p naga-cli cargo clippy --all-features -p naga -p naga-cli
wasm-test: wasm-test:
# runtime is normally 2 minutes
timeout-minutes: 10
name: Test WebAssembly name: Test WebAssembly
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [check] needs: [check]
@ -357,6 +370,9 @@ jobs:
wasm-pack test --headless --chrome --features webgl --workspace wasm-pack test --headless --chrome --features webgl --workspace
gpu-test: gpu-test:
# runtime is normally 5-15 minutes
timeout-minutes: 30
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -541,6 +557,9 @@ jobs:
files: lcov.info files: lcov.info
doctest: doctest:
# runtime is normally 2 minutes
timeout-minutes: 10
name: Doctest name: Doctest
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -576,6 +595,9 @@ jobs:
cargo test --doc cargo test --doc
fmt: fmt:
# runtime is normally 15 seconds
timeout-minutes: 2
name: Format name: Format
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -594,6 +616,9 @@ jobs:
cargo fmt --manifest-path xtask/Cargo.toml -- --check cargo fmt --manifest-path xtask/Cargo.toml -- --check
check-cts-runner: check-cts-runner:
# runtime is normally 2 minutes
timeout-minutes: 10
name: Clippy cts_runner name: Clippy cts_runner
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -628,6 +653,9 @@ jobs:
# #
# This job is not required to pass for PRs to be merged. # This job is not required to pass for PRs to be merged.
cargo-deny-check-advisories: cargo-deny-check-advisories:
# runtime is normally 1 minute
timeout-minutes: 5
name: "cargo-deny advisories" name: "cargo-deny advisories"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -642,6 +670,9 @@ jobs:
rust-version: ${{ env.REPO_MSRV }} rust-version: ${{ env.REPO_MSRV }}
cargo-deny-check-rest: cargo-deny-check-rest:
# runtime is normally 1 minute
timeout-minutes: 5
name: "cargo-deny" name: "cargo-deny"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps: