name: Release run-name: "Release #${{ github.run_number }}" on: workflow_call: inputs: project_name: required: true type: string project_version: required: true type: string mc_version: required: true type: string changelog: required: true type: string env: CF_PROJECT_ID: "385053" MODRINTH_PROJECT_ID: "75JuuMzk" RELEASE_TYPE: "beta" jobs: release-curseforge: name: Deploy to CurseForge runs-on: ubuntu-latest steps: - name: Check if CF_API_TOKEN exist shell: bash run: | if [ "${{ secrets.CF_API_TOKEN }}" == '' ]; then echo '::error::No value found for secret key `CF_API_TOKEN`. See https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1 fi - name: Download cf modpack uses: actions/download-artifact@v4.1.0 with: name: ${{ inputs.project_name }}-${{ inputs.project_version }}-cf - name: Download serverpack uses: actions/download-artifact@v4.1.0 with: name: ${{ inputs.project_name }}-${{ inputs.project_version }}-server - name: Upload Curseforge id: cf_release uses: SwitchAlpha/upload-curseforge-modpack-action@master with: api-token: ${{ secrets.CF_API_TOKEN }} project-id: ${{ env.CF_PROJECT_ID }} modpack-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-cf.zip modpack-server-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-server.zip changelog: ${{ inputs.changelog }} changelog-format: markdown game-version: ${{ inputs.mc_version }} display-name: ${{ inputs.project_name }}-${{ inputs.project_version }} server-display-name: ${{ inputs.project_name }}-${{ inputs.project_version }}-server release-type: ${{ env.RELEASE_TYPE }} - name: Send Discord message uses: tsickert/discord-webhook@v5.4.0 with: webhook-url: ${{secrets.RELEASES_1_20}} username: "TerraFirmaGreg" avatar-url: "https://raw.githubusercontent.com/TerraFirmaGreg-Team/.github/main/branding/curseforge_logo.png" embed-title: Release ${{ inputs.project_version }} embed-url: https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x/releases/tag/${{ inputs.project_version }} embed-thumbnail-url: https://raw.githubusercontent.com/TerraFirmaGreg-Team/.github/main/branding/logo_new_year.png embed-description: | **Release Type**: `${{ env.RELEASE_TYPE }}` **GameVersion**: `${{ inputs.mc_version }}` **Website Link**: [CurseForge](https://www.curseforge.com/minecraft/modpacks/terrafirmagreg/files/${{ steps.cf_release.outputs.id }}) **Changelog** ```${{ inputs.changelog }}``` embed-color: 5814783 release-github: name: Deploy to GitHub runs-on: ubuntu-latest steps: - name: Download modpack uses: actions/download-artifact@v4.1.0 with: merge-multiple: true - name: Create release uses: softprops/action-gh-release@v1 with: prerelease: false generate_release_notes: true name: ${{ inputs.project_version }} body: ${{ inputs.CHANGELOG }} files: | ${{ inputs.project_name }}-${{ inputs.project_version }}-cf.zip ${{ inputs.project_name }}-${{ inputs.project_version }}-mmc.zip ${{ inputs.project_name }}-${{ inputs.project_version }}-server.zip tag_name: ${{ inputs.project_version }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # release-modrinth: # name: Deploy to Modrinth # runs-on: ubuntu-latest # steps: # - name: Check if MODRINTH_API_TOKEN exist # shell: bash # run: | # if [ "${{ secrets.MODRINTH_API_TOKEN }}" == '' ]; then # echo '::error::No value found for secret key `MODRINTH_API_TOKEN`. See https://docs.github.com/en/actionssecurity-guides/ encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1 # fi # - name: Download modpack # uses: actions/download-artifact@v4.1.0 # with: # name: modpack_mrd # - name: Download serverpack # uses: actions/download-artifact@v4.1.0 # with: # name: server_pack # - name: Upload Modrinth # id: cf_release # uses: SwitchAlpha/upload-curseforge-modpack-action@master # with: # api-token: ${{ secrets.MODRINTH_API_TOKEN }} # project-id: ${{ env.MODRINTH_PROJECT_ID }} # modpack-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-mrd.zip # modpack-server-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-server.zip # changelog: "${{ inputs.CHANGELOG }}" # changelog-format: markdown # game-version: ${{ inputs.mc_version }} # display-name: ${{ inputs.project_name }}-${{ inputs.project_version }} # server-display-name: ${{ inputs.project_name }}-${{ inputs.project_version }}-server # release-type: ${{ env.RELEASE_TYPE }} close-fixed-issues: name: Close Fixed Issues runs-on: ubuntu-latest needs: [release-github, release-curseforge] steps: - name: Checkout uses: actions/checkout@v4.1.1 - name: close-fixed-in-dev uses: juraj-hrivnak/close-issues-based-on-label@master env: LABEL: "2. status: fixed in dev" VERSION: ${{ inputs.project_version }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}