blob: 91da6c6b5d397b0f62ca9e6a6bc06fb0d167ca69 [file] [log] [blame]
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Build with Gradle
run: ./gradlew build --no-daemon
- name: Get version and pre-release status
id: get_version
run: |
TAG_NAME=${GITHUB_REF#refs/tags/}
echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT
if [[ "$TAG_NAME" =~ (alpha|beta|rc) ]]; then
echo "prerelease=true" >> $GITHUB_OUTPUT
else
echo "prerelease=false" >> $GITHUB_OUTPUT
fi
- name: "Build Changelog"
id: build_changelog
uses: mikepenz/release-changelog-builder-action@v5
with:
configurationJson: |
{
"template": "#{{CHANGELOG}}",
"categories": [
{
"title": "## 🚀 Features",
"labels": ["feature", "enhancement"]
},
{
"title": "## 🐛 Fixes",
"labels": ["fix", "bug"]
},
{
"title": "## 📦 Other",
"labels": []
}
],
"ignore_labels": [
"skip-changelog"
],
"fetch_via_commits": true,
"fetch_reviewers": false,
"fetch_release_information": true,
"fetch_reviews": false,
"commit_mode": true
}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release
uses: softprops/action-gh-release@v2
with:
body: ${{ steps.build_changelog.outputs.changelog }}
tag_name: ${{ steps.get_version.outputs.tag_name }}
name: Release ${{ steps.get_version.outputs.tag_name }}
prerelease: ${{ steps.get_version.outputs.prerelease }}
files: |
app/build/libs/*.jar
build/bin/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}