|
| 1 | +# Copy this file to .github/workflows/release.yaml in your mod repo |
| 2 | +# Then run: uv run setup.py (from mod-release-workflow repo) |
| 3 | + |
| 4 | +name: Release |
| 5 | +concurrency: release-pipeline |
| 6 | + |
| 7 | +on: |
| 8 | + push: |
| 9 | + branches: |
| 10 | + - main |
| 11 | + workflow_dispatch: |
| 12 | + inputs: |
| 13 | + manual_bump: |
| 14 | + description: 'Override bump (patch, minor, major)' |
| 15 | + default: 'patch' |
| 16 | + type: choice |
| 17 | + options: [patch, minor, major] |
| 18 | + |
| 19 | +jobs: |
| 20 | + release: |
| 21 | + uses: game-design-driven/mod-release-workflow/.github/workflows/mod-release.yaml@main |
| 22 | + with: |
| 23 | + # Required - build config |
| 24 | + loader: "forge" # forge, fabric, neoforge, quilt |
| 25 | + mc_version: "1.20.1" |
| 26 | + java_version: "17" |
| 27 | + |
| 28 | + # Optional - platform publishing (set IDs via repo vars or here) |
| 29 | + modrinth_id: ${{ vars.MODRINTH_ID }} |
| 30 | + curseforge_id: ${{ vars.CF_ID }} |
| 31 | + |
| 32 | + # Optional - packwiz slugs for modpack sync (defaults to repo name lowercase) |
| 33 | + modrinth_slug: ${{ vars.MODRINTH_SLUG }} |
| 34 | + curseforge_slug: ${{ vars.CF_SLUG }} |
| 35 | + |
| 36 | + # Optional - modpack downstream PR |
| 37 | + target_modpack_repo: ${{ vars.TARGET_MODPACK_REPO }} |
| 38 | + enable_modrinth_sync: ${{ vars.ENABLE_MODRINTH_SYNC == 'true' }} |
| 39 | + enable_curseforge_sync: ${{ vars.ENABLE_CURSEFORGE_SYNC == 'true' }} |
| 40 | + curseforge_modpack_path: "./curseforge" |
| 41 | + |
| 42 | + # Bump type (from workflow_dispatch or default) |
| 43 | + manual_bump: ${{ inputs.manual_bump || 'patch' }} |
| 44 | + secrets: |
| 45 | + GH_TOKEN: ${{ secrets.GH_TOKEN }} |
| 46 | + MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} |
| 47 | + CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} |
0 commit comments