Skip to content

chore: bump version #14

chore: bump version

chore: bump version #14

Workflow file for this run

name: release
on:
push:
tags:
- "**"
workflow_dispatch:
permissions:
contents: read
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Setup Java 25
uses: actions/setup-java@v6
with:
distribution: temurin
java-version: "25"
cache: gradle
- name: Make gradle wrapper executable
run: chmod +x ./gradlew
- name: Maven Publish
id: maven_publish
env:
ARCHIVE_URL: ${{ secrets.TEACON_ARCHIVE_URL }}
ARCHIVE_ENDPOINT: ${{ secrets.TEACON_ARCHIVE_ENDPOINT }}
ARCHIVE_ACCESS_KEY: ${{ secrets.TEACON_ARCHIVE_ACCESS_KEY }}
ARCHIVE_SECRET_KEY: ${{ secrets.TEACON_ARCHIVE_SECRET_KEY }}
run: ./gradlew -Dorg.gradle.s3.endpoint=$ARCHIVE_ENDPOINT publishReleasePublicationToTeaconRepository githubActionOutput
- name: Generate Changelog
id: changelog
if: github.ref_type == 'tag'
shell: bash
env:
CURRENT_TAG: ${{ github.ref_name }}
# Special thanks to this post on Stack Overflow regarding change set between two tags:
# https://stackoverflow.com/questions/12082981
# Do note that actions/checkout will enter detach mode by default, so you won't have
# access to HEAD ref. Use GitHub-Action-supplied `github.ref_name` instead.
# Also we cannot use git rev-list because it always prepend "commit <hash>"
# See https://stackoverflow.com/questions/36927089/
run: |
set -euo pipefail
current_tag="$CURRENT_TAG"
last_tag="$(git describe --tags --abbrev=0 "${current_tag}^" 2>/dev/null || true)"
if [ -n "$last_tag" ]; then
changelog="$(git log --pretty="format:%H: %s" "${last_tag}..${current_tag}")"
else
changelog="$(git log --pretty="format:%H: %s")"
fi
{
echo "Change set since ${last_tag:-the beginning}:"
echo
echo "$changelog"
} > changelog.md
- name: Stage GitHub Release Artifact
if: github.ref_type == 'tag'
shell: bash
env:
ARTIFACT_PATH: ${{ steps.maven_publish.outputs.artifact_path }}
ARTIFACT_NAME: ${{ steps.maven_publish.outputs.artifact_publish_name }}
run: |
set -euo pipefail
mkdir -p dist
cp "$ARTIFACT_PATH" "dist/$ARTIFACT_NAME"
- name: GitHub Release
if: github.ref_type == 'tag'
uses: softprops/action-gh-release@v3
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
draft: false
prerelease: false
body_path: changelog.md
files: dist/${{ steps.maven_publish.outputs.artifact_publish_name }}
fail_on_unmatched_files: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}