From 9e1e732db86076a21465baa9e0ab75a417ed64a0 Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Tue, 11 Nov 2025 11:37:20 -0500 Subject: [PATCH] Use longer timeout on evals (#42465) The GPT-5 ones in particular can take a long time! Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner --- .github/workflows/run_agent_evals.yml | 2 +- .github/workflows/run_unit_evals.yml | 4 ++-- crates/gpui/src/executor.rs | 6 +++++- script/run-unit-evals | 2 +- tooling/xtask/src/tasks/workflows/run_agent_evals.rs | 3 ++- tooling/xtask/src/tasks/workflows/vars.rs | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/run_agent_evals.yml b/.github/workflows/run_agent_evals.yml index 034a69c276..0ee8f3c515 100644 --- a/.github/workflows/run_agent_evals.yml +++ b/.github/workflows/run_agent_evals.yml @@ -7,7 +7,7 @@ env: RUST_BACKTRACE: '1' ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }} GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }} ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }} ZED_EVAL_TELEMETRY: '1' diff --git a/.github/workflows/run_unit_evals.yml b/.github/workflows/run_unit_evals.yml index a41b4fb6d7..e3f03c2f9e 100644 --- a/.github/workflows/run_unit_evals.yml +++ b/.github/workflows/run_unit_evals.yml @@ -1,6 +1,6 @@ -# Generated from xtask::workflows::run_agent_evals +# Generated from xtask::workflows::run_unit_evals # Rebuild with `cargo xtask workflows`. -name: run_agent_evals +name: run_unit_evals env: CARGO_TERM_COLOR: always CARGO_INCREMENTAL: '0' diff --git a/crates/gpui/src/executor.rs b/crates/gpui/src/executor.rs index c05cf5745d..86cd7451fb 100644 --- a/crates/gpui/src/executor.rs +++ b/crates/gpui/src/executor.rs @@ -281,7 +281,11 @@ impl BackgroundExecutor { }); let mut cx = std::task::Context::from_waker(&waker); - let duration = Duration::from_secs(180); + let duration = Duration::from_secs( + option_env!("GPUI_TEST_TIMEOUT") + .and_then(|s| s.parse::().ok()) + .unwrap_or(180), + ); let mut test_should_end_by = Instant::now() + duration; loop { diff --git a/script/run-unit-evals b/script/run-unit-evals index 02481e1ce9..7a72d0b6a6 100755 --- a/script/run-unit-evals +++ b/script/run-unit-evals @@ -2,4 +2,4 @@ set -euxo pipefail -cargo nextest run --workspace --no-fail-fast --features unit-eval --no-capture -E 'test(::eval_)' +GPUI_TEST_TIMEOUT=1500 cargo nextest run --workspace --no-fail-fast --features unit-eval --no-capture -E 'test(::eval_)' diff --git a/tooling/xtask/src/tasks/workflows/run_agent_evals.rs b/tooling/xtask/src/tasks/workflows/run_agent_evals.rs index 341ca1d4a5..846001201f 100644 --- a/tooling/xtask/src/tasks/workflows/run_agent_evals.rs +++ b/tooling/xtask/src/tasks/workflows/run_agent_evals.rs @@ -20,7 +20,7 @@ pub(crate) fn run_agent_evals() -> Workflow { .add_env(("RUST_BACKTRACE", 1)) .add_env(("ANTHROPIC_API_KEY", vars::ANTHROPIC_API_KEY)) .add_env(("OPENAI_API_KEY", vars::OPENAI_API_KEY)) - .add_env(("GOOGLE_API_KEY", vars::GOOGLE_API_KEY)) + .add_env(("GOOGLE_AI_API_KEY", vars::GOOGLE_AI_API_KEY)) .add_env(("GOOGLE_CLOUD_PROJECT", vars::GOOGLE_CLOUD_PROJECT)) .add_env(("ZED_CLIENT_CHECKSUM_SEED", vars::ZED_CLIENT_CHECKSUM_SEED)) .add_env(("ZED_EVAL_TELEMETRY", 1)) @@ -53,6 +53,7 @@ pub(crate) fn run_unit_evals() -> Workflow { let unit_evals = unit_evals(); named::workflow() + .name("run_unit_evals") .on(Event::default() .schedule([ // GitHub might drop jobs at busy times, so we choose a random time in the middle of the night. diff --git a/tooling/xtask/src/tasks/workflows/vars.rs b/tooling/xtask/src/tasks/workflows/vars.rs index 58f2ba7b63..6493bd0ab6 100644 --- a/tooling/xtask/src/tasks/workflows/vars.rs +++ b/tooling/xtask/src/tasks/workflows/vars.rs @@ -18,7 +18,7 @@ macro_rules! var { secret!(ANTHROPIC_API_KEY); secret!(OPENAI_API_KEY); -secret!(GOOGLE_API_KEY); +secret!(GOOGLE_AI_API_KEY); secret!(GOOGLE_CLOUD_PROJECT); secret!(APPLE_NOTARIZATION_ISSUER_ID); secret!(APPLE_NOTARIZATION_KEY);