Files
PlayHours/.gitea/workflows/release.yml
Mr¤KayJayDee 64edfa4d73
All checks were successful
Release Build / build-and-release (push) Successful in 2m27s
feat(workflow): add changelog extraction step to Gitea release workflow for improved release notes
2025-10-24 00:05:59 +02:00

50 lines
1.4 KiB
YAML

name: Release Build
on:
push:
tags:
- 'v*'
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Build with Gradle
run: sh gradlew build --no-daemon
- name: Extract Changelog
id: changelog
run: |
# Extract the latest version section from CHANGELOG.md
if [ -f "docs/CHANGELOG.md" ]; then
# Get content between first ## and second ## (or end of file)
CHANGELOG=$(sed -n '/^## \[/,/^## \[/p' docs/CHANGELOG.md | sed '$d' | tail -n +2)
if [ -z "$CHANGELOG" ]; then
CHANGELOG=$(sed -n '/^## \[/,$p' docs/CHANGELOG.md | tail -n +2)
fi
echo "RELEASE_NOTES<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGELOG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "RELEASE_NOTES=Release ${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: Create Release
uses: akkuman/gitea-release-action@v1
with:
token: ${{ secrets.TOKEN }}
files: build/libs/*.jar
draft: false
prerelease: false
body: ${{ steps.changelog.outputs.RELEASE_NOTES }}