CI: -x86_64-macos-debug, +aarch64-macos-debug

It's easier to get M1 hardware for testing than x86_64-macos. This
addresses the current bottleneck in our CI pipeline.
This commit is contained in:
Andrew Kelley 2023-06-20 13:02:37 -07:00
parent 12813d5912
commit 128fd7dd02
3 changed files with 21 additions and 25 deletions

View File

@ -41,15 +41,6 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build and Test - name: Build and Test
run: sh ci/aarch64-linux-release.sh run: sh ci/aarch64-linux-release.sh
x86_64-macos-debug:
runs-on: "macos-11"
env:
ARCH: "x86_64"
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build and Test
run: ci/x86_64-macos-debug.sh
x86_64-macos-release: x86_64-macos-release:
runs-on: "macos-11" runs-on: "macos-11"
env: env:
@ -59,7 +50,7 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build and Test - name: Build and Test
run: ci/x86_64-macos-release.sh run: ci/x86_64-macos-release.sh
aarch64-macos: aarch64-macos-debug:
runs-on: [self-hosted, macOS, aarch64] runs-on: [self-hosted, macOS, aarch64]
env: env:
ARCH: "aarch64" ARCH: "aarch64"
@ -67,7 +58,16 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build and Test - name: Build and Test
run: ci/aarch64-macos.sh run: ci/aarch64-macos-debug.sh
aarch64-macos-release:
runs-on: [self-hosted, macOS, aarch64]
env:
ARCH: "aarch64"
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build and Test
run: ci/aarch64-macos-release.sh
x86_64-windows-debug: x86_64-windows-debug:
runs-on: windows-latest runs-on: windows-latest
env: env:

View File

@ -3,19 +3,14 @@
set -x set -x
set -e set -e
# Script assumes the presence of the following:
# s3cmd
ZIGDIR="$(pwd)" ZIGDIR="$(pwd)"
TARGET="$ARCH-macos-none" TARGET="$ARCH-macos-none"
MCPU="baseline" MCPU="baseline"
CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.11.0-dev.2441+eb19f73af" CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.11.0-dev.2441+eb19f73af"
PREFIX="$HOME/$CACHE_BASENAME" PREFIX="$HOME/$CACHE_BASENAME"
JOBS="-j3"
rm -rf $PREFIX
cd $HOME
curl -L -O "https://ziglang.org/deps/$CACHE_BASENAME.tar.xz"
tar xf "$CACHE_BASENAME.tar.xz"
ZIG="$PREFIX/bin/zig" ZIG="$PREFIX/bin/zig"
cd $ZIGDIR cd $ZIGDIR
@ -26,7 +21,6 @@ git config core.abbrev 9
git fetch --unshallow || true git fetch --unshallow || true
git fetch --tags git fetch --tags
rm -rf build
mkdir build mkdir build
cd build cd build
@ -36,18 +30,20 @@ cd build
export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache"
export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache"
cmake .. \ PATH="$HOME/local/bin:$PATH" cmake .. \
-DCMAKE_INSTALL_PREFIX="stage3-debug" \
-DCMAKE_PREFIX_PATH="$PREFIX" \ -DCMAKE_PREFIX_PATH="$PREFIX" \
-DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_COMPILER="$ZIG;cc;-target;$TARGET;-mcpu=$MCPU" \ -DCMAKE_C_COMPILER="$ZIG;cc;-target;$TARGET;-mcpu=$MCPU" \
-DCMAKE_CXX_COMPILER="$ZIG;c++;-target;$TARGET;-mcpu=$MCPU" \ -DCMAKE_CXX_COMPILER="$ZIG;c++;-target;$TARGET;-mcpu=$MCPU" \
-DZIG_TARGET_TRIPLE="$TARGET" \ -DZIG_TARGET_TRIPLE="$TARGET" \
-DZIG_TARGET_MCPU="$MCPU" \ -DZIG_TARGET_MCPU="$MCPU" \
-DZIG_STATIC=ON -DZIG_STATIC=ON \
-GNinja
make $JOBS install $HOME/local/bin/ninja install
stage3/bin/zig build test docs \ stage3-debug/bin/zig build test docs \
--zig-lib-dir "$(pwd)/../lib" \ --zig-lib-dir "$(pwd)/../lib" \
-Denable-macos-sdk \ -Denable-macos-sdk \
-Dstatic-llvm \ -Dstatic-llvm \
@ -55,4 +51,4 @@ stage3/bin/zig build test docs \
--search-prefix "$PREFIX" --search-prefix "$PREFIX"
# Produce the experimental std lib documentation. # Produce the experimental std lib documentation.
stage3/bin/zig test ../lib/std/std.zig -femit-docs -fno-emit-bin --zig-lib-dir ../lib stage3-debug/bin/zig test ../lib/std/std.zig -femit-docs -fno-emit-bin --zig-lib-dir ../lib