Merge branch 'dev' into release/1.21 #38
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 Staff Mod | |
on: | |
push: | |
tags: | |
- "*" | |
jobs: | |
build: | |
name: Build Staff Mod | |
uses: ./.github/workflows/build.yml | |
with: | |
build-project: true | |
build-docs: true | |
upload-output: true | |
fast: true | |
publish: | |
name: Publish Staff Mod | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
- name: Download Fabric jars | |
uses: actions/[email protected] | |
with: | |
name: fabric-jars | |
path: dist/fabric | |
- name: Download NeoForge jars | |
uses: actions/[email protected] | |
with: | |
name: neoforge-jars | |
path: dist/neoforge | |
- 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/[email protected] | |
with: | |
file: gradle/libs.versions.toml | |
field: versions.java | |
- name: Load mod version | |
id: load-mod-version | |
uses: SebRollen/[email protected] | |
with: | |
file: gradle/libs.versions.toml | |
field: versions.staff-mod | |
- 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 Fabric mod to Modrinth and CurseForge | |
uses: Kir-Antipov/[email protected] | |
with: | |
modrinth-id: ${{ vars.MODRINTH_ID }} | |
modrinth-token: ${{ secrets.MODRINTH_TOKEN }} | |
modrinth-featured: false | |
curseforge-id: ${{ vars.CURSEFORGE_ID }} | |
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} | |
name: Staff Mod ${{ github.ref_name }} for Fabric | |
version: ${{ github.ref_name }}+fabric | |
files: | | |
dist/fabric/!(*-@(dev|dev-shadow|sources|javadoc)).jar | |
dist/fabric/*-@(dev|dev-shadow|sources|javadoc).jar | |
changelog-file: CHANGELOG.g.md | |
game-version-filter: releases | |
java: ${{ steps.load-java-version.outputs.value }} | |
- name: Publish NeoForge mod to Modrinth and CurseForge | |
uses: Kir-Antipov/[email protected] | |
with: | |
modrinth-id: ${{ vars.MODRINTH_ID }} | |
modrinth-token: ${{ secrets.MODRINTH_TOKEN }} | |
modrinth-featured: false | |
curseforge-id: ${{ vars.CURSEFORGE_ID }} | |
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} | |
name: Staff Mod ${{ github.ref_name }} for NeoForge | |
version: ${{ github.ref_name }}+neoforge | |
files: | | |
dist/neoforge/!(*-@(dev|dev-shadow|sources|javadoc)).jar | |
dist/neoforge/*-@(dev|dev-shadow|sources|javadoc).jar | |
changelog-file: CHANGELOG.g.md | |
game-version-filter: releases | |
java: ${{ steps.load-java-version.outputs.value }} | |
- name: Publish mods to GitHub | |
uses: Kir-Antipov/[email protected] | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
name: Staff Mod ${{ github.ref_name }} | |
files: | | |
dist/fabric/!(*-@(dev|sources|javadoc)).jar | |
dist/fabric/*-@(dev|sources|javadoc).jar | |
dist/neoforge/!(*-@(dev|sources|javadoc)).jar | |
dist/neoforge/*-@(dev|sources|javadoc).jar | |
changelog-file: CHANGELOG.g.md | |
- name: Delete build output | |
uses: geekyeggo/[email protected] | |
with: | |
name: | | |
fabric-jars | |
neoforge-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/[email protected] | |
with: | |
fetch-depth: 0 | |
ref: docs | |
- name: Configure git | |
run: | | |
git config user.email "[email protected]" | |
git config user.name "github-actions[bot]" | |
- name: Download Kotlin documentation | |
uses: actions/[email protected] | |
with: | |
name: kdoc | |
path: docs/kdoc/${{ github.ref_name }} | |
- name: Download Java documentation | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
branch: docs | |
- name: Delete documentation artifacts | |
uses: geekyeggo/[email protected] | |
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/[email protected] | |
with: | |
ref: docs | |
- name: Configure git | |
run: | | |
git config user.email "[email protected]" | |
git config user.name "github-actions[bot]" | |
- name: Publish documentation | |
uses: mhausenblas/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
REQUIREMENTS: requirements.txt |