mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
## Summary - Add `B9-contractsnoteworthy` as a valid noteworthiness label in the PR label enforcement workflow - Require `breaking`/`not-breaking` label when `B9-contractsnoteworthy` is applied, consistent with other noteworthy labels Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Ahmad Kaouk <56095276+ahmadkaouk@users.noreply.github.com>
56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
name: Enforce PR labels
|
||
|
||
on:
|
||
pull_request:
|
||
types: [labeled, unlabeled, opened, edited, synchronize]
|
||
jobs:
|
||
enforce-noteworthiness-label:
|
||
runs-on: ubuntu-latest
|
||
permissions:
|
||
contents: read
|
||
steps:
|
||
- uses: yogevbd/enforce-label-action@2.2.2
|
||
with:
|
||
REQUIRED_LABELS_ANY: "B0-silent,B5-clientnoteworthy,B7-runtimenoteworthy,B9-contractsnoteworthy"
|
||
REQUIRED_LABELS_ALL: ""
|
||
BANNED_LABELS: ""
|
||
- name: Verify breaking changes label
|
||
if: contains(github.event.pull_request.labels.*.name, 'B5-clientnoteworthy') || contains(github.event.pull_request.labels.*.name, 'B7-runtimenoteworthy') || contains(github.event.pull_request.labels.*.name, 'B9-contractsnoteworthy')
|
||
uses: yogevbd/enforce-label-action@2.2.2
|
||
with:
|
||
REQUIRED_LABELS_ANY: "breaking,not-breaking"
|
||
REQUIRED_LABELS_ALL: ""
|
||
BANNED_LABELS: ""
|
||
enforce-auditability-label:
|
||
runs-on: ubuntu-latest
|
||
permissions:
|
||
contents: read
|
||
steps:
|
||
- uses: yogevbd/enforce-label-action@2.2.2
|
||
with:
|
||
REQUIRED_LABELS_ANY: "D1-audited👍,D5-nicetohaveaudit⚠️,D9-needsaudit👮,D2-notlive,D3-trivial"
|
||
REQUIRED_LABELS_ALL: ""
|
||
BANNED_LABELS: ""
|
||
validate-breaking-description:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Validate PR for "breaking" label and description
|
||
env:
|
||
PR_BODY: ${{ github.event.pull_request.body }}
|
||
PR_LABELS: ${{ toJson(github.event.pull_request.labels) }}
|
||
run: |
|
||
echo "Pull Request Labels: $PR_LABELS"
|
||
echo "Pull Request Body: $PR_BODY"
|
||
|
||
# Check if "breaking" label is set
|
||
if echo "$PR_LABELS" | grep -q '"breaking"'; then
|
||
echo "Label 'breaking' is present. Checking description..."
|
||
if echo "$PR_BODY" | grep -qi "## ⚠️ Breaking Changes ⚠️"; then
|
||
echo "✅ Description contains the required phrase."
|
||
else
|
||
echo "❌ Description does not contain the required phrase '## ⚠️ Breaking Changes ⚠️'."
|
||
exit 1
|
||
fi
|
||
else
|
||
echo "Label 'breaking' is not present. No validation needed."
|
||
fi
|