Skip to content

Commit 16d96b9

Browse files
authored
Fix CI (#776)
This PR updates to aspects of the CI to fix blocked PRs: It moves the Bazel CI into its own set of actions, so failure can be isolated from other tasks. Updates the clang-cl version used in CI for self-vendored build as it was failing with the default.
1 parent 0064c01 commit 16d96b9

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

.github/workflows/main.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,19 @@ jobs:
107107
mkdir libs
108108
cp libsnmallocshim*.so libs
109109
for lib in `ls libs`; do echo; echo Testing $lib; ninja clean; LD_PRELOAD=libs/$lib ninja libsnmallocshim.so; done
110+
111+
bazel:
112+
strategy:
113+
matrix:
114+
# Build each combination of OS and release/debug variants
115+
os: [ "ubuntu-24.04", "ubuntu-22.04", "macos-13", "macos-14", "macos-15" ]
116+
build-type: [ "Release", "Debug" ]
117+
# Don't abort runners if a single one fails
118+
fail-fast: false
119+
runs-on: ${{ matrix.os }}
120+
name: Bazel - ${{ matrix.os }} ${{ matrix.build-type }}
121+
steps:
122+
- uses: actions/checkout@v4
110123
- uses: bazelbuild/setup-bazelisk@v3
111124
- name: Mount bazel cache # Optional
112125
uses: actions/cache@v4
@@ -115,6 +128,8 @@ jobs:
115128
key: bazel
116129
- run: bazel build -c opt //:snmalloc
117130
- run: bazel build -c opt //:snmalloc-rs
131+
- run: bazel test -c opt --config=asan //fuzzing:snmalloc_fuzzer
132+
if: ${{ matrix.os != 'macos-13' && matrix.os != 'macos-14' && matrix.os != 'macos-15' }}
118133

119134
# If this looks remarkably familiar, that's because it is. Sigh.
120135
macos:
@@ -159,15 +174,6 @@ jobs:
159174
mkdir libs
160175
cp libsnmallocshim*.so libs
161176
for lib in `ls libs`; do echo; echo Testing $lib; ninja clean; LD_PRELOAD=libs/$lib ninja libsnmallocshim.so; done
162-
- uses: bazelbuild/setup-bazelisk@v3
163-
- name: Mount bazel cache # Optional
164-
uses: actions/cache@v4
165-
with:
166-
path: "~/.cache/bazel"
167-
key: bazel
168-
- run: bazel build -c opt //:snmalloc
169-
- run: bazel build -c opt //:snmalloc-rs
170-
171177
172178
# GitHub doesn't natively support *BSD, but we can run them in VMs on Mac /
173179
# Linux runners
@@ -503,13 +509,6 @@ jobs:
503509
run: cmake --build ${{github.workspace}}/build --target snmalloc-fuzzer
504510
- name: Test
505511
run: ${{github.workspace}}/build/fuzzing/snmalloc-fuzzer
506-
- uses: bazelbuild/setup-bazelisk@v3
507-
- name: Mount bazel cache # Optional
508-
uses: actions/cache@v4
509-
with:
510-
path: "~/.cache/bazel"
511-
key: bazel
512-
- run: bazel test -c opt --config=asan //fuzzing:snmalloc_fuzzer
513512

514513
self-vendored:
515514
strategy:
@@ -535,6 +534,7 @@ jobs:
535534
- name: Prepare Windows
536535
if: runner.os == 'Windows'
537536
run: |
537+
choco upgrade llvm
538538
choco install ninja
539539
- name: Prepare macOS
540540
if: runner.os == 'macOS'

0 commit comments

Comments
 (0)