Skip to content

Commit 40b164e

Browse files
committed
ci: Run on macOS (ARM, Intel)
1 parent de3d1d5 commit 40b164e

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ jobs:
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

Comments
 (0)