Skip to content

Publish Jars

Publish Jars #3

Workflow file for this run

name: Publish Jars
permissions:
contents: write
on:
workflow_dispatch:
inputs:
release_name:
description: 'The name of the release'
required: true
type: string
release_body:
description: 'The description of the release'
required: true
type: string
jobs:
build_latest:
runs-on: ubuntu-latest
steps:
- name: checkout sources
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v2
- name: setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
- name: build
run: |
chmod +x ./gradlew
./gradlew build
- name: upload build artifacts
uses: actions/upload-artifact@v4
with:
name: normal
path: build/libs/*.jar
compression-level: 1
build_5:
runs-on: ubuntu-latest
steps:
- name: checkout sources
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v2
- name: setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: setup gradle
uses: gradle/actions/setup-gradle@v4
- name: build
run: |
chmod +x ./gradlew
./gradlew java5Jar
- name: upload build artifacts
uses: actions/upload-artifact@v4
with:
name: java-5
path: build/libs/*.jar
compression-level: 1
publish:
needs: [build_latest, build_5]
runs-on: ubuntu-latest
steps:
- name: download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts/
merge-multiple: true
- id: names
run: |
echo "FILES=$( ls -1 )" >> $GITHUB_OUTPUT
echo "TAG_NAME=$( ls -AU artifacts | head -1 )" >> $GITHUB_OUTPUT
- name: create release
uses: softprops/action-gh-release@v2
with:
name: ${{ inputs.release_name }}
body: ${{ inputs.release_body }}
files: ${{ steps.names.outputs.FILES }}
tag_name: ${{ steps.names.outputs.TAG_NAME }}