Port InteractionHandler #54
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish OptiGUI | |
on: | |
push: | |
tags: | |
- "*" | |
jobs: | |
build: | |
name: Build OptiGUI | |
uses: ./.github/workflows/build.yml | |
with: | |
build-project: true | |
build-docs: true | |
upload-output: true | |
fast: true | |
publish: | |
name: Publish OptiGUI | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.1.1 | |
- name: Download build output | |
uses: actions/download-artifact@v4.1.4 | |
with: | |
name: jars | |
path: dist | |
- name: Fetch release tag | |
run: git fetch origin $GITHUB_REF:$GITHUB_REF -f | |
- name: Generate changelog | |
run: git for-each-ref $GITHUB_REF --format '%(contents)' > CHANGELOG.g.md | |
- name: Load java version | |
id: load-java-version | |
uses: SebRollen/toml-action@v1.2.0 | |
with: | |
file: gradle/libs.versions.toml | |
field: versions.java | |
- name: Load mod version | |
id: load-mod-version | |
uses: SebRollen/toml-action@v1.2.0 | |
with: | |
file: gradle/libs.versions.toml | |
field: versions.optigui | |
- name: Ensure git tag and mod version match | |
if: steps.load-mod-version.outputs.value != github.ref_name | |
run: | | |
echo "git tag '$GITHUB_REF_NAME' doesn't match mod version '${{ steps.load-mod-version.outputs.value }}'" | |
exit 1 | |
- name: Publish to GitHub, Modrinth, and CurseForge | |
uses: Kir-Antipov/mc-publish@v3.3.0 | |
with: | |
modrinth-id: ${{ vars.MODRINTH_ID }} | |
modrinth-token: ${{ secrets.MODRINTH_TOKEN }} | |
modrinth-featured: false | |
curseforge-id: ${{ vars.CURSEFORGE_ID }} | |
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
name: OptiGUI ${{ github.ref_name }} | |
files: | | |
dist/!(*-@(dev|sources|javadoc)).jar | |
dist/*-@(dev|sources|javadoc).jar | |
changelog-file: CHANGELOG.g.md | |
game-version-filter: releases | |
java: ${{ steps.load-java-version.outputs.value }} | |
- name: Delete build output | |
uses: geekyeggo/delete-artifact@v5.0.0 | |
with: | |
name: jars | |
useGlob: false | |
failOnError: false | |
push-docs: | |
name: Push documentation | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
VERSION: ${{ github.ref_name }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.1.1 | |
with: | |
fetch-depth: 0 | |
ref: docs | |
- name: Configure git | |
run: | | |
git config user.email "41898282+github-actions@users.noreply.github.com" | |
git config user.name "github-actions[bot]" | |
- name: Download Kotlin documentation | |
uses: actions/download-artifact@v4.1.4 | |
with: | |
name: kdoc | |
path: docs/kdoc/${{ github.ref_name }} | |
- name: Download Java documentation | |
uses: actions/download-artifact@v4.1.4 | |
with: | |
name: javadoc | |
path: docs/javadoc/${{ github.ref_name }} | |
- name: Update latest documentation folder (Kotlin) | |
run: | | |
cd docs/kdoc | |
unlink latest | |
ln -s $VERSION latest | |
- name: Update latest documentation folder (Java) | |
run: | | |
cd docs/javadoc | |
unlink latest | |
ln -s $VERSION latest | |
- name: Update links | |
run: | | |
sed -i "s|#CI_KDOC_PLACEHOLDER|#CI_KDOC_PLACEHOLDER\n - $VERSION: kdoc/$VERSION|g" mkdocs.yml | |
sed -i "s|#CI_JAVADOC_PLACEHOLDER|#CI_JAVADOC_PLACEHOLDER\n - $VERSION: javadoc/$VERSION|g" mkdocs.yml | |
- name: Commit documentation | |
run: | | |
git add docs | |
git commit -a -m "Add documentation for $VERSION" | |
- name: Push documentation | |
uses: ad-m/github-push-action@v0.8.0 | |
with: | |
branch: docs | |
- name: Delete documentation artifacts | |
uses: geekyeggo/delete-artifact@v5.0.0 | |
with: | |
name: | | |
kdoc | |
javadoc | |
useGlob: false | |
failOnError: false | |
publish-docs: | |
name: Publish documentation | |
runs-on: ubuntu-latest | |
needs: push-docs | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.1.1 | |
with: | |
ref: docs | |
- name: Configure git | |
run: | | |
git config user.email "41898282+github-actions@users.noreply.github.com" | |
git config user.name "github-actions[bot]" | |
- name: Publish documentation | |
uses: mhausenblas/mkdocs-deploy-gh-pages@1.26 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} |