[WIP] Revamp JSON BinPack with the new JSON Toolkit #2062
Workflow file for this run
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: JSON BinPack | |
# Do not run this job for changes that only affect the website | |
on: | |
push: | |
paths-ignore: | |
- 'www/**' | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- os: macos-latest | |
cc: clang | |
cxx: clang++ | |
- os: ubuntu-latest | |
cc: clang | |
cxx: clang++ | |
- os: ubuntu-latest | |
cc: gcc | |
cxx: g++ | |
- os: windows-latest | |
runs-on: ${{ matrix.platform.os }} | |
env: | |
CC: ${{ matrix.platform.cc }} | |
CXX: ${{ matrix.platform.cxx }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies (macOS) | |
if: runner.os == 'macos' | |
run: brew bundle | |
env: | |
HOMEBREW_NO_ANALYTICS: 1 | |
HOMEBREW_NO_AUTO_UPDATE: 1 | |
- name: Install dependencies (GNU/Linux) | |
if: runner.os == 'linux' | |
run: sudo apt-get install --yes clang-format shellcheck | |
# See https://github.com/actions/runner-images/issues/8659 | |
- name: Workaround Clang issue (GNU/Linux) | |
if: runner.os == 'linux' && matrix.platform.cc == 'clang' | |
run: | | |
sudo rm -f /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-jammy.list | |
sudo apt-get install --yes --allow-downgrades libc6=2.35-0ubuntu3.5 libc6-dev=2.35-0ubuntu3.5 libstdc++6=12.3.0-1ubuntu1~22.04 libgcc-s1=12.3.0-1ubuntu1~22.04 | |
- name: Install dependencies (Windows) | |
if: runner.os == 'windows' | |
run: choco install shellcheck | |
- run: cmake --version | |
- run: > | |
cmake -S . -B ./build | |
-DCMAKE_BUILD_TYPE:STRING=Release | |
-DJSONBINPACK_CLI:BOOL=ON | |
-DJSONBINPACK_TESTS:BOOL=ON | |
-DCMAKE_COMPILE_WARNING_AS_ERROR:BOOL=ON | |
- run: cmake --build ./build --config Release --target shellcheck | |
- run: cmake --build ./build --config Release --target clang_format_test | |
- run: cmake --build ./build --config Release --parallel 4 | |
- run: cd ./build && ctest --build-config Release --output-on-failure --parallel |