From d9165aacce3629d503f87cd2c3f612629127641b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 26 Mar 2025 16:13:05 +0100 Subject: [PATCH 1/4] ci: Set execute bit on aarch64-linux scripts. --- ci/aarch64-linux-debug.sh | 0 ci/aarch64-linux-release.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 ci/aarch64-linux-debug.sh mode change 100644 => 100755 ci/aarch64-linux-release.sh diff --git a/ci/aarch64-linux-debug.sh b/ci/aarch64-linux-debug.sh old mode 100644 new mode 100755 diff --git a/ci/aarch64-linux-release.sh b/ci/aarch64-linux-release.sh old mode 100644 new mode 100755 From 628092c8c7a04e9f97c5f357d34f58431e68c9fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 26 Mar 2025 16:19:49 +0100 Subject: [PATCH 2/4] ci: Don't build the compiler for arm-linux-musleabihf on aarch64-linux. We already do this smoke test on the x86_64-linux machines, so I don't see a point in duplicating this effort here. --- ci/aarch64-linux-debug.sh | 5 ----- ci/aarch64-linux-release.sh | 5 ----- 2 files changed, 10 deletions(-) diff --git a/ci/aarch64-linux-debug.sh b/ci/aarch64-linux-debug.sh index 220aaf12d9..8807b31c4c 100755 --- a/ci/aarch64-linux-debug.sh +++ b/ci/aarch64-linux-debug.sh @@ -48,11 +48,6 @@ unset CXX ninja install -# simultaneously test building self-hosted without LLVM and with 32-bit arm -stage3-debug/bin/zig build \ - -Dtarget=arm-linux-musleabihf \ - -Dno-lib - # No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts. stage3-debug/bin/zig build test docs \ --maxrss 24696061952 \ diff --git a/ci/aarch64-linux-release.sh b/ci/aarch64-linux-release.sh index 69eed679e3..331cf3f098 100755 --- a/ci/aarch64-linux-release.sh +++ b/ci/aarch64-linux-release.sh @@ -48,11 +48,6 @@ unset CXX ninja install -# simultaneously test building self-hosted without LLVM and with 32-bit arm -stage3-release/bin/zig build \ - -Dtarget=arm-linux-musleabihf \ - -Dno-lib - # No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts. stage3-release/bin/zig build test docs \ --maxrss 24696061952 \ From 27108cc99e46c354a1f0284aef40cdfee4eddfad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 26 Mar 2025 16:25:31 +0100 Subject: [PATCH 3/4] ci: Don't do the update-zig1 test steps on aarch64-linux. We already do these on the x86_64-linux machines. They're fairly costly, and it seems very unlikely to me that they'll uncover issues that wouldn't be uncovered on x86_64-linux. --- ci/aarch64-linux-debug.sh | 32 -------------------------------- ci/aarch64-linux-release.sh | 32 -------------------------------- 2 files changed, 64 deletions(-) diff --git a/ci/aarch64-linux-debug.sh b/ci/aarch64-linux-debug.sh index 8807b31c4c..b63614ffe2 100755 --- a/ci/aarch64-linux-debug.sh +++ b/ci/aarch64-linux-debug.sh @@ -56,35 +56,3 @@ stage3-debug/bin/zig build test docs \ --search-prefix "$PREFIX" \ --zig-lib-dir "$PWD/../lib" \ -Denable-superhtml - -# Ensure that updating the wasm binary from this commit will result in a viable build. -stage3-debug/bin/zig build update-zig1 - -mkdir ../build-new -cd ../build-new - -export CC="$ZIG cc -target $TARGET -mcpu=$MCPU" -export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" - -cmake .. \ - -DCMAKE_PREFIX_PATH="$PREFIX" \ - -DCMAKE_BUILD_TYPE=Debug \ - -DZIG_TARGET_TRIPLE="$TARGET" \ - -DZIG_TARGET_MCPU="$MCPU" \ - -DZIG_STATIC=ON \ - -DZIG_NO_LIB=ON \ - -GNinja - -unset CC -unset CXX - -ninja install - -stage3/bin/zig test ../test/behavior.zig -stage3/bin/zig build -p stage4 \ - -Dstatic-llvm \ - -Dtarget=native-native-musl \ - -Dno-lib \ - --search-prefix "$PREFIX" \ - --zig-lib-dir "$PWD/../lib" -stage4/bin/zig test ../test/behavior.zig diff --git a/ci/aarch64-linux-release.sh b/ci/aarch64-linux-release.sh index 331cf3f098..f6602850a9 100755 --- a/ci/aarch64-linux-release.sh +++ b/ci/aarch64-linux-release.sh @@ -72,35 +72,3 @@ stage3-release/bin/zig build \ 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 - -# Ensure that updating the wasm binary from this commit will result in a viable build. -stage3-release/bin/zig build update-zig1 - -mkdir ../build-new -cd ../build-new - -export CC="$ZIG cc -target $TARGET -mcpu=$MCPU" -export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" - -cmake .. \ - -DCMAKE_PREFIX_PATH="$PREFIX" \ - -DCMAKE_BUILD_TYPE=Release \ - -DZIG_TARGET_TRIPLE="$TARGET" \ - -DZIG_TARGET_MCPU="$MCPU" \ - -DZIG_STATIC=ON \ - -DZIG_NO_LIB=ON \ - -GNinja - -unset CC -unset CXX - -ninja install - -stage3/bin/zig test ../test/behavior.zig -stage3/bin/zig build -p stage4 \ - -Dstatic-llvm \ - -Dtarget=native-native-musl \ - -Dno-lib \ - --search-prefix "$PREFIX" \ - --zig-lib-dir "$PWD/../lib" -stage4/bin/zig test ../test/behavior.zig From 09783b8544fe69e7a52ed7bee4e74cd510a217be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Thu, 27 Mar 2025 00:21:17 +0100 Subject: [PATCH 4/4] ci: Build stage4 and run behavior tests with it on aarch64-linux-debug. This ensures that we at least have some relatively lightweight coverage of building and using stage4 from a newly built stage3. --- ci/aarch64-linux-debug.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ci/aarch64-linux-debug.sh b/ci/aarch64-linux-debug.sh index b63614ffe2..143dd7c1c9 100755 --- a/ci/aarch64-linux-debug.sh +++ b/ci/aarch64-linux-debug.sh @@ -56,3 +56,13 @@ stage3-debug/bin/zig build test docs \ --search-prefix "$PREFIX" \ --zig-lib-dir "$PWD/../lib" \ -Denable-superhtml + +stage3-debug/bin/zig build \ + --prefix stage4-debug \ + -Denable-llvm \ + -Dno-lib \ + -Dtarget=$TARGET \ + -Duse-zig-libcxx \ + -Dversion-string="$(stage3-debug/bin/zig version)" + +stage4-debug/bin/zig test ../test/behavior.zig