Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Amaan Qureshi
e471646d2a
test windows 2025-09-29 03:24:44 -04:00
3 changed files with 18 additions and 5 deletions

View file

@ -74,10 +74,7 @@ jobs:
run: | run: |
printf 'EMSCRIPTEN_VERSION=%s\n' "$(<crates/loader/emscripten-version)" >> $GITHUB_ENV printf 'EMSCRIPTEN_VERSION=%s\n' "$(<crates/loader/emscripten-version)" >> $GITHUB_ENV
if [[ '${{ matrix.platform }}' =~ ^windows ]]; then if [[ '${{ matrix.cross }}' == true ]]; then
# Prevent race condition (see #2041)
printf 'RUST_TEST_THREADS=1\n' >> $GITHUB_ENV
elif [[ '${{ matrix.cross }}' == true ]]; then
for target in armv7-unknown-linux-gnueabihf i686-unknown-linux-gnu powerpc64-unknown-linux-gnu; do for target in armv7-unknown-linux-gnueabihf i686-unknown-linux-gnu powerpc64-unknown-linux-gnu; do
camel_target=${target//-/_}; target_cc=${target/-unknown/} camel_target=${target//-/_}; target_cc=${target/-unknown/}
printf 'CC_%s=%s\n' "$camel_target" "${target_cc/v7/}-gcc" printf 'CC_%s=%s\n' "$camel_target" "${target_cc/v7/}-gcc"

View file

@ -9,7 +9,7 @@ on:
- LICENSE - LICENSE
- cli/src/templates - cli/src/templates
push: push:
branches: [master] # branches: [master]
paths-ignore: paths-ignore:
- docs/** - docs/**
- "**/README.md" - "**/README.md"

View file

@ -908,7 +908,23 @@ impl Loader {
let out = format!("-out:{}", output_path.to_str().unwrap()); let out = format!("-out:{}", output_path.to_str().unwrap());
command.arg(if self.debug_build { "-LDd" } else { "-LD" }); command.arg(if self.debug_build { "-LDd" } else { "-LD" });
command.arg("-utf-8"); command.arg("-utf-8");
// Use output directory for object files to avoid conflicts in parallel tests
let output_dir = output_path.parent().unwrap();
let pid = std::process::id();
let tid = format!("{:?}", std::thread::current().id())
.replace("ThreadId(", "")
.replace(")", "");
// Create a unique subdirectory for this compilation to avoid conflicts
let obj_dir = output_dir.join(format!("obj_{pid}_{tid}"));
std::fs::create_dir_all(&obj_dir).unwrap();
// Use /Fo with directory path (must end with \) for multiple source files
let fo_arg = format!("/Fo{}\\", obj_dir.to_str().unwrap());
command.arg(fo_arg);
command.args(cc_config.get_files()); command.args(cc_config.get_files());
command.arg("-link").arg(out); command.arg("-link").arg(out);
} else { } else {
command.arg("-Werror=implicit-function-declaration"); command.arg("-Werror=implicit-function-declaration");