-
Notifications
You must be signed in to change notification settings - Fork 589
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Bump versions * It now tabs every line included in the Release Notes section of the PR template (cherry picked from commit b00b22a) # Conflicts: # .github/workflows/config/release-notes.json # .github/workflows/release-notes.yml Co-authored-by: Jack Koenig <koenig@sifive.com>
- Loading branch information
1 parent
7690cd6
commit 449f74a
Showing
2 changed files
with
136 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
{ | ||
"categories": [ | ||
{ | ||
"title": "## Features", | ||
"labels": ["Feature"] | ||
}, | ||
{ | ||
"title": "## API Modification", | ||
"labels": ["API Modification"] | ||
}, | ||
{ | ||
"title": "## API Deprecation", | ||
"labels": ["Deprecation"] | ||
}, | ||
{ | ||
"title": "## Backend Code Generation", | ||
"labels": ["Backend Code Generation"] | ||
}, | ||
{ | ||
"title": "## Performance", | ||
"labels": ["Performance"] | ||
}, | ||
{ | ||
"title": "## Fixes", | ||
"labels": ["Bugfix"] | ||
}, | ||
{ | ||
"title": "## Documentation", | ||
"labels": ["Documentation"] | ||
}, | ||
{ | ||
"title": "## Dependency Updates", | ||
"labels": ["Dependency Update"] | ||
}, | ||
{ | ||
"title": "## Build and Internal Changes", | ||
"labels": ["Internal"] | ||
}, | ||
{ | ||
"title": "## Uncategorized", | ||
"labels": [] | ||
} | ||
], | ||
"ignore_labels": [ | ||
"No Release Notes" | ||
], | ||
"sort": { | ||
"order": "ASC", | ||
"on_property": "mergedAt" | ||
}, | ||
"template": "${{CHANGELOG}}\n\n**Full Changelog:** ${{RELEASE_DIFF}}\n", | ||
"pr_template": "- ${{TITLE}} (by @${{AUTHOR}} in ${{URL}})${{RELEASE_NOTES}}", | ||
"empty_template": "- no changes", | ||
"transformers": [ | ||
{ | ||
"pattern": "<!--.*-->", | ||
"flags": "gus", | ||
"target": "" | ||
}, | ||
{ | ||
"pattern": "\n\\s*\n", | ||
"flags": "gu", | ||
"target": "\n" | ||
}, | ||
{ | ||
"pattern": "\n", | ||
"flags": "gu", | ||
"target": "\n " | ||
} | ||
], | ||
"custom_placeholders": [ | ||
{ | ||
"name": "RELEASE_NOTES", | ||
"source": "BODY", | ||
"transformer": { | ||
"pattern": ".*#### Release Notes(?:[\n\\s]|(?:<!--.*?-->))*((?:\\S(?!!--)).*?)[\n\\s]*\n#.*", | ||
"flags": "gus", | ||
"target": "\n$1" | ||
} | ||
} | ||
], | ||
"trim_values": false, | ||
"max_tags_to_fetch": 200, | ||
"max_pull_requests": 1000, | ||
"max_back_track_time_days": 365 | ||
} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: Generate Release Notes | ||
|
||
on: | ||
release: | ||
types: [created] | ||
workflow_dispatch: | ||
inputs: | ||
toTag: | ||
description: 'Tag or ref for which to generate release notes' | ||
required: true | ||
fromTag: | ||
# If you leave this blank, it'll select previous SemVer version | ||
# WARNING: Cannot use anything older than a005498 because of the git tree merge | ||
description: 'Tag or ref from which to start generating release notes' | ||
required: false | ||
|
||
|
||
jobs: | ||
generate_release_notes: | ||
name: Generate Release Notes | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Build Release Notes | ||
id: release-notes | ||
uses: mikepenz/release-changelog-builder-action@v4.1.1 | ||
with: | ||
configuration: .github/workflows/config/release-notes.json | ||
failOnError: true | ||
# Amazingly, on release where the inputs are empty, this just does the right thing | ||
# The "toTag" is the released tag, and the "fromTag" is the previous tag according to SemVer | ||
fromTag: ${{ github.event.inputs.fromTag }} | ||
toTag: ${{ github.event.inputs.toTag }} | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Report Release Notes | ||
# Put output through env variable to make it robust to quotes | ||
env: | ||
CHANGELOG: ${{steps.release-notes.outputs.changelog}} | ||
run: echo "$CHANGELOG" >> $GITHUB_STEP_SUMMARY | ||
- name: Upload Release Notes (on release) | ||
if: github.event_name == 'release' | ||
uses: softprops/action-gh-release@v0.1.15 | ||
with: | ||
body: ${{ steps.release-notes.outputs.changelog }} | ||
- name: Error on uncategorized PRs | ||
if: steps.release-notes.outputs.uncategorized_prs != 0 | ||
run: exit 1 | ||
|