Skip to content

Commit c851471

Browse files
committed
chore: add release-drafter workflow
1 parent 8310318 commit c851471

File tree

4 files changed

+132
-2
lines changed

4 files changed

+132
-2
lines changed

.github/release-drafter.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name-template: "v$RESOLVED_VERSION"
2+
tag-template: "v$RESOLVED_VERSION"
3+
4+
categories:
5+
- title: "💥 Breaking Changes"
6+
labels:
7+
- breaking-change
8+
- title: "💡 New Features"
9+
labels:
10+
- feature
11+
- enhancement
12+
- title: "🐞 Bug Fixes"
13+
labels:
14+
- bug
15+
- fix
16+
- bugfix
17+
- title: "📝 Documentation"
18+
labels:
19+
- documentation
20+
- title: "⚙️ Technical Debt"
21+
labels:
22+
- refactor
23+
- title: "🧰 Maintenance"
24+
label: chore
25+
- title: "⬆️ Dependencies"
26+
collapse-after: 8
27+
labels:
28+
- dependencies
29+
30+
change-template: "- $TITLE (#$NUMBER) by @$AUTHOR"
31+
no-changes-template: "No significant changes"
32+
33+
template: |
34+
## 🚀 Release
35+
36+
### What's Changed
37+
$CHANGES
38+
39+
**Contributors:** $CONTRIBUTORS
40+
41+
version-resolver:
42+
major:
43+
labels:
44+
- major
45+
minor:
46+
labels:
47+
- minor
48+
patch:
49+
labels:
50+
- patch
51+
default: patch
52+
53+
# See https://github.com/release-drafter/release-drafter#autolabeler
54+
# This is more like a reference, since auto-labeling PRs seems to require too many privileges
55+
autolabeler:
56+
- label: 'dependencies'
57+
files:
58+
- 'gradle-wrapper.properties'
59+
title:
60+
- '/^fix\(deps\)/i'
61+
- '/^chore:\s*bump/i'
62+
- label: 'chore'
63+
files:
64+
- '*gradle*'
65+
- '.github/**'
66+
branch:
67+
- '/docs{0,1}\/.+/'
68+
title:
69+
- '/^chore/i'
70+
- label: 'documentation'
71+
files:
72+
- '*.md'
73+
- 'docs/**'
74+
- label: 'bug'
75+
branch:
76+
- '/fix\/.+/'
77+
title:
78+
- '/^fix/i'
79+
- label: 'enhancement'
80+
branch:
81+
- '/feature\/.+/'
82+
title:
83+
- '/^feat/i'
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Release Drafter
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- release/**
8+
9+
jobs:
10+
update_release_draft:
11+
permissions:
12+
# write permission is required to create a github release
13+
contents: write
14+
# write permission is required for autolabeler
15+
# otherwise, read permission is required at least
16+
pull-requests: write
17+
name: Update Release Draft
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Get the current version
21+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
22+
id: current_version
23+
with:
24+
# language=javascript
25+
script: |
26+
const response = await github.rest.repos.getContent({
27+
owner: context.repo.owner,
28+
repo: context.repo.repo,
29+
path: 'gradle.properties',
30+
ref: context.sha
31+
});
32+
const content = Buffer.from(response.data.content, 'base64').toString();
33+
const version = content.match(/^current\.version=(.+)$/m)[1];
34+
console.log(`Version is ${version}`);
35+
return version;
36+
37+
# Drafts your next Release notes as Pull Requests are merged into "master"
38+
- name: Update release body draft
39+
uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6
40+
id: prepare_release
41+
with:
42+
disable-autolabeler: false
43+
publish: false
44+
latest: ${{ github.ref_name == github.event.repository.default_branch }}
45+
version: ${{ steps.current_version.outputs.result }}
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ if (publishToCentral) {
4040

4141
allprojects {
4242
group = "com.github.vlsi.gradle"
43-
version = project.findProperty("project.version") as? String ?: rootProject.version
43+
version = project.findProperty("current.version") as? String ?: rootProject.version
4444

4545
tasks.withType<GenerateModuleMetadata> {
4646
enabled = false

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ org.gradle.jvmargs=-XX:MaxMetaspaceSize=768m
1919
# repository.apache.org does not yet support .sha256 and .sha512 checksums
2020
systemProp.org.gradle.internal.publish.checksums.insecure=true
2121

22-
project.version=1.90
22+
current.version=1.90

0 commit comments

Comments
 (0)