Skip to content

v1.0.0 - 1.21.1

v1.0.0 - 1.21.1 #5

Workflow file for this run

name: Release Build
on:
release:
types: [created, published]
workflow_dispatch:
inputs:
tag:
description: 'Tag name for the release'
required: true
type: string
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Make Gradle wrapper executable
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew build --no-daemon
- name: Find JAR file
id: find-jar
run: |
JAR_FILE=$(find build/libs -name "*.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" -type f | head -n 1)
echo "jar_file=$JAR_FILE" >> $GITHUB_OUTPUT
echo "jar_name=$(basename $JAR_FILE)" >> $GITHUB_OUTPUT
echo "Found JAR: $JAR_FILE"
- name: Upload Release Asset
if: github.event_name == 'release'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.find-jar.outputs.jar_file }}
asset_name: ${{ steps.find-jar.outputs.jar_name }}
asset_content_type: application/java-archive
- name: Upload Artifact (Manual Trigger)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: chatcalc-${{ inputs.tag }}
path: ${{ steps.find-jar.outputs.jar_file }}
retention-days: 30