diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 95cf365..7690674 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: - name: Build with Gradle run: ./gradlew build -Pmod_version=${{ steps.ver.outputs.version }} --stacktrace - - name: Create Release + - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.ver.outputs.tag }} @@ -53,4 +53,28 @@ jobs: generate_release_notes: true files: build/libs/*.jar draft: false - prerelease: false \ No newline at end of file + 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 \ No newline at end of file diff --git a/modrinth.json b/modrinth.json new file mode 100644 index 0000000..7fbb1d1 --- /dev/null +++ b/modrinth.json @@ -0,0 +1,10 @@ +{ + "project_id": "better-place-command", + "version_type": "release", + "loaders": [ + "fabric" + ], + "game_versions": [ + "26.1.2" + ] +} \ No newline at end of file