Add audited cross-platform release artifacts #62
This file contains hidden or 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: | |
| pull_request: | |
| branches: [main, develop] | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| push: | |
| branches: [develop] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| clang-quality-gate: | |
| if: github.event_name != 'pull_request' || !github.event.pull_request.draft | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cppcheck clang llvm lcov jq valgrind libc6-dbg | |
| - name: JSON schema validation | |
| run: | | |
| jq . calibration.json > /dev/null | |
| jq . schema/calibration.schema.json > /dev/null | |
| jq . schema/engine_test_rig.schema.json > /dev/null | |
| echo "JSON files are well-formed" | |
| - name: Quality gate | |
| run: make ci-check CC=clang | |
| gcc-build-and-test: | |
| if: github.event_name != 'pull_request' || !github.event.pull_request.draft | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc jq | |
| - name: GCC build and tests | |
| run: | | |
| make all CC=gcc | |
| make debug CC=gcc | |
| make test-unit CC=gcc | |
| make test-all CC=gcc | |
| make analyze-sanitizers CC=gcc |