Merge pull request #1192 from hieblmi/no-change-label
Some checks failed
CI / Commit Message (push) Has been cancelled
CI / RPC compilation check (push) Has been cancelled
CI / SQL compilation check (push) Has been cancelled
CI / go mod check (push) Has been cancelled
CI / build and lint code (push) Has been cancelled
CI / verify that auto-generated documentation is up-to-date (push) Has been cancelled
CI / run unit-test sqlite3 race (push) Has been cancelled
CI / run unit-test postgres race (push) Has been cancelled
CI / run LiT itests (push) Has been cancelled
CI / run LiT unit tests (push) Has been cancelled

github: allow no-changelog to skip release notes
This commit is contained in:
Slyghtning 2026-08-06 11:06:38 +02:00 committed by GitHub
commit 1b81a06b42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 68 additions and 45 deletions

View file

@ -1,3 +1,3 @@
#### Pull Request Checklist
- [ ] Add an entry to `docs/release-notes/release-notes-next.md` (required by
CI)
- [ ] Add an entry to `docs/release-notes/release-notes-next.md`, or apply the
`no-changelog` label (required by CI)

View file

@ -24,42 +24,6 @@ env:
LITD_ITEST_BRANCH: master
jobs:
########################
# release notes
########################
release-notes:
name: Release Notes
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: git checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for a release note
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
RELEASE_NOTES_FILE: docs/release-notes/release-notes-next.md
run: |
if git diff --unified=0 "$BASE_SHA...$HEAD_SHA" -- \
"$RELEASE_NOTES_FILE" |
awk '
/^@@/ { in_hunk = 1; next }
in_hunk && /^\+/ {
line = substr($0, 2)
if (line ~ /[^[:space:]]/) found = 1
}
END { exit found ? 0 : 1 }
'
then
exit 0
fi
echo "::error file=$RELEASE_NOTES_FILE::Add a release note for this PR."
exit 1
########################
# commit message lint
########################

58
.github/workflows/release-notes.yml vendored Normal file
View file

@ -0,0 +1,58 @@
name: Release Notes
on:
pull_request:
branches:
- "*"
types:
- opened
- reopened
- synchronize
- labeled
- unlabeled
permissions:
contents: read
defaults:
run:
shell: bash
jobs:
release-notes:
name: Release Notes
runs-on: ubuntu-latest
steps:
- name: Skip release notes check
if: contains(github.event.pull_request.labels.*.name, 'no-changelog')
run: echo "Release notes check skipped by the no-changelog label."
- name: git checkout
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog') }}
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for a release note
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog') }}
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
RELEASE_NOTES_FILE: docs/release-notes/release-notes-next.md
run: |
if git diff --unified=0 "$BASE_SHA...$HEAD_SHA" -- \
"$RELEASE_NOTES_FILE" |
awk '
/^@@/ { in_hunk = 1; next }
in_hunk && /^\+/ {
line = substr($0, 2)
if (line ~ /[^[:space:]]/) found = 1
}
END { exit found ? 0 : 1 }
'
then
exit 0
fi
echo "::error file=$RELEASE_NOTES_FILE::Add a release note or apply the no-changelog label."
exit 1

View file

@ -75,9 +75,9 @@ floor `walletrpc.EstimateFeeResponse.min_relay_fee_sat_per_kw` (lnd v0.18.3-beta
**6. Pull Request Release Notes:**
Every pull request must add at least one non-empty line to
`docs/release-notes/release-notes-next.md`. Before finishing any change intended
for a pull request, add a concise entry under the appropriate section (`New
Features`, `Breaking Changes`, `Bug Fixes`, or `Maintenance`). This applies to
all pull requests, including internal maintenance and documentation changes, and
is enforced by CI.
Every pull request must either add at least one non-empty line to
`docs/release-notes/release-notes-next.md` or carry the `no-changelog` label.
Before finishing any change intended for a pull request, add a concise entry
under the appropriate section (`New Features`, `Breaking Changes`, `Bug Fixes`,
or `Maintenance`). For a change that does not warrant a release note, ensure the
pull request uses the `no-changelog` label instead. This is enforced by CI.

View file

@ -14,6 +14,7 @@
#### Maintenance
* Added a CI gate and repository agent guidance requiring every pull request to
include a non-empty entry in the next release notes.
include a non-empty entry in the next release notes unless it carries the
`no-changelog` label.
#### Contributors (Alphabetical Order)