ci: 发布时自动上传到 Modrinth

release.yml 在 GitHub Release 之后用 Kir-Antipov/mc-publish@v3.3 上传 jar 到 Modrinth,project 用 slug better-place-command;发布配置读仓库根 modrinth.json(project_id/loaders/game_versions/version_type)。含 test 的 tag 会跳过 Modrinth 发布。

新增 modrinth.json 作为发布元数据单一真源。
This commit is contained in:
AxTps committed 2026-10-03 17:22:40 +08:00
1 parent 5f1374bcc6
commit 623a43b26d
2 files changed
+35 -1

No files matched your search

+25 -1
View File
@@ -45,7 +45,7 @@ jobs:
- name: Build with Gradle - name: Build with Gradle
run: ./gradlew build -Pmod_version=${{ steps.ver.outputs.version }} --stacktrace run: ./gradlew build -Pmod_version=${{ steps.ver.outputs.version }} --stacktrace
- name: Create Release - name: Create GitHub Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: ${{ steps.ver.outputs.tag }} tag_name: ${{ steps.ver.outputs.tag }}
@@ -54,3 +54,27 @@ jobs:
files: build/libs/*.jar files: build/libs/*.jar
draft: false draft: false
prerelease: false prerelease: false
- name: Read Modrinth metadata
id: meta
run: |
echo "project_id=$(jq -r .project_id modrinth.json)" >> "$GITHUB_OUTPUT"
echo "loaders=$(jq -r '.loaders | join(\",\")' modrinth.json)" >> "$GITHUB_OUTPUT"
echo "game_versions=$(jq -r '.game_versions | join(\",\")' modrinth.json)" >> "$GITHUB_OUTPUT"
echo "version_type=$(jq -r .version_type modrinth.json)" >> "$GITHUB_OUTPUT"
- name: Publish to Modrinth
# 仅在正式 tag 时发布(跳过含 test 的 tag)
if: ${{ !contains(steps.ver.outputs.tag, 'test') }}
uses: Kir-Antipov/mc-publish@v3.3
with:
modrinth-id: ${{ steps.meta.outputs.project_id }}
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
files: build/libs/minecraft-place-mod-${{ steps.ver.outputs.version }}.jar
name: ${{ steps.ver.outputs.tag }}
version: ${{ steps.ver.outputs.version }}
version-type: ${{ steps.meta.outputs.version_type }}
loaders: ${{ steps.meta.outputs.loaders }}
game-versions: ${{ steps.meta.outputs.game_versions }}
changelog: 详见 GitHub Release。
modrinth-featured: false
+10
View File
@@ -0,0 +1,10 @@
{
"project_id": "better-place-command",
"version_type": "release",
"loaders": [
"fabric"
],
"game_versions": [
"26.1.2"
]
}