tutorial:publishing_mods_using_github_actions
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tutorial:publishing_mods_using_github_actions [2022/11/14 14:05] – xipit | tutorial:publishing_mods_using_github_actions [2024/11/19 22:35] (current) – linking to English Wikipedia instead of Deutschsprachige Wikipedia kkiris | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Publishing | + | ====== Publishing |
| - | MC-Publish is a Github | + | MC-Publish is a GitHub |
| - | ===== What are Github | + | ===== What are GitHub |
| - | [[https:// | + | [[https:// |
| - | In Software Development Github Actions and similar workflow automation systems are standard place and help tremendously with making deployments (such as releasing a new version of your mod) as seemless | + | In Software Development Github Actions and similar workflow automation systems are standard place and help tremendously with making deployments (such as releasing a new version of your mod) as seamless |
| - | If you dread the manual process of uploading your mod to multiple platforms this is the solution. | + | If you dread the manual process of uploading your mod to multiple platforms, this is the solution. |
| Line 14: | Line 14: | ||
| You should have already done the following: | You should have already done the following: | ||
| - | - create a repository of your mod on Github | + | - create a repository of your mod on GitHub |
| - | - upload a version of your mod to Curseforge | + | - upload a version of your mod to CurseForge |
| ===== Setup ===== | ===== Setup ===== | ||
| - | If we want Github to do something for us, we need to tell their servers what exactly we want. To do that we need to add a '' | + | If we want Github to do something for us, we need to tell their servers what exactly we want. To do that we need to add a '' |
| The general structure of your '' | The general structure of your '' | ||
| <code yaml> | <code yaml> | ||
| - | name: Publish on Github, Curseforge | + | name: Publish on GitHub, CurseForge |
| - | on: [ pull_request, | + | on: [ pull_request, |
| env: # | env: # | ||
| Line 36: | Line 36: | ||
| contents: write | contents: write | ||
| - | jobs: #The place where you actually tell the Github | + | jobs: #The place where you actually tell the GitHub |
| build: | build: | ||
| runs-on: ubuntu-latest | runs-on: ubuntu-latest | ||
| Line 43: | Line 43: | ||
| </ | </ | ||
| - | I recommend to keep '' | + | I recommend to keep '' |
| Basic environments variables should include: | Basic environments variables should include: | ||
| Line 80: | Line 80: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| * '' | * '' | ||
| Line 123: | Line 123: | ||
| === MC-Publish === | === MC-Publish === | ||
| - | This section will by its nature not be complete, to get a full overview you can [[https:// | + | This section will by its nature not be complete, to get a full overview you can [[https:// |
| <code yaml> | <code yaml> | ||
| Line 132: | Line 132: | ||
| ... | ... | ||
| | | ||
| - | - name: Publish (CurseForge/ | + | - name: Publish (CurseForge/ |
| - | uses: Kir-Antipov/ | + | uses: Kir-Antipov/ |
| with: | with: | ||
| - | curseforge-id: | + | curseforge-id: |
| curseforge-token: | curseforge-token: | ||
| | | ||
| Line 156: | Line 156: | ||
| '' | '' | ||
| - | **//Github//** Settings > Developer Settings > Personal access tokens > Tokens (classic) => press " | + | **//GitHub//** Settings > Developer Settings > Personal access tokens > Tokens (classic) => press " |
| **// | **// | ||
| - | **//Curseforge//** Settings > My API Tokens => choose a descriptive name and press " | + | **//CurseForge//** Settings > My API Tokens => choose a descriptive name and press " |
| - | It is **strongly recommended** that you save the authentication tokens somewhere safe, e.g. a password manager. **Github | + | It is **strongly recommended** that you save the authentication tokens somewhere safe, e.g. a password manager. **GitHub |
| - | Now that you have all the tokens you need, you have to make them accessible to your Github | + | Now that you have all the tokens you need, you have to make them accessible to your GitHub |
| <code yaml> | <code yaml> | ||
| ${{ secrets.PUBLISH_CURSEFORGE_TOKEN }} | ${{ secrets.PUBLISH_CURSEFORGE_TOKEN }} | ||
| Line 173: | Line 173: | ||
| ==== Full .yml example ==== | ==== Full .yml example ==== | ||
| <code yaml> | <code yaml> | ||
| - | name: Publish on Github, Curseforge | + | name: Publish on GitHub, CurseForge |
| on: [ pull_request, | on: [ pull_request, | ||
| Line 214: | Line 214: | ||
| run: ./gradlew clean build | run: ./gradlew clean build | ||
| | | ||
| - | - name: Publish (CurseForge/ | + | - name: Publish (CurseForge/ |
| uses: Kir-Antipov/ | uses: Kir-Antipov/ | ||
| with: | with: | ||
| Line 240: | Line 240: | ||
| To recap, here is what you should have by now: | To recap, here is what you should have by now: | ||
| * Newly generated authentication tokens for every platform | * Newly generated authentication tokens for every platform | ||
| - | * Authentication tokens stored as secrets in your github | + | * Authentication tokens stored as secrets in your GitHub |
| * a '' | * a '' | ||
| * a empty '' | * a empty '' | ||
| - | If you have all these you are finished! You can now use your newly created | + | If you have all these you are finished! You can now use your newly created |
| ===== Additional tips ===== | ===== Additional tips ===== | ||
| Line 266: | Line 266: | ||
| ==== Errors when uploading to Modrinth ==== | ==== Errors when uploading to Modrinth ==== | ||
| - | Since Modrinth updated its API some people have problems uploading through the API. If that happens to you, try separating the modrinth | + | Since Modrinth updated its API some people have problems uploading through the API. If that happens to you, try separating the Modrinth |
| Change the version in the step that publishes to modrinth to 2.1 -> '' | Change the version in the step that publishes to modrinth to 2.1 -> '' | ||
tutorial/publishing_mods_using_github_actions.1668434702.txt.gz · Last modified: 2022/11/14 14:05 by xipit