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 \
6464 --zig-lib-dir "$PWD/../lib" \
6565 -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
6783# Ensure that updating the wasm binary from this commit will result in a viable build.
6884stage3-release/bin/zig build update-zig1
6985
ci/aarch64-windows.ps1+19
......@@ -69,3 +69,22 @@ Write-Output "Main test suite..."
6969 -Dskip-non-native `
7070 -Denable-symlinks-windows
7171CheckLastExitCode
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..."
7070 -Denable-symlinks-windows
7171CheckLastExitCode
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
7392Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
7493& "stage3-release\bin\zig.exe" test `
7594 ..\test\behavior.zig `