Files
Civ/.github/workflows/publish_gradle_project.yaml
2024-03-21 19:55:51 +00:00

82 lines
2.4 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: ❓ Ensure Wrapper Permissions
run: chmod +x ./gradlew
- name: ☕ Setup Java
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
# TODO: Bump version if not already done
- name: 🐘 Gradle Build
uses: gradle/gradle-build-action@v2
env:
CI: true
with:
arguments: "${{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
uses: gradle/gradle-build-action@v2
env:
CI: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
arguments: "${{needs.determine_values.outputs.category}}:${{needs.determine_values.outputs.project}}:publish --scan"