mirror of
https://github.com/ziglang/zig.git
synced 2025-12-29 09:33:18 +00:00
CI: add stage3/stage4 determinism check
Makes sure that #12183 will not regress.
This commit is contained in:
parent
b511231f95
commit
faca0e4220
@ -35,10 +35,18 @@ steps:
|
||||
commands:
|
||||
- ./ci/zinc/build_aarch64_macos
|
||||
|
||||
- name: test_determinism
|
||||
depends_on:
|
||||
- test_stage3_release
|
||||
image: ci/debian-amd64:11.1-12
|
||||
commands:
|
||||
- ./ci/zinc/linux_test_determinism
|
||||
|
||||
- name: linux_package
|
||||
depends_on:
|
||||
- test_stage3_debug
|
||||
- test_stage3_release
|
||||
- test_determinism
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
|
||||
28
ci/zinc/linux_test_determinism
Executable file
28
ci/zinc/linux_test_determinism
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
DEPS_LOCAL="/deps/local"
|
||||
ZIG_PREFIX="$DRONE_WORKSPACE/_release/staging"
|
||||
VERSION=$($ZIG_PREFIX/bin/zig version)
|
||||
|
||||
"$ZIG_PREFIX/bin/zig" build \
|
||||
--prefix stage4 \
|
||||
-Dconfig_h="build-release/config.h" \
|
||||
-Denable-llvm \
|
||||
-Denable-stage1 \
|
||||
-Dno-lib \
|
||||
-Drelease \
|
||||
-Dstrip \
|
||||
-Dtarget=x86_64-linux-musl \
|
||||
-Duse-zig-libcxx \
|
||||
-Dversion-string="$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 "$ZIG_PREFIX/bin/zig" "stage4/bin/zig"
|
||||
|
||||
# Explicit exit helps show last command duration.
|
||||
exit
|
||||
Loading…
x
Reference in New Issue
Block a user