blob: 9958206bd0377dec8036cc7b6d5b320d19e6b1f9 [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:
dependabot[bot]15d97ac2025-11-21 10:56:32 +000012 - uses: actions/checkout@v6
Marc Kupietz2ec7f9f2025-11-21 11:24:14 +010013 - name: Set up JDK 21
dependabot[bot]9313c4e2025-11-21 10:56:36 +000014 uses: actions/setup-java@v5
Marc Kupietz2ec7f9f2025-11-21 11:24:14 +010015 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
dependabot[bot]c44a68d2025-11-24 09:03:14 +000032 uses: mikepenz/release-changelog-builder-action@v6
Marc Kupietz3886dee2025-11-22 12:49:49 +010033 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 }}