diff --git a/.github/workflows/cts.yml b/.github/workflows/cts.yml index ed7ac71cb12..ac775e9b83d 100644 --- a/.github/workflows/cts.yml +++ b/.github/workflows/cts.yml @@ -17,7 +17,6 @@ env: REPO_MSRV: "1.93" CARGO_INCREMENTAL: false CARGO_TERM_COLOR: always - DENO_WEBGPU_DX12_COMPILER: dynamicdxc RUST_BACKTRACE: full RUSTFLAGS: -D warnings RUSTDOCFLAGS: -D warnings diff --git a/xtask/src/cts.rs b/xtask/src/cts.rs index d93a7f2227c..41c159c6421 100644 --- a/xtask/src/cts.rs +++ b/xtask/src/cts.rs @@ -137,11 +137,26 @@ pub fn run_cts( }) .collect::>(); - if running_on_backend.is_none() && (!list_files.is_empty() || tests.is_empty()) { + if let Some(backend) = &running_on_backend { + shell.set_var("DENO_WEBGPU_BACKEND", backend); + } else if !list_files.is_empty() || tests.is_empty() { log::warn!("The `--backend` option was not provided. `fails-if` conditions and external"); log::warn!("texture support are handled correctly only when a backend is specified."); } + #[cfg(windows)] + if running_on_backend.as_ref().is_none_or(|b| b == "dx12") { + const DEFAULT_DX12_COMPILER: &str = "dynamicdxc"; + + match shell.var("DENO_WEBGPU_DX12_COMPILER") { + Ok(value) => log::info!("Using DENO_WEBGPU_DX12_COMPILER = {value} from environment"), + Err(_) => { + shell.set_var("DENO_WEBGPU_DX12_COMPILER", DEFAULT_DX12_COMPILER); + log::info!("Using default DENO_WEBGPU_DX12_COMPILER = {DEFAULT_DX12_COMPILER}"); + } + } + } + let mut default_output_filter = PrintOutputWhen::Always; if tests.is_empty() && list_files.is_empty() {