Files
Civ/.github/workflows/publish_gradle_project.yaml
AngrySoundTech 08de6ccfee Paperweight 2.0
2025-01-04 12:31:22 -05:00

73 lines
2.2 KiB
YAML

# Release a gradle project
# Publish to maven, and create/update
name: 🐘 Gradle | Publish Project
on:
push:
tags:
- 'plugins/*/v*.*.*'
jobs:
determine_values:
name: 🔎 Determine Values
runs-on: ubuntu-latest
outputs:
category: ${{ steps.determine_values.outputs.category }}
version: ${{ steps.determine_values.outputs.version }}
project: ${{ steps.determine_values.outputs.project }}
steps:
- name: 🔎 Determine Project Values
id: determine_values
env:
TAG: ${{ github.ref_name }}
run: |
category=${TAG%%/*}
echo "category=${category}"
echo "category=${category}" >> $GITHUB_OUTPUT
version=${TAG##*/}
echo "version=${version}"
echo "version=${version}" >> $GITHUB_OUTPUT
project=${TAG#*/}
project=${project%/*}
echo "project=${project}"
echo "project=${project}" >> $GITHUB_OUTPUT
publish_gradle:
name: 🐘 Publish Gradle
runs-on: ubuntu-latest
needs: determine_values
permissions:
contents: write
packages: write
steps:
- name: 🚩 Checkout Repo
uses: actions/checkout@v4
- name: ☕ Setup Java
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
- name: 🐘 Setup Gradle
uses: gradle/actions/setup-gradle@v3
# TODO: Bump version if not already done
- name: 🐘 Gradle Build
run: CI=true ./gradlew ${{needs.determine_values.outputs.category}}:${{needs.determine_values.outputs.project}}:build --scan
- name: 🗃️ Create/Update Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.determine_values.outputs.category }}/${{ needs.determine_values.outputs.project }}/${{ needs.determine_values.outputs.version }}
files: '${{needs.determine_values.outputs.category}}/${{needs.determine_values.outputs.project}}/build/libs/*'
- name: 🐘 Gradle Publish
run: CI=true GITHUB_TOKEN=${{secrets.GITHUB_TOKEN}} ./gradlew ${{needs.determine_values.outputs.category}}:${{needs.determine_values.outputs.project}}:publish --scan