blob: 91da6c6b5d397b0f62ca9e6a6bc06fb0d167ca69 [file] [log] [blame]
Marc Kupietz2ec7f9f2025-11-21 11:24:14 +01001name: Release
2
3on:
4 push:
5 tags:
6 - 'v*'
7
8jobs:
9 release:
10 runs-on: ubuntu-latest
11 steps:
12 - uses: actions/checkout@v4
13 - name: Set up JDK 21
14 uses: actions/setup-java@v4
15 with:
16 distribution: 'temurin'
17 java-version: '21'
18 - name: Build with Gradle
19 run: ./gradlew build --no-daemon
20 - name: Get version and pre-release status
21 id: get_version
22 run: |
23 TAG_NAME=${GITHUB_REF#refs/tags/}
24 echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT
25 if [[ "$TAG_NAME" =~ (alpha|beta|rc) ]]; then
26 echo "prerelease=true" >> $GITHUB_OUTPUT
27 else
28 echo "prerelease=false" >> $GITHUB_OUTPUT
29 fi
Marc Kupietz3886dee2025-11-22 12:49:49 +010030 - name: "Build Changelog"
31 id: build_changelog
32 uses: mikepenz/release-changelog-builder-action@v5
33 with:
34 configurationJson: |
35 {
36 "template": "#{{CHANGELOG}}",
37 "categories": [
38 {
39 "title": "## 🚀 Features",
40 "labels": ["feature", "enhancement"]
41 },
42 {
43 "title": "## 🐛 Fixes",
44 "labels": ["fix", "bug"]
45 },
46 {
47 "title": "## 📦 Other",
48 "labels": []
49 }
50 ],
51 "ignore_labels": [
52 "skip-changelog"
53 ],
54 "fetch_via_commits": true,
55 "fetch_reviewers": false,
56 "fetch_release_information": true,
57 "fetch_reviews": false,
58 "commit_mode": true
59 }
60 env:
61 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62
Marc Kupietz2ec7f9f2025-11-21 11:24:14 +010063 - name: Create Release
64 uses: softprops/action-gh-release@v2
65 with:
Marc Kupietz3886dee2025-11-22 12:49:49 +010066 body: ${{ steps.build_changelog.outputs.changelog }}
Marc Kupietz2ec7f9f2025-11-21 11:24:14 +010067 tag_name: ${{ steps.get_version.outputs.tag_name }}
68 name: Release ${{ steps.get_version.outputs.tag_name }}
69 prerelease: ${{ steps.get_version.outputs.prerelease }}
70 files: |
71 app/build/libs/*.jar
72 build/bin/*
73 env:
74 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}