Skip to content

Create new Release

Create new Release #18

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
name: Create new Release
on:
pull_request:
branches: [ production ]
types: [ labeled ]
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'oracle'
- name: Build with Gradle
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0
with:
arguments: build
- name: Determine Default Fragment
id: default-fragment
run: |
if [[ "${{ github.event.label.name }}" == "enhancement" ]]; then
echo "release_type=feature" >> $GITHUB_OUTPUT
elif [[ "${{ github.event.label.name }}" == "major" ]]; then
echo "release_type=major" >> $GITHUB_OUTPUT
else
echo "release_type=bug" >> $GITHUB_OUTPUT
fi
shell: bash
- name: Get Latest Release
uses: PssbleTrngle/VersionManagment@v2
id: release
with:
token: ${{ secrets.GITHUB_TOKEN }}
fallback: v1.0.0
prefix: v
default-fragment: ${{ steps.default-fragment.outputs.release_type }}
- name: Generate Release Notes
uses: johnyherangi/create-release-notes@main
id: release-notes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
format: |
- {{subject}} by **@{{author|committer}}**
- name: Create Release
uses: softprops/action-gh-release@v1
with:
name: Release ${{ steps.release.outputs.next }}
tag_name: ${{ steps.release.outputs.next }}
files: build/libs/*.jar
body: |
# RPGkit ${{ steps.release.outputs.next }}
## Changes:
${{ steps.release-notes.outputs.release-notes }}