name: Ship CI # PRs into both main and release/** run CI through this wrapper so the check # run is named "CI / check" (reusable-workflow caller prefix from the `CI` # job), matching the org rulesets' required context. ci.yml itself only # triggers via workflow_call — it never runs standalone, which would emit an # unprefixed "check" the rulesets can't match. on: pull_request: branches: [main, 'release/**'] # Trunk-based: post-merge CI on main catches semantic conflicts between # independently-green PRs; push on release/** covers stabilization # cherry-picks that land without a PR. push: branches: [main, 'release/**'] workflow_dispatch: concurrency: group: ship-ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: CI: uses: ./.github/workflows/ci.yml