diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..4ee26cf72 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,93 @@ +name: Deploy modpack + +on: + push: + tags: + - "R*.*.*" + +jobs: + Deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4.1.1 + + - name: Get the version + id: get_version + run: echo ::set-output name=version::${GITHUB_REF#refs/tags/R} + + - name: Changelog Parser + id: changelog + uses: coditory/changelog-parser@v1.0.2 + with: + path: CHANGELOG.md + + - name: normal -> extended + run: | + rsync -av --exclude-from='./.github/buildtools/filelist.txt' ./ ./.minecraft/ + + - name: Set the version + run: | + DEV=${{ steps.get_version.outputs.version }} + sed -i -e "s/DEV/${DEV}/g" ./manifest.json + sed -i -e "s/DEV/${DEV}/g" ./instance.cfg + sed -i -e "s/DEV/${DEV}/g" ./.minecraft/config/fancymenu/customization/main_menu.txt + + - name: Archive Release MMC + run: zip -r ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-mmc.zip ./mmc-pack.json ./instance.cfg .minecraft/ + + - name: Archive Release CF + run: | + mv -vf .minecraft/ ./overrides/ + zip -r ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-cf.zip ./manifest.json ./modlist.html ./overrides/config/ ./overrides/cubejs/ ./overrides/defaultconfigs/ + + - name: Deleting Client Resources + run: | + cd ./overrides/ + cat ../buildtools/client_mod.txt | while read -r line; do find ./mods -name "$line" -delete; done + rm -rf ./shaderpacks + + - name: Archive Release Server + run: | + cp -r ./.github/buildtools/serverfiles/* ./overrides/ + cd ./overrides/ + zip -r ../TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-server.zip ./ + + - name: Upload Curseforge normal + uses: henkelmax/upload-curseforge-modpack-action@v1.0.0 + with: + api-token: ${{ secrets.CF_API_TOKEN }} + project-id: "385053" + modpack-path: ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-cf.zip + modpack-server-path: ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-server.zip + changelog: "${{ steps.changelog.outputs.description }}" + changelog-format: markdown + game-version: "1.12.2" + display-name: TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }} + server-display-name: TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-server + release-type: "release" + + - name: Create GitHub Release + uses: softprops/action-gh-release@v0.1.15 + if: startsWith(github.ref, 'refs/tags/') + with: + prerelease: false + generate_release_notes: true + name: Release ${{ steps.changelog.outputs.version }} + body: ${{ steps.changelog.outputs.description }} + files: | + ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-cf.zip + ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-mmc.zip + ./TerraFirmaGreg-1.20-${{ steps.get_version.outputs.version }}-server.zip + + - name: Discord notification + uses: tsickert/discord-webhook@v5.3.0 + with: + webhook-url: ${{ secrets.RELEASES_1_20 }} + username: "GitHub" + avatar-url: https://github.com/TerraFirmaGreg-1.20-Team/.github/blob/6279c7b205e642fd6b1398f55df988dfd306d265/branding/logo.png + embed-title: Release ${{ steps.changelog.outputs.version }} + embed-description: "${{ steps.changelog.outputs.description }}" + embed-url: https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x/tree/main/CHANGELOG.md + embed-color: 15430476 + embed-footer-text: ${{ steps.changelog.outputs.date }}