| name: basic | |
| run-name: presubmit run triggered by ${{ github.actor }} | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| bazel-build-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Get Bazel | |
| uses: bazel-contrib/setup-bazel@0.8.1 | |
| with: | |
| # Avoid downloading Bazel every time. | |
| bazelisk-cache: true | |
| # Store build cache per workflow. | |
| disk-cache: ${{ github.workflow }} | |
| # Share repository cache between workflows. | |
| repository-cache: true | |
| - name: Presubmit | |
| run: bazel build --config=presubmit | |
| - name: RP2040 | |
| run: bazel build --config=rp2040 //... | |
| - name: Test | |
| run: bazel test //... | |
| - name: ASAN | |
| run: bazel test --config=asan //... | |
| - name: TSAN | |
| run: bazel test --config=tsan //... | |
| - name: UBSAN | |
| run: bazel test --config=ubsan //... |