Skip to content

Merge branch 'dev' into release/1.20 #49

Merge branch 'dev' into release/1.20

Merge branch 'dev' into release/1.20 #49

Workflow file for this run

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 }}