feat(grz-db): add cases table and pluggable case resolver #883
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: "Conventional commit PRs" | |
| on: | |
| pull_request_target: | |
| types: | |
| - opened | |
| - edited | |
| - reopened | |
| # Required-check safety: re-run on every push so the check stamps each new | |
| # head commit, otherwise a required title check gets stuck "Expected". | |
| - synchronize | |
| # Merge queue: the workflow must run on merge_group so the required | |
| # "Conventional commit PRs" check reports on the queue's merge commit. | |
| merge_group: | |
| jobs: | |
| main: | |
| name: Validate PR title | |
| # No PR context in a merge_group event, and the title was already validated | |
| # before the PR entered the queue. Skip here - the aggregator below still | |
| # reports success (a skipped need is allowed), satisfying the required check. | |
| if: github.event_name != 'merge_group' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - uses: amannn/action-semantic-pull-request@v5 | |
| with: | |
| scopes: | | |
| grz-common | |
| grz-cli | |
| grzctl | |
| grz-pydantic-models | |
| grz-pydantic-models-testing | |
| grz-db | |
| grz-tools | |
| grz-check | |
| repo | |
| release | |
| deps | |
| other | |
| requireScope: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # Aggregator job: a single, stable check-run name to use as the required | |
| # status check in branch protection, independent of the underlying job name. | |
| conventional-commit-pr: | |
| name: Conventional commit PRs | |
| needs: [main] | |
| runs-on: ubuntu-latest | |
| if: always() | |
| steps: | |
| - name: Verify PR title validation did not fail | |
| run: | | |
| # Fail only on failure/cancelled; a skipped run is allowed. | |
| result="${{ needs.main.result }}" | |
| if [ "$result" = "failure" ] || [ "$result" = "cancelled" ]; then | |
| echo "PR title validation did not pass: $result" | |
| exit 1 | |
| fi |