Skip to content

Commit 145dbf3

Browse files
authored
feat: Implement release drafter (#44)
- Use release-drafter action to generate release notes
1 parent 889ca17 commit 145dbf3

File tree

2 files changed

+12
-22
lines changed

2 files changed

+12
-22
lines changed

.github/release-drafter.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
template: |
2+
## What's Changed
3+
4+
$CHANGES

.github/workflows/generate-release.yml

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,42 +21,28 @@ jobs:
2121
id: get_version
2222
run: |
2323
VERSION=$(python -c "import re; content=open('src/gentun/__init__.py').read(); version=re.search(r'__version__ = \"(.*?)\"', content).group(1); print(version)")
24-
echo "::set-output name=version::$VERSION"
24+
echo "version=$VERSION" >> $GITHUB_OUTPUT
2525
2626
- name: Create Tag
2727
run: |
2828
git tag v${{ steps.get_version.outputs.version }}
2929
git push origin v${{ steps.get_version.outputs.version }}
3030
3131
- name: Generate Release Notes
32-
id: generate_release_notes
33-
uses: actions/github-script@v6
34-
with:
35-
script: |
36-
const { data: releases } = await github.repos.listReleases({
37-
owner: context.repo.owner,
38-
repo: context.repo.repo
39-
});
40-
let releaseNotes;
41-
if (releases.length === 0) {
42-
releaseNotes = `Release of version ${{ steps.get_version.outputs.version }}\n\n` +
43-
`This is the first release.`;
44-
} else {
45-
const latestRelease = releases[0];
46-
releaseNotes = `Release of version ${{ steps.get_version.outputs.version }}\n\n` +
47-
`Changes since last release:\n` +
48-
`${latestRelease.body}`;
49-
}
50-
return { releaseNotes };
32+
id: generate_notes
33+
uses: release-drafter/release-drafter@v5
5134
env:
5235
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
with:
37+
config-name: release-drafter.yml
38+
version: ${{ steps.get_version.outputs.version }}
5339

5440
- name: Create Release
5541
uses: actions/create-release@v1
5642
with:
5743
tag_name: v${{ steps.get_version.outputs.version }}
58-
release_name: Release ${{ steps.get_version.outputs.version }}
59-
body: ${{ steps.generate_release_notes.outputs.releaseNotes }}
44+
release_name: Release v${{ steps.get_version.outputs.version }}
45+
body: ${{ steps.generate_notes.outputs.body }}
6046
draft: true
6147
prerelease: false
6248
env:

0 commit comments

Comments
 (0)