Gimbal/.forgejo/workflows/build-release.yml
moonleay 6ad6ea41c6
ci: updated release ci
Signed-off-by: moonleay <contact@moonleay.net>
2024-05-10 03:41:41 +02:00

70 lines
2.2 KiB
YAML

on:
release:
types:
- released
- prereleased
- created
- published
jobs:
release:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
name: Checkout
- name: Set short git commit reference
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Get latest git tag
id: gitvar
run: echo "tag=$(git describe --tags $(git rev-list --tags --max-count=1))" >> $GITHUB_OUTPUT
- name: Set git tag description
id: vars2
run: echo "tag_desc=$(git for-each-ref --format='%(contents)' ${{ steps.gitvar.outputs.tag }})" >> $GITHUB_OUTPUT
- name: Check outputs
run: echo "short ${{ steps.vars.outputs.sha_short }}, ref $GITHUB_REF, tag ${{ steps.gitvar.outputs.tag }}, tag_desc ${{ steps.vars2.outputs.tag_desc }}"
- name: Tag description
run: git for-each-ref --format='%(contents)' $GITHUB_REF
- uses: https://github.com/actions/setup-java@v4
name: Setup Java
with:
distribution: temurin
java-version: 17
- uses: https://github.com/gradle/actions/setup-gradle@v3
name: Setup Gradle
env:
GIT_SHA_SHORT: ${{ steps.vars.outputs.sha_short }}
GIT_TAG: ${{ steps.vars2.outputs.tag_desc }}
- run: ./gradlew runDatagen
name: Generate assets
env:
GIT_SHA_SHORT: ${{ steps.vars.outputs.sha_short }}
GIT_TAG: ${{ steps.vars2.outputs.tag_desc }}
- run: ./gradlew build
name: Build project
env:
GIT_SHA_SHORT: ${{ steps.vars.outputs.sha_short }}
GIT_TAG: ${{ steps.vars2.outputs.tag_desc }}
- run: ./gradlew publish
name: Upload
env:
GIT_SHA_SHORT: ${{ steps.vars.outputs.sha_short }}
GIT_TAG: ${{ steps.vars2.outputs.tag_desc }}
PACKAGE_REPO_KEY: ${{ secrets.PACKAGE_REPO_KEY }}
- run: ./gradlew modrinth
name: Publish to Modrinth
env:
GIT_SHA_SHORT: ${{ steps.vars.outputs.sha_short }}
GIT_TAG: ${{ steps.vars2.outputs.tag_desc }}
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}