authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-10 15:12:37+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-10 15:12:37+02:00
log3e15e99e60e6abda6637124cab8fe12e3c6bf547
tree3b232639a98dff8f49774d7b7c60394c933b6464
parent1bc892110da738d6137b3f0b7e8e3a586ce09928
parent4e9417c20195a0e901c20c0abd3257cba0a66fd2

Merge pull request 'ci: fold stage4 build into `zig build test docs` invocation' (#36799) from alexrp/zig:ci-stage4 into master

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/36799

32 files changed, 345 insertions(+), 464 deletions(-)

ci/aarch64-freebsd-debug.sh+8-11
...@@ -39,20 +39,17 @@ ninja install...@@ -39,20 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 4m
48
49stage3-debug/bin/zig build \
50 --prefix stage4-debug \44 --prefix stage4-debug \
51 -Denable-llvm \45 --search-prefix "$PREFIX" \
52 -Dno-lib \46 --test-timeout 4m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
53 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
54 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
55 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
56 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5754
58stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/aarch64-freebsd-release.sh+11-14
...@@ -39,25 +39,22 @@ ninja install...@@ -39,25 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 4m
48
49# Ensure that stage3 and stage4 are byte-for-byte identical.
50stage3-release/bin/zig build \
51 --prefix stage4-release \44 --prefix stage4-release \
52 -Denable-llvm \45 --search-prefix "$PREFIX" \
53 -Dno-lib \46 --test-timeout 4m \
54 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
55 -Dstrip \
56 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
57 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
58 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
59 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6056
57# Ensure that stage3 and stage4 are byte-for-byte identical.
61echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
62echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
63diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/aarch64-linux-debug.sh+8-12
...@@ -39,21 +39,17 @@ ninja install...@@ -39,21 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 3m
49
50stage3-debug/bin/zig build \
51 --prefix stage4-debug \44 --prefix stage4-debug \
52 -Denable-llvm \45 --search-prefix "$PREFIX" \
53 -Dno-lib \46 --test-timeout 3m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
54 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
55 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
56 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
57 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5854
59stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/aarch64-linux-release.sh+11-15
...@@ -39,26 +39,22 @@ ninja install...@@ -39,26 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 3m
49
50# Ensure that stage3 and stage4 are byte-for-byte identical.
51stage3-release/bin/zig build \
52 --prefix stage4-release \44 --prefix stage4-release \
53 -Denable-llvm \45 --search-prefix "$PREFIX" \
54 -Dno-lib \46 --test-timeout 3m \
55 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
56 -Dstrip \
57 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
58 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
59 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
60 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6156
57# Ensure that stage3 and stage4 are byte-for-byte identical.
62echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
63echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
64diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/aarch64-macos-debug.sh+12-15
...@@ -47,27 +47,24 @@ ninja install...@@ -47,27 +47,24 @@ ninja install
47# Must be done after zig cc is finished.47# Must be done after zig cc is finished.
48export ZIG_LIB_DIR="$PWD/../lib"48export ZIG_LIB_DIR="$PWD/../lib"
4949
50stage3-debug/bin/zig build test docs \50stage3-debug/bin/zig build install test docs \
51 --maxrss ${ZSF_MAX_RSS:-0} \51 --maxrss "${ZSF_MAX_RSS:-0}" \
52 --prefix stage4-debug \
53 --search-prefix "$PREFIX" \
54 --test-timeout 2m \
55 -Dversion-string="$(stage3-debug/bin/zig version)" \
56 -Dtarget=$TARGET \
57 -Dcpu=$MCPU \
58 -Duse-zig-libcxx \
59 -Denable-llvm \
60 -Dno-lib \
52 -Denable-macos-sdk \61 -Denable-macos-sdk \
53 -Dstatic-llvm \
54 -Dskip-spirv \62 -Dskip-spirv \
55 -Dskip-wasm \63 -Dskip-wasm \
56 -Dskip-linux \
57 -Dskip-freebsd \64 -Dskip-freebsd \
58 -Dskip-netbsd \65 -Dskip-netbsd \
59 -Dskip-openbsd \66 -Dskip-openbsd \
60 -Dskip-windows \67 -Dskip-windows \
61 --search-prefix "$PREFIX" \68 -Dskip-linux
62 --test-timeout 2m
63
64stage3-debug/bin/zig build \
65 --prefix stage4-debug \
66 -Denable-llvm \
67 -Dno-lib \
68 -Dtarget=$TARGET \
69 -Dcpu=$MCPU \
70 -Duse-zig-libcxx \
71 -Dversion-string="$(stage3-debug/bin/zig version)"
7269
73stage4-debug/bin/zig test ../test/behavior.zig70stage4-debug/bin/zig test ../test/behavior.zig
ci/aarch64-macos-release.sh+14-17
...@@ -47,36 +47,33 @@ ninja install...@@ -47,36 +47,33 @@ ninja install
47# Must be done after zig cc is finished.47# Must be done after zig cc is finished.
48export ZIG_LIB_DIR="$PWD/../lib"48export ZIG_LIB_DIR="$PWD/../lib"
4949
50stage3-release/bin/zig build test docs \50stage3-release/bin/zig build install test docs \
51 --maxrss ${ZSF_MAX_RSS:-0} \51 --maxrss "${ZSF_MAX_RSS:-0}" \
52 --prefix stage4-release \
53 --search-prefix "$PREFIX" \
54 --test-timeout 2m \
55 -Dversion-string="$(stage3-release/bin/zig version)" \
56 -Dtarget=$TARGET \
57 -Dcpu=$MCPU \
58 -Doptimize=ReleaseFast \
59 -Dstrip \
60 -Duse-zig-libcxx \
61 -Denable-llvm \
62 -Dno-lib \
52 -Denable-macos-sdk \63 -Denable-macos-sdk \
53 -Dstatic-llvm \
54 -Dskip-spirv \64 -Dskip-spirv \
55 -Dskip-wasm \65 -Dskip-wasm \
56 -Dskip-linux \
57 -Dskip-freebsd \66 -Dskip-freebsd \
58 -Dskip-netbsd \67 -Dskip-netbsd \
59 -Dskip-openbsd \68 -Dskip-openbsd \
60 -Dskip-windows \69 -Dskip-windows \
61 --search-prefix "$PREFIX" \70 -Dskip-linux
62 --test-timeout 2m
6371
64# Ensure that the fuzzer at least compiles.72# Ensure that the fuzzer at least compiles.
65stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe73stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe
66stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug74stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug
6775
68# Ensure that stage3 and stage4 are byte-for-byte identical.76# Ensure that stage3 and stage4 are byte-for-byte identical.
69stage3-release/bin/zig build \
70 --prefix stage4-release \
71 -Denable-llvm \
72 -Dno-lib \
73 -Doptimize=ReleaseFast \
74 -Dstrip \
75 -Dtarget=$TARGET \
76 -Dcpu=$MCPU \
77 -Duse-zig-libcxx \
78 -Dversion-string="$(stage3-release/bin/zig version)"
79
80echo "If the following command fails, it means nondeterminism has been"77echo "If the following command fails, it means nondeterminism has been"
81echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."78echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
82diff stage3-release/bin/zig stage4-release/bin/zig79diff stage3-release/bin/zig stage4-release/bin/zig
ci/aarch64-netbsd-debug.sh+8-11
...@@ -39,20 +39,17 @@ ninja install...@@ -39,20 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 4m
48
49stage3-debug/bin/zig build \
50 --prefix stage4-debug \44 --prefix stage4-debug \
51 -Denable-llvm \45 --search-prefix "$PREFIX" \
52 -Dno-lib \46 --test-timeout 4m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
53 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
54 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
55 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
56 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5754
58stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/aarch64-netbsd-release.sh+11-14
...@@ -39,25 +39,22 @@ ninja install...@@ -39,25 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 4m
48
49# Ensure that stage3 and stage4 are byte-for-byte identical.
50stage3-release/bin/zig build \
51 --prefix stage4-release \44 --prefix stage4-release \
52 -Denable-llvm \45 --search-prefix "$PREFIX" \
53 -Dno-lib \46 --test-timeout 4m \
54 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
55 -Dstrip \
56 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
57 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
58 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
59 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6056
57# Ensure that stage3 and stage4 are byte-for-byte identical.
61echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
62echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
63diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/aarch64-openbsd-debug.sh+8-11
...@@ -39,20 +39,17 @@ ninja install...@@ -39,20 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 2m
48
49stage3-debug/bin/zig build \
50 --prefix stage4-debug \44 --prefix stage4-debug \
51 -Denable-llvm \45 --search-prefix "$PREFIX" \
52 -Dno-lib \46 --test-timeout 2m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
53 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
54 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
55 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
56 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5754
58stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/aarch64-openbsd-release.sh+13-16
...@@ -39,12 +39,20 @@ ninja install...@@ -39,12 +39,20 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \44 --prefix stage4-release \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \45 --search-prefix "$PREFIX" \
47 --test-timeout 2m46 --test-timeout 2m \
47 -Dversion-string="$(stage3-release/bin/zig version)" \
48 -Dtarget=$TARGET \
49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
52 -Duse-zig-libcxx \
53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
4856
49# Ensure that the fuzzer at least compiles.57# Ensure that the fuzzer at least compiles.
50# https://codeberg.org/ziglang/zig/issues/3072858# https://codeberg.org/ziglang/zig/issues/30728
...@@ -52,17 +60,6 @@ stage3-release/bin/zig build test docs \...@@ -52,17 +60,6 @@ stage3-release/bin/zig build test docs \
52#stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug60#stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug
5361
54# Ensure that stage3 and stage4 are byte-for-byte identical.62# Ensure that stage3 and stage4 are byte-for-byte identical.
55stage3-release/bin/zig build \
56 --prefix stage4-release \
57 -Denable-llvm \
58 -Dno-lib \
59 -Doptimize=ReleaseFast \
60 -Dstrip \
61 -Dtarget=$TARGET \
62 -Dcpu=$MCPU \
63 -Duse-zig-libcxx \
64 -Dversion-string="$(stage3-release/bin/zig version)"
65
66echo "If the following command fails, it means nondeterminism has been"63echo "If the following command fails, it means nondeterminism has been"
67echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."64echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
68diff stage3-release/bin/zig stage4-release/bin/zig65diff stage3-release/bin/zig stage4-release/bin/zig
ci/aarch64-windows-debug.ps1+9-15
...@@ -47,25 +47,19 @@ CheckLastExitCode...@@ -47,25 +47,19 @@ CheckLastExitCode
47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
4848
49Write-Output "Main test suite..."49Write-Output "Main test suite..."
50stage3-debug\bin\zig.exe build test docs `50stage3-debug\bin\zig.exe build install test docs `
51 --maxrss $ZSF_MAX_RSS `51 --maxrss "$ZSF_MAX_RSS" `
52 --search-prefix "$PREFIX_PATH" `
53 -Dstatic-llvm `
54 -Dskip-non-native `
55 -Denable-symlinks-windows `
56 --test-timeout 30m
57CheckLastExitCode
58
59Write-Output "Build and test stage4..."
60stage3-debug\bin\zig.exe build `
61 --prefix stage4-debug `52 --prefix stage4-debug `
62 -Denable-llvm `53 --search-prefix "$PREFIX_PATH" `
63 -Dno-lib `54 --test-timeout 30m `
64 -Doptimize=Debug `55 -Dversion-string="$(stage3-debug\bin\zig.exe version)" `
65 -Dtarget="$TARGET" `56 -Dtarget="$TARGET" `
66 -Dcpu="$MCPU" `57 -Dcpu="$MCPU" `
67 -Duse-zig-libcxx `58 -Duse-zig-libcxx `
68 -Dversion-string="$(stage3-debug\bin\zig.exe version)"59 -Denable-llvm `
60 -Dno-lib `
61 -Denable-symlinks-windows `
62 -Dskip-non-native
69CheckLastExitCode63CheckLastExitCode
7064
71stage4-debug\bin\zig.exe test ..\test\behavior.zig65stage4-debug\bin\zig.exe test ..\test\behavior.zig
ci/aarch64-windows-release.ps1+13-19
...@@ -47,13 +47,21 @@ CheckLastExitCode...@@ -47,13 +47,21 @@ CheckLastExitCode
47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
4848
49Write-Output "Main test suite..."49Write-Output "Main test suite..."
50stage3-release\bin\zig.exe build test docs `50stage3-release\bin\zig.exe build install test docs `
51 --maxrss $ZSF_MAX_RSS `51 --maxrss "$ZSF_MAX_RSS" `
52 --prefix stage4-release `
52 --search-prefix "$PREFIX_PATH" `53 --search-prefix "$PREFIX_PATH" `
53 -Dstatic-llvm `54 --test-timeout 30m `
54 -Dskip-non-native `55 -Dversion-string="$(stage3-release\bin\zig.exe version)" `
56 -Dtarget="$TARGET" `
57 -Dcpu="$MCPU" `
58 -Doptimize=ReleaseFast `
59 -Dstrip `
60 -Duse-zig-libcxx `
61 -Denable-llvm `
62 -Dno-lib `
55 -Denable-symlinks-windows `63 -Denable-symlinks-windows `
56 --test-timeout 30m64 -Dskip-non-native
57CheckLastExitCode65CheckLastExitCode
5866
59# Ensure that the fuzzer at least compiles.67# Ensure that the fuzzer at least compiles.
...@@ -64,20 +72,6 @@ CheckLastExitCode...@@ -64,20 +72,6 @@ CheckLastExitCode
64# CheckLastExitCode72# CheckLastExitCode
6573
66# Ensure that stage3 and stage4 are byte-for-byte identical.74# Ensure that stage3 and stage4 are byte-for-byte identical.
67Write-Output "Build and compare stage4..."
68stage3-release\bin\zig.exe build `
69 --prefix stage4-release `
70 -Denable-llvm `
71 -Dno-lib `
72 -Doptimize=ReleaseFast `
73 -Dstrip `
74 -Dtarget="$TARGET" `
75 -Dcpu="$MCPU" `
76 -Duse-zig-libcxx `
77 -Dversion-string="$(stage3-release\bin\zig.exe version)"
78CheckLastExitCode
79
80# Compare-Object returns an error code if the files differ.
81Write-Output "If the following command fails, it means nondeterminism has been"75Write-Output "If the following command fails, it means nondeterminism has been"
82Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."76Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."
83Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)77Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)
ci/loongarch64-linux-debug.sh+8-12
...@@ -39,21 +39,17 @@ ninja install...@@ -39,21 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 4m
49
50stage3-debug/bin/zig build \
51 --prefix stage4-debug \44 --prefix stage4-debug \
52 -Denable-llvm \45 --search-prefix "$PREFIX" \
53 -Dno-lib \46 --test-timeout 4m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
54 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
55 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
56 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
57 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5854
59stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/loongarch64-linux-release.sh+11-15
...@@ -39,26 +39,22 @@ ninja install...@@ -39,26 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 4m
49
50# Ensure that stage3 and stage4 are byte-for-byte identical.
51stage3-release/bin/zig build \
52 --prefix stage4-release \44 --prefix stage4-release \
53 -Denable-llvm \45 --search-prefix "$PREFIX" \
54 -Dno-lib \46 --test-timeout 4m \
55 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
56 -Dstrip \
57 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
58 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
59 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
60 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6156
57# Ensure that stage3 and stage4 are byte-for-byte identical.
62echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
63echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
64diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/powerpc64le-linux-debug.sh+8-13
...@@ -39,22 +39,17 @@ ninja install...@@ -39,22 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 -Dcpu=native+longcall \
48 --search-prefix "$PREFIX" \
49 --test-timeout 4m
50
51stage3-debug/bin/zig build \
52 --prefix stage4-debug \44 --prefix stage4-debug \
53 -Denable-llvm \45 --search-prefix "$PREFIX" \
54 -Dno-lib \46 --test-timeout 4m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
55 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
56 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
57 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
58 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5954
60stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/powerpc64le-linux-release.sh+11-16
...@@ -39,27 +39,22 @@ ninja install...@@ -39,27 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 -Dcpu=native+longcall \
48 --search-prefix "$PREFIX" \
49 --test-timeout 4m
50
51# Ensure that stage3 and stage4 are byte-for-byte identical.
52stage3-release/bin/zig build \
53 --prefix stage4-release \44 --prefix stage4-release \
54 -Denable-llvm \45 --search-prefix "$PREFIX" \
55 -Dno-lib \46 --test-timeout 4m \
56 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
57 -Dstrip \
58 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
59 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
60 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
61 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6256
57# Ensure that stage3 and stage4 are byte-for-byte identical.
63echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
64echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
65diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/riscv64-linux-debug.sh+8-12
...@@ -39,21 +39,17 @@ ninja install...@@ -39,21 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 4m
49
50stage3-debug/bin/zig build \
51 --prefix stage4-debug \44 --prefix stage4-debug \
52 -Denable-llvm \45 --search-prefix "$PREFIX" \
53 -Dno-lib \46 --test-timeout 4m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
54 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
55 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
56 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
57 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5854
59stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/riscv64-linux-release.sh+11-15
...@@ -39,26 +39,22 @@ ninja install...@@ -39,26 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 4m
49
50# Ensure that stage3 and stage4 are byte-for-byte identical.
51stage3-release/bin/zig build \
52 --prefix stage4-release \44 --prefix stage4-release \
53 -Denable-llvm \45 --search-prefix "$PREFIX" \
54 -Dno-lib \46 --test-timeout 4m \
55 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
56 -Dstrip \
57 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
58 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
59 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
60 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6156
57# Ensure that stage3 and stage4 are byte-for-byte identical.
62echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
63echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
64diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/s390x-linux-debug.sh+8-12
...@@ -39,21 +39,17 @@ ninja install...@@ -39,21 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 4m
49
50stage3-debug/bin/zig build \
51 --prefix stage4-debug \44 --prefix stage4-debug \
52 -Denable-llvm \45 --search-prefix "$PREFIX" \
53 -Dno-lib \46 --test-timeout 4m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
54 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
55 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
56 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
57 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5854
59stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/s390x-linux-release.sh+11-15
...@@ -39,26 +39,22 @@ ninja install...@@ -39,26 +39,22 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 -Dtarget=native-native-musl \
47 --search-prefix "$PREFIX" \
48 --test-timeout 4m
49
50# Ensure that stage3 and stage4 are byte-for-byte identical.
51stage3-release/bin/zig build \
52 --prefix stage4-release \44 --prefix stage4-release \
53 -Denable-llvm \45 --search-prefix "$PREFIX" \
54 -Dno-lib \46 --test-timeout 4m \
55 -Doptimize=ReleaseFast \47 -Dversion-string="$(stage3-release/bin/zig version)" \
56 -Dstrip \
57 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
58 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
59 -Duse-zig-libcxx \52 -Duse-zig-libcxx \
60 -Dversion-string="$(stage3-release/bin/zig version)"53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
6156
57# Ensure that stage3 and stage4 are byte-for-byte identical.
62echo "If the following command fails, it means nondeterminism has been"58echo "If the following command fails, it means nondeterminism has been"
63echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."59echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
64diff stage3-release/bin/zig stage4-release/bin/zig60diff stage3-release/bin/zig stage4-release/bin/zig
ci/x86_64-freebsd-debug.sh+8-11
...@@ -39,20 +39,17 @@ ninja install...@@ -39,20 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 2m
48
49stage3-debug/bin/zig build \
50 --prefix stage4-debug \44 --prefix stage4-debug \
51 -Denable-llvm \45 --search-prefix "$PREFIX" \
52 -Dno-lib \46 --test-timeout 2m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
53 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
54 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
55 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
56 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5754
58stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/x86_64-freebsd-release.sh+13-16
...@@ -39,29 +39,26 @@ ninja install...@@ -39,29 +39,26 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \44 --prefix stage4-release \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \45 --search-prefix "$PREFIX" \
47 --test-timeout 2m46 --test-timeout 2m \
47 -Dversion-string="$(stage3-release/bin/zig version)" \
48 -Dtarget=$TARGET \
49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
52 -Duse-zig-libcxx \
53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
4856
49# Ensure that the fuzzer at least compiles.57# Ensure that the fuzzer at least compiles.
50stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe58stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe
51stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug59stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug
5260
53# Ensure that stage3 and stage4 are byte-for-byte identical.61# Ensure that stage3 and stage4 are byte-for-byte identical.
54stage3-release/bin/zig build \
55 --prefix stage4-release \
56 -Denable-llvm \
57 -Dno-lib \
58 -Doptimize=ReleaseFast \
59 -Dstrip \
60 -Dtarget=$TARGET \
61 -Dcpu=$MCPU \
62 -Duse-zig-libcxx \
63 -Dversion-string="$(stage3-release/bin/zig version)"
64
65echo "If the following command fails, it means nondeterminism has been"62echo "If the following command fails, it means nondeterminism has been"
66echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."63echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
67diff stage3-release/bin/zig stage4-release/bin/zig64diff stage3-release/bin/zig stage4-release/bin/zig
ci/x86_64-linux-debug-llvm.sh+17-20
...@@ -40,37 +40,34 @@ ninja install...@@ -40,37 +40,34 @@ ninja install
40# Must be done after zig cc is finished.40# Must be done after zig cc is finished.
41export ZIG_LIB_DIR="$PWD/../lib"41export ZIG_LIB_DIR="$PWD/../lib"
4242
43# simultaneously test building self-hosted without LLVM and with 32-bit arm43# Simultaneously test building self-hosted without LLVM and with 32-bit arm
44stage3-debug/bin/zig build \44stage3-debug/bin/zig build \
45 --maxrss "${ZSF_MAX_RSS:-0}" \
45 -Dtarget=arm-linux-musleabihf \46 -Dtarget=arm-linux-musleabihf \
46 -Dno-lib47 -Dno-lib
4748
48stage3-debug/bin/zig build test docs \49stage3-debug/bin/zig build install test docs \
49 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss "${ZSF_MAX_RSS:-0}" \
50 -Dlldb=$HOME/deps/lldb-zig/Debug-aad646607a/bin/lldb \51 --prefix stage4-debug \
51 -Dlibc-test-path=$HOME/deps/libc-test-b95fe84 \52 --search-prefix "$PREFIX" \
53 --libc-runtimes "$HOME/deps/glibc-2.43-musl-1.2.5" \
54 --test-timeout 12m \
52 -fqemu \55 -fqemu \
53 --libc-runtimes $HOME/deps/glibc-2.43-musl-1.2.5 \
54 -fwasmtime \56 -fwasmtime \
55 -Dstatic-llvm \57 -Dversion-string="$(stage3-debug/bin/zig version)" \
58 -Dtarget=$TARGET \
59 -Dcpu=$MCPU \
60 -Duse-llvm \
61 -Duse-zig-libcxx \
62 -Denable-llvm \
63 -Dno-lib \
56 -Dskip-freebsd \64 -Dskip-freebsd \
57 -Dskip-netbsd \65 -Dskip-netbsd \
58 -Dskip-openbsd \66 -Dskip-openbsd \
59 -Dskip-windows \67 -Dskip-windows \
60 -Dskip-darwin \68 -Dskip-darwin \
61 -Dtarget=native-native-musl \
62 --search-prefix "$PREFIX" \
63 -Denable-superhtml \69 -Denable-superhtml \
64 --test-timeout 12m70 -Dlldb="$HOME/deps/lldb-zig/Debug-aad646607a/bin/lldb" \
6571 -Dlibc-test-path="$HOME/deps/libc-test-b95fe84"
66stage3-debug/bin/zig build \
67 --prefix stage4-debug \
68 -Duse-llvm \
69 -Denable-llvm \
70 -Dno-lib \
71 -Dtarget=$TARGET \
72 -Dcpu=$MCPU \
73 -Duse-zig-libcxx \
74 -Dversion-string="$(stage3-debug/bin/zig version)"
7572
76stage4-debug/bin/zig test ../test/behavior.zig73stage4-debug/bin/zig test ../test/behavior.zig
ci/x86_64-linux-debug.sh+17-20
...@@ -40,36 +40,33 @@ ninja install...@@ -40,36 +40,33 @@ ninja install
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
41export ZIG_DEBUG_CMD=141export ZIG_DEBUG_CMD=1
4242
43# simultaneously test building self-hosted without LLVM and with 32-bit arm43# Simultaneously test building self-hosted without LLVM and with 32-bit arm
44stage3-debug/bin/zig build \44stage3-debug/bin/zig build \
45 --maxrss "${ZSF_MAX_RSS:-0}" \
45 -Dtarget=arm-linux-musleabihf \46 -Dtarget=arm-linux-musleabihf \
46 -Dno-lib47 -Dno-lib
4748
48stage3-debug/bin/zig build test docs \49stage3-debug/bin/zig build install test docs \
49 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss "${ZSF_MAX_RSS:-0}" \
50 -Dlldb=$HOME/deps/lldb-zig/Debug-aad646607a/bin/lldb \51 --prefix stage4-debug \
52 --search-prefix "$PREFIX" \
53 --libc-runtimes "$HOME/deps/glibc-2.43-musl-1.2.5" \
54 --test-timeout 10m \
51 -fqemu \55 -fqemu \
52 --libc-runtimes $HOME/deps/glibc-2.43-musl-1.2.5 \
53 -fwasmtime \56 -fwasmtime \
54 -Dstatic-llvm \57 -Dversion-string="$(stage3-debug/bin/zig version)" \
58 -Dtarget=$TARGET \
59 -Dcpu=$MCPU \
60 -Duse-zig-libcxx \
61 -Denable-llvm \
62 -Dno-lib \
63 -Denable-superhtml \
64 -Dlldb="$HOME/deps/lldb-zig/Debug-aad646607a/bin/lldb" \
55 -Dskip-freebsd \65 -Dskip-freebsd \
56 -Dskip-netbsd \66 -Dskip-netbsd \
57 -Dskip-openbsd \67 -Dskip-openbsd \
58 -Dskip-windows \68 -Dskip-windows \
59 -Dskip-darwin \69 -Dskip-darwin \
60 -Dskip-llvm \70 -Dskip-llvm
61 -Dtarget=native-native-musl \
62 --search-prefix "$PREFIX" \
63 -Denable-superhtml \
64 --test-timeout 10m
65
66stage3-debug/bin/zig build \
67 --prefix stage4-debug \
68 -Denable-llvm \
69 -Dno-lib \
70 -Dtarget=$TARGET \
71 -Dcpu=$MCPU \
72 -Duse-zig-libcxx \
73 -Dversion-string="$(stage3-debug/bin/zig version)"
7471
75stage4-debug/bin/zig test ../test/behavior.zig72stage4-debug/bin/zig test ../test/behavior.zig
ci/x86_64-linux-release.sh+24-28
...@@ -45,43 +45,36 @@ ninja install...@@ -45,43 +45,36 @@ ninja install
45# Must not be set while using the other `zig cc` which has its own zig lib dir.45# Must not be set while using the other `zig cc` which has its own zig lib dir.
46export ZIG_LIB_DIR="$PWD/../lib"46export ZIG_LIB_DIR="$PWD/../lib"
4747
48# Covers several things:48# Simultaneously test building self-hosted without LLVM and with 32-bit arm
49# 1. building the compiler without LLVM
50# 2. 32-bit
51# 3. arm
52stage3-release/bin/zig build \49stage3-release/bin/zig build \
53 -Dtarget=arm-linux-musleabihf \50 -Dtarget=arm-linux-musleabihf \
54 -Dno-lib51 -Dno-lib
5552
56stage3-release/bin/zig build test docs \53stage3-release/bin/zig build install test docs \
57 --maxrss ${ZSF_MAX_RSS:-0} \54 --maxrss "${ZSF_MAX_RSS:-0}" \
58 -Dlldb=$HOME/deps/lldb-zig/Release-aad646607a/bin/lldb \55 --prefix stage4-release \
59 -Dlibc-test-path=$HOME/deps/libc-test-b95fe84 \56 --search-prefix "$PREFIX" \
57 --libc-runtimes "$HOME/deps/glibc-2.43-musl-1.2.5" \
58 --test-timeout 12m \
60 -fqemu \59 -fqemu \
61 --libc-runtimes $HOME/deps/glibc-2.43-musl-1.2.5 \
62 -fwasmtime \60 -fwasmtime \
63 -Dstatic-llvm \61 -Dversion-string="$(stage3-release/bin/zig version)" \
64 -Dtarget=native-native-musl \62 -Dtarget=$TARGET \
65 --search-prefix "$PREFIX" \63 -Dcpu=$MCPU \
64 -Doptimize=ReleaseFast \
65 -Dstrip \
66 -Duse-zig-libcxx \
67 -Denable-llvm \
68 -Dno-lib \
66 -Denable-superhtml \69 -Denable-superhtml \
67 --test-timeout 12m70 -Dlldb="$HOME/deps/lldb-zig/Release-aad646607a/bin/lldb" \
71 -Dlibc-test-path="$HOME/deps/libc-test-b95fe84"
6872
69# Ensure that the fuzzer at least compiles.73# Ensure that the fuzzer at least compiles.
70stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe74stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe
71stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug75stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug
7276
73# Ensure that stage3 and stage4 are byte-for-byte identical.77# Ensure that stage3 and stage4 are byte-for-byte identical.
74stage3-release/bin/zig build \
75 --prefix stage4-release \
76 -Denable-llvm \
77 -Dno-lib \
78 -Doptimize=ReleaseFast \
79 -Dstrip \
80 -Dtarget=$TARGET \
81 -Dcpu=$MCPU \
82 -Duse-zig-libcxx \
83 -Dversion-string="$(stage3-release/bin/zig version)"
84
85echo "If the following command fails, it means nondeterminism has been"78echo "If the following command fails, it means nondeterminism has been"
86echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."79echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
87diff stage3-release/bin/zig stage4-release/bin/zig80diff stage3-release/bin/zig stage4-release/bin/zig
...@@ -110,9 +103,12 @@ ninja install...@@ -110,9 +103,12 @@ ninja install
110export ZIG_LIB_DIR="$PWD/../lib"103export ZIG_LIB_DIR="$PWD/../lib"
111104
112stage3/bin/zig test ../test/behavior.zig105stage3/bin/zig test ../test/behavior.zig
113stage3/bin/zig build -p stage4 \106stage3/bin/zig build \
107 --maxrss "${ZSF_MAX_RSS:-0}" \
108 --prefix stage4 \
109 --search-prefix "$PREFIX" \
110 -Dtarget=$TARGET \
111 -Dcpu=$MCPU \
114 -Dstatic-llvm \112 -Dstatic-llvm \
115 -Dtarget=native-native-musl \113 -Dno-lib
116 -Dno-lib \
117 --search-prefix "$PREFIX"
118stage4/bin/zig test ../test/behavior.zig114stage4/bin/zig test ../test/behavior.zig
ci/x86_64-netbsd-debug.sh+8-11
...@@ -39,20 +39,17 @@ ninja install...@@ -39,20 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 2m
48
49stage3-debug/bin/zig build \
50 --prefix stage4-debug \44 --prefix stage4-debug \
51 -Denable-llvm \45 --search-prefix "$PREFIX" \
52 -Dno-lib \46 --test-timeout 2m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
53 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
54 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
55 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
56 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native
5754
58stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/x86_64-netbsd-release.sh+13-16
...@@ -39,29 +39,26 @@ ninja install...@@ -39,29 +39,26 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \44 --prefix stage4-release \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \45 --search-prefix "$PREFIX" \
47 --test-timeout 2m46 --test-timeout 2m \
47 -Dversion-string="$(stage3-release/bin/zig version)" \
48 -Dtarget=$TARGET \
49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
52 -Duse-zig-libcxx \
53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
4856
49# Ensure that the fuzzer at least compiles.57# Ensure that the fuzzer at least compiles.
50stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe58stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=ReleaseSafe
51stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug59stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug
5260
53# Ensure that stage3 and stage4 are byte-for-byte identical.61# Ensure that stage3 and stage4 are byte-for-byte identical.
54stage3-release/bin/zig build \
55 --prefix stage4-release \
56 -Denable-llvm \
57 -Dno-lib \
58 -Doptimize=ReleaseFast \
59 -Dstrip \
60 -Dtarget=$TARGET \
61 -Dcpu=$MCPU \
62 -Duse-zig-libcxx \
63 -Dversion-string="$(stage3-release/bin/zig version)"
64
65echo "If the following command fails, it means nondeterminism has been"62echo "If the following command fails, it means nondeterminism has been"
66echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."63echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
67diff stage3-release/bin/zig stage4-release/bin/zig64diff stage3-release/bin/zig stage4-release/bin/zig
ci/x86_64-openbsd-debug.sh+8-11
...@@ -39,20 +39,17 @@ ninja install...@@ -39,20 +39,17 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-debug/bin/zig build test docs \42stage3-debug/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \
47 --test-timeout 2m
48
49stage3-debug/bin/zig build \
50 --prefix stage4-debug \44 --prefix stage4-debug \
51 -Denable-llvm \45 --search-prefix "$PREFIX" \
52 -Dno-lib \46 --test-timeout 2m \
47 -Dversion-string="$(stage3-debug/bin/zig version)" \
53 -Dtarget=$TARGET \48 -Dtarget=$TARGET \
54 -Dcpu=$MCPU \49 -Dcpu=$MCPU \
55 -Duse-zig-libcxx \50 -Duse-zig-libcxx \
56 -Dversion-string="$(stage3-debug/bin/zig version)"51 -Denable-llvm \
52 -Dno-lib \
53 -Dskip-non-native \
5754
58stage4-debug/bin/zig test ../test/behavior.zig55stage4-debug/bin/zig test ../test/behavior.zig
ci/x86_64-openbsd-release.sh+13-16
...@@ -39,12 +39,20 @@ ninja install...@@ -39,12 +39,20 @@ ninja install
39# Must be done after zig cc is finished.39# Must be done after zig cc is finished.
40export ZIG_LIB_DIR="$PWD/../lib"40export ZIG_LIB_DIR="$PWD/../lib"
4141
42stage3-release/bin/zig build test docs \42stage3-release/bin/zig build install test docs \
43 --maxrss ${ZSF_MAX_RSS:-0} \43 --maxrss "${ZSF_MAX_RSS:-0}" \
44 -Dstatic-llvm \44 --prefix stage4-release \
45 -Dskip-non-native \
46 --search-prefix "$PREFIX" \45 --search-prefix "$PREFIX" \
47 --test-timeout 2m46 --test-timeout 2m \
47 -Dversion-string="$(stage3-release/bin/zig version)" \
48 -Dtarget=$TARGET \
49 -Dcpu=$MCPU \
50 -Doptimize=ReleaseFast \
51 -Dstrip \
52 -Duse-zig-libcxx \
53 -Denable-llvm \
54 -Dno-lib \
55 -Dskip-non-native
4856
49# Ensure that the fuzzer at least compiles.57# Ensure that the fuzzer at least compiles.
50# https://codeberg.org/ziglang/zig/issues/3072858# https://codeberg.org/ziglang/zig/issues/30728
...@@ -52,17 +60,6 @@ stage3-release/bin/zig build test docs \...@@ -52,17 +60,6 @@ stage3-release/bin/zig build test docs \
52#stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug60#stage3-release/bin/zig build test-std --fuzz=1K -Dno-lib -Dfuzz-only -Doptimize=Debug
5361
54# Ensure that stage3 and stage4 are byte-for-byte identical.62# Ensure that stage3 and stage4 are byte-for-byte identical.
55stage3-release/bin/zig build \
56 --prefix stage4-release \
57 -Denable-llvm \
58 -Dno-lib \
59 -Doptimize=ReleaseFast \
60 -Dstrip \
61 -Dtarget=$TARGET \
62 -Dcpu=$MCPU \
63 -Duse-zig-libcxx \
64 -Dversion-string="$(stage3-release/bin/zig version)"
65
66echo "If the following command fails, it means nondeterminism has been"63echo "If the following command fails, it means nondeterminism has been"
67echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."64echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
68diff stage3-release/bin/zig stage4-release/bin/zig65diff stage3-release/bin/zig stage4-release/bin/zig
ci/x86_64-windows-debug.ps1+9-15
...@@ -47,25 +47,19 @@ CheckLastExitCode...@@ -47,25 +47,19 @@ CheckLastExitCode
47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
4848
49Write-Output "Main test suite..."49Write-Output "Main test suite..."
50stage3-debug\bin\zig.exe build test docs `50stage3-debug\bin\zig.exe build install test docs `
51 --maxrss $ZSF_MAX_RSS `51 --maxrss "$ZSF_MAX_RSS" `
52 --search-prefix "$PREFIX_PATH" `
53 -Dstatic-llvm `
54 -Dskip-non-native `
55 -Denable-symlinks-windows `
56 --test-timeout 30m
57CheckLastExitCode
58
59Write-Output "Build and test stage4..."
60stage3-debug\bin\zig.exe build `
61 --prefix stage4-debug `52 --prefix stage4-debug `
62 -Denable-llvm `53 --search-prefix "$PREFIX_PATH" `
63 -Dno-lib `54 --test-timeout 30m `
64 -Doptimize=Debug `55 -Dversion-string="$(stage3-debug\bin\zig.exe version)" `
65 -Dtarget="$TARGET" `56 -Dtarget="$TARGET" `
66 -Dcpu="$MCPU" `57 -Dcpu="$MCPU" `
67 -Duse-zig-libcxx `58 -Duse-zig-libcxx `
68 -Dversion-string="$(stage3-debug\bin\zig.exe version)"59 -Denable-llvm `
60 -Dno-lib `
61 -Denable-symlinks-windows `
62 -Dskip-non-native
69CheckLastExitCode63CheckLastExitCode
7064
71stage4-debug\bin\zig.exe test ..\test\behavior.zig65stage4-debug\bin\zig.exe test ..\test\behavior.zig
ci/x86_64-windows-release.ps1+13-19
...@@ -47,13 +47,21 @@ CheckLastExitCode...@@ -47,13 +47,21 @@ CheckLastExitCode
47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"47$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
4848
49Write-Output "Main test suite..."49Write-Output "Main test suite..."
50stage3-release\bin\zig.exe build test docs `50stage3-release\bin\zig.exe build install test docs `
51 --maxrss $ZSF_MAX_RSS `51 --maxrss "$ZSF_MAX_RSS" `
52 --prefix stage4-release `
52 --search-prefix "$PREFIX_PATH" `53 --search-prefix "$PREFIX_PATH" `
53 -Dstatic-llvm `54 --test-timeout 30m `
54 -Dskip-non-native `55 -Dversion-string="$(stage3-release\bin\zig.exe version)" `
56 -Dtarget="$TARGET" `
57 -Dcpu="$MCPU" `
58 -Doptimize=ReleaseFast `
59 -Dstrip `
60 -Duse-zig-libcxx `
61 -Denable-llvm `
62 -Dno-lib `
55 -Denable-symlinks-windows `63 -Denable-symlinks-windows `
56 --test-timeout 30m64 -Dskip-non-native
57CheckLastExitCode65CheckLastExitCode
5866
59# Ensure that the fuzzer at least compiles.67# Ensure that the fuzzer at least compiles.
...@@ -64,20 +72,6 @@ CheckLastExitCode...@@ -64,20 +72,6 @@ CheckLastExitCode
64# CheckLastExitCode72# CheckLastExitCode
6573
66# Ensure that stage3 and stage4 are byte-for-byte identical.74# Ensure that stage3 and stage4 are byte-for-byte identical.
67Write-Output "Build and compare stage4..."
68stage3-release\bin\zig.exe build `
69 --prefix stage4-release `
70 -Denable-llvm `
71 -Dno-lib `
72 -Doptimize=ReleaseFast `
73 -Dstrip `
74 -Dtarget="$TARGET" `
75 -Dcpu="$MCPU" `
76 -Duse-zig-libcxx `
77 -Dversion-string="$(stage3-release\bin\zig.exe version)"
78CheckLastExitCode
79
80# Compare-Object returns an error code if the files differ.
81Write-Output "If the following command fails, it means nondeterminism has been"75Write-Output "If the following command fails, it means nondeterminism has been"
82Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."76Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."
83Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)77Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)
stage1/config.zig.in-1
...@@ -10,7 +10,6 @@ pub const enable_logging = false;...@@ -10,7 +10,6 @@ pub const enable_logging = false;
10pub const enable_link_snapshots = false;10pub const enable_link_snapshots = false;
11pub const enable_tracy = false;11pub const enable_tracy = false;
12pub const value_tracing = false;12pub const value_tracing = false;
13pub const skip_non_native = false;
14pub const debug_gpa = false;13pub const debug_gpa = false;
15pub const dev = .core;14pub const dev = .core;
16pub const io_mode: enum { threaded, evented } = .threaded;15pub const io_mode: enum { threaded, evented } = .threaded;