commit 6def9cee009a0ce300c8625d1d11a54e4e35c3f6 (tree)
parent 624fa8523a2c4158ddc9fce231181a9e8583a633
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Fri, 2 Aug 2024 00:54:05 +0200
ci: Add stage3/4 diff to (aarch64,x86_64)-windows-release scripts.
Diffstat:
2 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/ci/aarch64-windows.ps1 b/ci/aarch64-windows.ps1
@@ -69,3 +69,22 @@ Write-Output "Main test suite..."
-Dskip-non-native `
-Denable-symlinks-windows
CheckLastExitCode
+
+# Ensure that stage3 and stage4 are byte-for-byte identical.
+Write-Output "Build and compare stage4..."
+& "stage3-release\bin\zig.exe" build `
+ --prefix stage4-release `
+ -Denable-llvm `
+ -Dno-lib `
+ -Doptimize=ReleaseFast `
+ -Dstrip `
+ -Dtarget="$TARGET" `
+ -Duse-zig-libcxx `
+ -Dversion-string="$(stage3-release\bin\zig version)"
+CheckLastExitCode
+
+# Compare-Object returns an error code if the files differ.
+Write-Output "If the following command fails, it means nondeterminism has been"
+Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."
+Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)
+CheckLastExitCode
diff --git a/ci/x86_64-windows-release.ps1 b/ci/x86_64-windows-release.ps1
@@ -70,6 +70,25 @@ Write-Output "Main test suite..."
-Denable-symlinks-windows
CheckLastExitCode
+# Ensure that stage3 and stage4 are byte-for-byte identical.
+Write-Output "Build and compare stage4..."
+& "stage3-release\bin\zig.exe" build `
+ --prefix stage4-release `
+ -Denable-llvm `
+ -Dno-lib `
+ -Doptimize=ReleaseFast `
+ -Dstrip `
+ -Dtarget="$TARGET" `
+ -Duse-zig-libcxx `
+ -Dversion-string="$(stage3-release\bin\zig version)"
+CheckLastExitCode
+
+# Compare-Object returns an error code if the files differ.
+Write-Output "If the following command fails, it means nondeterminism has been"
+Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."
+Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)
+CheckLastExitCode
+
Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
& "stage3-release\bin\zig.exe" test `
..\test\behavior.zig `