neuralgia/.github/workflows/release.yml
2024-01-03 09:41:17 +05:00

117 lines
4.6 KiB
YAML

name: Release
run-name: "Release #${{ github.run_number }}"
on:
push:
tags:
- "*.*.*"
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/}
- name: Get tag
id: get_tag
uses: "WyriHaximus/github-action-get-previous-tag@v1.3.0"
with:
fallback: tag_not_found
- name: Set the version
run: |
DEV=${{ steps.get_version.outputs.version }}
sed -i -e "s/DEV/${DEV}/g" .github/buildtools/modpack/manifest.json
sed -i -e "s/DEV/${DEV}/g" .github/buildtools/modpack/instance.cfg
sed -i -e "s/DEV/${DEV}/g" config/fancymenu/customization/main_menu.txt
sed -i -e "s/DEV/${DEV}/g" config/bcc-common.toml
- name: Changelog Parser
id: changelog
uses: coditory/changelog-parser@v1.0.2
with:
path: CHANGELOG.md
- name: Submodule init
run: |
git submodule init
cd mods
git config --local ${{ secrets.GITHUB_TOKEN }}
git submodule update --recursive
- name: Archive CF
run: |
mkdir -p overrides
cp -r {config,defaultconfigs,kubejs} overrides/
mv -vf .github/buildtools/modpack/manifest.json ./
mv -vf .github/buildtools/modpack/modlist.html ./
zip -r ./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-cf.zip manifest.json modlist.html overrides
- name: Archive MMC
run: |
cp -r mods overrides/
mv -vf overrides/ .minecraft/
mv -vf .github/buildtools/modpack/mmc-pack.json ./
mv -vf .github/buildtools/modpack/instance.cfg ./
zip -r ./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-mmc.zip mmc-pack.json instance.cfg .minecraft/
- name: Archive Server
run: |
cp -r .github/buildtools/serverpack/* .minecraft/
cat .github/buildtools/client_mod.txt | while read -r line; do find .minecraft/mods -name "$line" -delete; done
cd .minecraft/
zip -r ../TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-server.zip ./
- name: Upload Curseforge
id: cf_release
uses: SwitchAlpha/upload-curseforge-modpack-action@master
with:
api-token: ${{ secrets.CF_API_TOKEN }}
project-id: "385053"
modpack-path: ./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-cf.zip
modpack-server-path: ./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-server.zip
changelog: "${{ steps.changelog.outputs.description }}"
changelog-format: markdown
game-version: "1.20.1"
display-name: TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}
server-display-name: TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-server
release-type: "beta"
- 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: ${{ steps.changelog.outputs.version }}
body: ${{ steps.changelog.outputs.description }}
files: |
./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-cf.zip
./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-mmc.zip
./TerraFirmaGreg-1.20.x-${{ steps.get_version.outputs.version }}-server.zip
- name: Discord notification
uses: tsickert/discord-webhook@v5.4.0
with:
webhook-url: ${{ secrets.RELEASES_1_20 }}
username: "GitHub"
avatar-url: https://github.com/TerraFirmaGreg-Team/.github/tree/main/branding/logo_new_year.png?raw=true
content: "[CurseForge](<https://legacy.curseforge.com/minecraft/modpacks/terrafirmagreg/files/${{ steps.cf_release.outputs.id }}>)"
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: 5814783
embed-footer-text: ${{ steps.changelog.outputs.date }}
- name: Close Fixed in dev
uses: juraj-hrivnak/close-issues-based-on-label@master
env:
LABEL: "2. status: fixed in dev"
VERSION: ${{ steps.get_tag.outputs.tag }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}