# This is a format job. Pre-commit has a first-party GitHub action, so we use # that: https://github.com/pre-commit/action name: Format on: workflow_dispatch: pull_request: push: branches: - master - stable - "v*" jobs: pre-commit: name: Format runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 - uses: pre-commit/action@v2.0.0 with: # Slow hooks are marked with manual - slow is okay here, run them too extra_args: --hook-stage manual --all-files clang-tidy: name: Clang-Tidy runs-on: ubuntu-latest container: silkeh/clang:10 steps: - uses: actions/checkout@v2 - name: Install requirements run: apt-get update && apt-get install -y python3-dev python3-pytest - name: Configure run: > cmake -S . -B build -DCMAKE_CXX_CLANG_TIDY="$(which clang-tidy);--warnings-as-errors=*" -DDOWNLOAD_EIGEN=ON -DDOWNLOAD_CATCH=ON -DCMAKE_CXX_STANDARD=17 - name: Build run: cmake --build build -j 2