Commit b1f874c78a
Changed files (2)
ci/aarch64-macos.sh
@@ -52,3 +52,19 @@ stage3-release/bin/zig build test docs \
# Produce the experimental std lib documentation.
stage3-release/bin/zig test ../lib/std/std.zig -femit-docs -fno-emit-bin --zig-lib-dir ../lib
+
+# Ensure that stage3 and stage4 are byte-for-byte identical.
+stage3-release/bin/zig build \
+ --prefix stage4-release \
+ -Denable-llvm \
+ -Dno-lib \
+ -Drelease \
+ -Dstrip \
+ -Dtarget=$TARGET \
+ -Duse-zig-libcxx \
+ -Dversion-string="$(stage3-release/bin/zig version)"
+
+# diff returns an error code if the files differ.
+echo "If the following command fails, it means nondeterminism has been"
+echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
+diff stage3-release/bin/zig stage4-release/bin/zig
ci/x86_64-macos.sh
@@ -60,3 +60,19 @@ stage3-release/bin/zig build test docs \
# Produce the experimental std lib documentation.
stage3-release/bin/zig test ../lib/std/std.zig -femit-docs -fno-emit-bin --zig-lib-dir ../lib
+
+# Ensure that stage3 and stage4 are byte-for-byte identical.
+stage3-release/bin/zig build \
+ --prefix stage4-release \
+ -Denable-llvm \
+ -Dno-lib \
+ -Drelease \
+ -Dstrip \
+ -Dtarget=$TARGET \
+ -Duse-zig-libcxx \
+ -Dversion-string="$(stage3-release/bin/zig version)"
+
+# diff returns an error code if the files differ.
+echo "If the following command fails, it means nondeterminism has been"
+echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
+diff stage3-release/bin/zig stage4-release/bin/zig