Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,12 @@ jobs:
strategy:
fail-fast: false
matrix:
# macos-14 builds with AppleClang 15 (Xcode 15.4), the oldest compiler CoreTrace builds
# the analyzer with; macos-latest has a newer one (#228).
os: [ubuntu-24.04, macos-latest, macos-14]
# macos-15 builds with AppleClang 16 (Xcode 16.0, selected below), the oldest Apple
# compiler GitHub's runners still provide; macos-latest has a newer one (#228).
# GitHub retires macos-14, the only image with Xcode 15, on November 2, 2026
# (actions/runner-images#13518): AppleClang 15 (Xcode 15.4) and the macOS 14 C++ runtime
# are no longer tested here. That is a loss of coverage, not a decision to drop them.
os: [ubuntu-24.04, macos-latest, macos-15]

steps:
- uses: actions/checkout@v4
Expand All @@ -52,6 +55,16 @@ jobs:
echo "LLVM_DIR=/usr/lib/llvm-20/lib/cmake/llvm" >> $GITHUB_ENV
echo "Clang_DIR=/usr/lib/llvm-20/lib/cmake/clang" >> $GITHUB_ENV

# macos-15: the oldest Xcode of the image, for the compiler the matrix names. CMake's
# /usr/bin/c++ follows DEVELOPER_DIR; a missing Xcode 16.0 fails here, not on another one.
- name: Select Xcode 16.0 (macos-15)
if: matrix.os == 'macos-15'
run: |
XCODE=/Applications/Xcode_16.0.app/Contents/Developer
test -d "$XCODE" || { echo "::error::Xcode 16.0 is not on this image"; exit 1; }
echo "DEVELOPER_DIR=$XCODE" >> "$GITHUB_ENV"
DEVELOPER_DIR="$XCODE" /usr/bin/c++ --version

# macOS: install toolchain
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
Expand Down
Loading