authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-08-02 15:37:23-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-08-02 15:37:23-07:00
log9e2668cd2ecc587390335e1c9f6e1592a7bd6eb6
treeba1b1ffe71d5f7531f377653b902f1e2b5b776e2
parent2e26cf83cf06b6204a1ea300403e7cf19e1e91e8
parent76ebae2ee0b3322a9bdba30f14f87d00a22dbadb
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #20906 from alexrp/repro-windows

`ci`: Add stage3/4 diff to Linux (aarch64) and windows (aarch64, x86_64) release scripts.

3 files changed, 54 insertions(+), 0 deletions(-)

ci/aarch64-linux-release.sh+16
...@@ -64,6 +64,22 @@ stage3-release/bin/zig build test docs \...@@ -64,6 +64,22 @@ stage3-release/bin/zig build test docs \
64 --zig-lib-dir "$PWD/../lib" \64 --zig-lib-dir "$PWD/../lib" \
65 -Denable-tidy65 -Denable-tidy
6666
67# Ensure that stage3 and stage4 are byte-for-byte identical.
68stage3-release/bin/zig build \
69 --prefix stage4-release \
70 -Denable-llvm \
71 -Dno-lib \
72 -Doptimize=ReleaseFast \
73 -Dstrip \
74 -Dtarget=$TARGET \
75 -Duse-zig-libcxx \
76 -Dversion-string="$(stage3-release/bin/zig version)"
77
78# diff returns an error code if the files differ.
79echo "If the following command fails, it means nondeterminism has been"
80echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
81diff stage3-release/bin/zig stage4-release/bin/zig
82
67# Ensure that updating the wasm binary from this commit will result in a viable build.83# Ensure that updating the wasm binary from this commit will result in a viable build.
68stage3-release/bin/zig build update-zig184stage3-release/bin/zig build update-zig1
6985
ci/aarch64-windows.ps1+19
...@@ -69,3 +69,22 @@ Write-Output "Main test suite..."...@@ -69,3 +69,22 @@ Write-Output "Main test suite..."
69 -Dskip-non-native `69 -Dskip-non-native `
70 -Denable-symlinks-windows70 -Denable-symlinks-windows
71CheckLastExitCode71CheckLastExitCode
72
73# Ensure that stage3 and stage4 are byte-for-byte identical.
74Write-Output "Build and compare stage4..."
75& "stage3-release\bin\zig.exe" build `
76 --prefix stage4-release `
77 -Denable-llvm `
78 -Dno-lib `
79 -Doptimize=ReleaseFast `
80 -Dstrip `
81 -Dtarget="$TARGET" `
82 -Duse-zig-libcxx `
83 -Dversion-string="$(stage3-release\bin\zig version)"
84CheckLastExitCode
85
86# Compare-Object returns an error code if the files differ.
87Write-Output "If the following command fails, it means nondeterminism has been"
88Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."
89Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)
90CheckLastExitCode
ci/x86_64-windows-release.ps1+19
...@@ -70,6 +70,25 @@ Write-Output "Main test suite..."...@@ -70,6 +70,25 @@ Write-Output "Main test suite..."
70 -Denable-symlinks-windows70 -Denable-symlinks-windows
71CheckLastExitCode71CheckLastExitCode
7272
73# Ensure that stage3 and stage4 are byte-for-byte identical.
74Write-Output "Build and compare stage4..."
75& "stage3-release\bin\zig.exe" build `
76 --prefix stage4-release `
77 -Denable-llvm `
78 -Dno-lib `
79 -Doptimize=ReleaseFast `
80 -Dstrip `
81 -Dtarget="$TARGET" `
82 -Duse-zig-libcxx `
83 -Dversion-string="$(stage3-release\bin\zig version)"
84CheckLastExitCode
85
86# Compare-Object returns an error code if the files differ.
87Write-Output "If the following command fails, it means nondeterminism has been"
88Write-Output "introduced, making stage3 and stage4 no longer byte-for-byte identical."
89Compare-Object (Get-Content stage3-release\bin\zig.exe) (Get-Content stage4-release\bin\zig.exe)
90CheckLastExitCode
91
73Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."92Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
74& "stage3-release\bin\zig.exe" test `93& "stage3-release\bin\zig.exe" test `
75 ..\test\behavior.zig `94 ..\test\behavior.zig `