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