support decompressing fixed huffman blocks #747
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: check | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: ["*"] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [gcc, clang] | |
feature: ["", asan, tsan, ubsan] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: set buildbuddy-api-key | |
run: | | |
echo 'build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}' >> .bazelrc | |
- name: set bazel upload flags | |
if: github.ref != 'refs/heads/master' | |
run: | | |
echo 'build --noremote_upload_local_results' >> .bazelrc | |
- name: mount bazel other caches | |
# restore only on these jobs because GitHub free doesn't | |
# give us much cache space. | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
"~/.cache/bazel_install_base" | |
"~/.cache/bazel_output_base/external" | |
"~/.cache/bazel_repository_cache" | |
"~/.cache/bazelisk" | |
key: bazel-other | |
- name: install libtinfo5 | |
# clang tools load libtinfo5 for color diagnostics but `ubuntu-latest` | |
# runners already have `libtinfo.so.6` installed. We just create a | |
# symlink since it's faster than installing libtinfo5. | |
# https://github.com/circleci/circleci-images/issues/430#issuecomment-522602495 | |
run: | | |
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5 | |
- run: | | |
bazel \ | |
--bazelrc=.github/workflows/ci.bazelrc \ | |
test \ | |
--config=${{ matrix.toolchain }} \ | |
--features=${{ matrix.feature }} \ | |
//... | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: set buildbuddy-api-key | |
run: | | |
echo 'build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}' >> .bazelrc | |
- name: set bazel upload flags | |
if: github.ref != 'refs/heads/master' | |
run: | | |
echo 'build --noremote_upload_local_results' >> .bazelrc | |
- name: mount bazel other caches | |
# This is the only one that writes to the cache, not restore. | |
# The contents of this stuff should not be dependent on build flags, | |
# so can be shared across all jobs. | |
# Somewhat arbitrary to have this be the one that writes to the cache; | |
# just taking advantage of the fact that this one is | |
# not a matrix and so only has one job. | |
uses: actions/cache@v3 | |
if: github.ref == 'refs/heads/master' | |
with: | |
path: | | |
"~/.cache/bazel_install_base" | |
"~/.cache/bazel_output_base/external" | |
"~/.cache/bazel_repository_cache" | |
"~/.cache/bazelisk" | |
key: bazel-other | |
- name: mount bazel other caches | |
uses: actions/cache/restore@v3 | |
if: github.ref != 'refs/heads/master' | |
with: | |
path: | | |
"~/.cache/bazel_install_base" | |
"~/.cache/bazel_output_base/external" | |
"~/.cache/bazel_repository_cache" | |
"~/.cache/bazelisk" | |
key: bazel-other | |
- name: install libtinfo5 | |
# clang tools load libtinfo5 for color diagnostics but `ubuntu-latest` | |
# runners already have `libtinfo.so.6` installed. We just create a | |
# symlink since it's faster than installing libtinfo5. | |
# https://github.com/circleci/circleci-images/issues/430#issuecomment-522602495 | |
run: | | |
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5 | |
- run: | | |
bazel \ | |
--bazelrc=.github/workflows/ci.bazelrc \ | |
coverage \ | |
--instrumentation_filter="-/:boost_ut" \ | |
//... | |
- uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./bazel-out/_coverage/_coverage_report.dat | |
fail_ci_if_error: true | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
flag: | |
- "--config=clang-format" | |
- "--config=clang-tidy" | |
- "--config=verbose-clang-tidy" | |
- "--compilation_mode=opt" | |
exclude: | |
- flag: ${{ github.event_name == 'pull_request' && '--config=verbose-clang-tidy' || 'dummy' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: set buildbuddy-api-key | |
run: | | |
echo 'build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}' >> .bazelrc | |
- name: set bazel upload flags | |
if: github.ref != 'refs/heads/master' | |
run: | | |
echo 'build --noremote_upload_local_results' >> .bazelrc | |
- name: mount bazel other caches | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
"~/.cache/bazel_install_base" | |
"~/.cache/bazel_output_base" | |
"~/.cache/bazel_repository_cache" | |
"~/.cache/bazelisk" | |
key: bazel-other | |
- name: install libtinfo5 | |
# clang tools load libtinfo5 for color diagnostics but `ubuntu-latest` | |
# runners already have `libtinfo.so.6` installed. We just create a | |
# symlink since it's faster than installing libtinfo5. | |
# https://github.com/circleci/circleci-images/issues/430#issuecomment-522602495 | |
run: | | |
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5 | |
- run: | | |
bazel \ | |
--bazelrc=.github/workflows/ci.bazelrc \ | |
build \ | |
${{ matrix.flag }} \ | |
//... | |
buildifier: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: set buildbuddy-api-key | |
run: | | |
echo 'build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}' >> .bazelrc | |
- name: set bazel upload flags | |
if: github.ref != 'refs/heads/master' | |
run: | | |
echo 'build --noremote_upload_local_results' >> .bazelrc | |
- name: mount bazel other caches | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
"~/.cache/bazel_install_base" | |
"~/.cache/bazel_output_base" | |
"~/.cache/bazel_repository_cache" | |
"~/.cache/bazelisk" | |
key: bazel-other | |
- run: | | |
bazel \ | |
--bazelrc=.github/workflows/ci.bazelrc \ | |
run \ | |
//:buildifier.check |