make arena patch reserve stable #198
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
jobs: | |
gcc12-basic-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-gcc12-basic-asan-${{github.sha}} | |
restore-keys: bazel-disk-gcc12-basic-asan- | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --features=asan test/... | |
gcc12-basic-tsan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-gcc12-basic-tsan-${{github.sha}} | |
restore-keys: bazel-disk-gcc12-basic-tsan- | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --features=tsan test/... | |
gcc12-arenastring-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-gcc12-arenastring-${{github.sha}} | |
restore-keys: bazel-disk-gcc12-arenastring- | |
- run: sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --config=arenastring --features=asan test/... | |
gcc12-mutable-donated-string-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-gcc12-mutable-donated-string-${{github.sha}} | |
restore-keys: bazel-disk-gcc12-mutable-donated-string- | |
- run: sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --config=mutable-donated-string --features=asan test/... | |
gcc12-cxx14-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-gcc12-cxx14-asan-${{github.sha}} | |
restore-keys: bazel-disk-gcc12-cxx14-asan- | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --cxxopt=-std=c++14 --cxxopt=-faligned-new --features=asan test/... | |
clang14-basic-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-clang14-basic-asan-${{github.sha}} | |
restore-keys: bazel-disk-clang14-basic-asan- | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --features=asan test/... | |
clang14-basic-tsan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-clang14-basic-tsan-${{github.sha}} | |
restore-keys: bazel-disk-clang14-basic-tsan- | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --features=tsan test/... | |
clang14-arenastring-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-clang14-arenastring-${{github.sha}} | |
restore-keys: bazel-disk-clang14-arenastring- | |
- run: sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --config=arenastring --features=asan test/... | |
clang14-mutable-donated-string-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-clang14-mutable-donated-string-${{github.sha}} | |
restore-keys: bazel-disk-clang14-mutable-donated-string- | |
- run: sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --config=mutable-donated-string --features=asan test/... | |
clang14-cxx14-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-clang14-cxx14-asan-${{github.sha}} | |
restore-keys: bazel-disk-clang14-cxx14-asan- | |
- run: bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --cxxopt=-std=c++14 --cxxopt=-faligned-new --features=asan test/... | |
gcc12-aarch64-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-gcc12-aarch64-asan-${{github.sha}} | |
restore-keys: bazel-disk-gcc12-aarch64-asan- | |
- run: sudo apt update | |
- run: sudo apt install g++-12-aarch64-linux-gnu | |
- run: sudo apt install qemu-user | |
- run: sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib/ | |
- run: bazel test --disk_cache=bazel-disk --platforms='@cross_config_toolchain//:cross' --action_env=CROSS_CC=/usr/bin/aarch64-linux-gnu-gcc-12 --features=-default_link_flags --features=asan --linkopt=-fuse-ld=gold --test_env=LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib --test_env=ASAN_OPTIONS=detect_odr_violation=1:detect_leaks=0 test/... | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: bazel-disk | |
key: bazel-disk-coverage-${{github.sha}} | |
restore-keys: bazel-disk-coverage- | |
- run: bazel coverage --disk_cache=bazel-disk --combined_report=lcov --instrumentation_filter='src/babylon,-src/babylon/reusable/patch' test/... | |
- run: .github/workflows/filter_lcov.sh | |
- uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{github.token}} | |
file: bazel-out/_coverage/_coverage_report.lcov | |
cmake: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: hendrikmuhs/ccache-action@v1.2 | |
- run: cmake -Bbuild -DBUILD_DEPS=ON -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
- run: cmake --build build --parallel $(nproc) | |
- run: ctest --test-dir build --output-on-failure --parallel $(nproc) |