@@ -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