on: release: types: - released - prereleased - created - published jobs: release: runs-on: nodebullshit 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 tag -l --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 tag -l --format='%(contents)' ${{ steps.gitvar.outputs.tag }} - 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 }}