authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-21 12:36:50-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-21 12:36:50-07:00
log2a97e0af6d42e038d962890a320e262e676d44cb
tree318a62760a5832e29aaa6e016d9a41b18a11d928
parent4d8dcccbd416ec49bcd681374c90bbe9a11ed5ca

CI: stop testing x86_64-macos

There are two reasons for this: 1. Apple is about to drop support for this target. Zig will keep support but move it to a lower tier - one that does not require continuous CI testing. Support for this target will be maintained by the enthusiasm of contributors but will not block other bug fixes and enhancements. 2. This is our only non-self-hosted action runner. We are migrating away from GitHub soon at which point this runner will no longer be available.

2 files changed, 0 insertions(+), 84 deletions(-)

.github/workflows/ci.yaml-9
...@@ -50,15 +50,6 @@ jobs:...@@ -50,15 +50,6 @@ jobs:
50 uses: actions/checkout@v450 uses: actions/checkout@v4
51 - name: Build and Test51 - name: Build and Test
52 run: sh ci/aarch64-linux-release.sh52 run: sh ci/aarch64-linux-release.sh
53 x86_64-macos-release:
54 runs-on: "macos-13"
55 env:
56 ARCH: "x86_64"
57 steps:
58 - name: Checkout
59 uses: actions/checkout@v4
60 - name: Build and Test
61 run: ci/x86_64-macos-release.sh
62 aarch64-macos-debug:53 aarch64-macos-debug:
63 runs-on: [self-hosted, macOS, aarch64]54 runs-on: [self-hosted, macOS, aarch64]
64 env:55 env:
ci/x86_64-macos-release.sh deleted-75
...@@ -1,75 +0,0 @@
1#!/bin/sh
2
3set -x
4set -e
5
6ZIGDIR="$PWD"
7TARGET="$ARCH-macos-none"
8MCPU="baseline"
9CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.16.0-dev.104+689461e31"
10PREFIX="$HOME/$CACHE_BASENAME"
11JOBS="-j3"
12ZIG="$PREFIX/bin/zig"
13
14if [ ! -d "$PREFIX" ]; then
15 cd $HOME
16 curl -L -O "https://ziglang.org/deps/$CACHE_BASENAME.tar.xz"
17 tar xf "$CACHE_BASENAME.tar.xz"
18fi
19
20cd $ZIGDIR
21
22# Make the `zig version` number consistent.
23# This will affect the cmake command below.
24git fetch --unshallow || true
25git fetch --tags
26
27# Override the cache directories because they won't actually help other CI runs
28# which will be testing alternate versions of zig, and ultimately would just
29# fill up space on the hard drive for no reason.
30export ZIG_GLOBAL_CACHE_DIR="$PWD/zig-global-cache"
31export ZIG_LOCAL_CACHE_DIR="$PWD/zig-local-cache"
32
33# Test building from source without LLVM.
34cc -o bootstrap bootstrap.c
35./bootstrap
36./zig2 build -Dno-lib
37./zig-out/bin/zig test test/behavior.zig
38
39mkdir build
40cd build
41
42cmake .. \
43 -DCMAKE_PREFIX_PATH="$PREFIX" \
44 -DCMAKE_BUILD_TYPE=Release \
45 -DCMAKE_C_COMPILER="$ZIG;cc;-target;$TARGET;-mcpu=$MCPU" \
46 -DCMAKE_CXX_COMPILER="$ZIG;c++;-target;$TARGET;-mcpu=$MCPU" \
47 -DZIG_TARGET_TRIPLE="$TARGET" \
48 -DZIG_TARGET_MCPU="$MCPU" \
49 -DZIG_STATIC=ON \
50 -DZIG_NO_LIB=ON
51
52make $JOBS install
53
54stage3/bin/zig build test docs \
55 --zig-lib-dir "$PWD/../lib" \
56 -Denable-macos-sdk \
57 -Dstatic-llvm \
58 -Dskip-non-native \
59 --search-prefix "$PREFIX"
60
61# Ensure that stage3 and stage4 are byte-for-byte identical.
62stage3/bin/zig build \
63 --prefix stage4 \
64 -Denable-llvm \
65 -Dno-lib \
66 -Doptimize=ReleaseFast \
67 -Dstrip \
68 -Dtarget=$TARGET \
69 -Duse-zig-libcxx \
70 -Dversion-string="$(stage3/bin/zig version)"
71
72# diff returns an error code if the files differ.
73echo "If the following command fails, it means nondeterminism has been"
74echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
75diff stage3/bin/zig stage4/bin/zig