Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -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)
36 changes: 0 additions & 36 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
########################
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
@@ -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
12 changes: 6 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
3 changes: 2 additions & 1 deletion docs/release-notes/release-notes-next.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Loading