6565 llvm : 21
6666 exclude-features : llvm-20,rust-llvm-20
6767 platform :
68+ - os : macos-latest
69+ - os : macos-15-intel
6870 - os : ubuntu-22.04
6971 - os : ubuntu-22.04-arm
7072 llvm-from :
@@ -105,6 +107,7 @@ jobs:
105107 run : cargo install btfdump
106108
107109 - name : Add clang to PATH
110+ if : runner.os == 'Linux'
108111 # ubuntu-22.04 comes with clang 13-15[0]; support for signed and 64bit
109112 # enum values was added in clang 15[1] which isn't in `$PATH`.
110113 #
@@ -115,8 +118,8 @@ jobs:
115118 set -euxo pipefail
116119 echo /usr/lib/llvm-15/bin >> $GITHUB_PATH
117120
118- - name : Install LLVM
119- if : matrix.llvm-from == 'packages'
121+ - name : Install LLVM (Linux, packages)
122+ if : matrix.llvm-from == 'packages' && runner.os == 'Linux'
120123 run : |
121124 set -euxo pipefail
122125 wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
@@ -127,6 +130,14 @@ jobs:
127130 echo /usr/lib/llvm-${{ matrix.llvm-version }}/bin >> $GITHUB_PATH
128131 echo /usr/lib/llvm-${{ matrix.toolchain.llvm }}/bin >> $GITHUB_PATH
129132
133+ - name : Install LLVM (macOS, packages)
134+ if : matrix.llvm-from == 'packages' && runner.os == 'macOS'
135+ run : |
136+ set -euxo pipefail
137+ brew install llvm@${{ matrix.toolchain.llvm }}
138+ echo $(brew --prefix llvm@${{ matrix.toolchain.llvm }})/bin >> $GITHUB_PATH
139+ echo "DYLD_LIBRARY_PATH=$(brew --prefix llvm@${{ matrix.toolchain.llvm }})/lib" >> $GITHUB_ENV
140+
130141 - name : Restore LLVM
131142 if : matrix.llvm-from == 'source'
132143 uses : actions/cache/restore@v4
@@ -205,18 +216,18 @@ jobs:
205216 --features ${{ env.LLVM_FEATURES }}
206217
207218 - uses : actions/checkout@v6
208- if : matrix.toolchain.rust == 'nightly'
219+ if : runner.os == 'Linux' && matrix.toolchain.rust == 'nightly'
209220 with :
210221 repository : aya-rs/aya
211222 path : aya
212223 submodules : recursive
213224
214225 - name : Install
215- if : matrix.toolchain.rust == 'nightly'
226+ if : runner.os == 'Linux' && matrix.toolchain.rust == 'nightly'
216227 run : cargo install --path . --no-default-features --features ${{ env.LLVM_FEATURES }}
217228
218229 - name : Run aya integration tests
219- if : matrix.toolchain.rust == 'nightly'
230+ if : runner.os == 'Linux' && matrix.toolchain.rust == 'nightly'
220231 working-directory : aya
221232 run : cargo xtask integration-test local
222233
0 commit comments