name: CI
# PR gate: runs the reusable test suite on every non-draft PR to main.
on:
pull_request:
branches:
types:
workflow_dispatch:
# Cancel superseded runs on the same ref to save CI minutes.
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
name: Test
# Skip draft PRs, but always run on manual dispatch.
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
uses: ./.github/workflows/test.yml