209 lines
8 KiB
YAML
209 lines
8 KiB
YAML
name: Build
|
|
run-name: "Build #${{ github.run_number }}"
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "*.*.*"
|
|
branches:
|
|
- main
|
|
|
|
concurrency:
|
|
group: ${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
modpack-info:
|
|
name: Modpack Info
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
project_name: ${{ steps.info.outputs.project_name }}
|
|
project_version: ${{ steps.info.outputs.project_version }}
|
|
mcversion: ${{ steps.info.outputs.mcversion }}
|
|
tag: ${{ steps.version.outputs.tag }}
|
|
news: ${{ steps.message.outputs.news }}
|
|
changelog: ${{ steps.changelog.outputs.description }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4.1.1
|
|
|
|
- name: Get tag
|
|
id: version
|
|
uses: "WyriHaximus/github-action-get-previous-tag@v1.3.0"
|
|
with:
|
|
fallback: tag_not_found
|
|
|
|
- name: Modpack info
|
|
id: info
|
|
shell: bash
|
|
run: |
|
|
set +e
|
|
|
|
if [ ! -f ./.github/buildtools/modpack/manifest.json ]; then
|
|
echo "::error::Could not find manifest.json" && exit 1
|
|
fi
|
|
manifestjson=`cat ./.github/buildtools/modpack/manifest.json`
|
|
|
|
project_name=`echo $(jq -r '.name' <<< "$manifestjson")`
|
|
echo "project_name=$project_name" >> $GITHUB_OUTPUT
|
|
|
|
mcversion=`echo $(jq -r '.minecraft.version' <<< "$manifestjson")`
|
|
echo "mcversion=$mcversion" >> $GITHUB_OUTPUT
|
|
|
|
if [[ ${{ startsWith(github.ref, 'refs/tags/') }} == true ]]; then
|
|
echo "project_version=${{ steps.version.outputs.tag }}" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "project_version=build.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Changelog Parser
|
|
id: changelog
|
|
uses: coditory/changelog-parser@v1.0.2
|
|
with:
|
|
path: CHANGELOG.md
|
|
|
|
- name: Create Discord message
|
|
id: message
|
|
shell: bash
|
|
run: |
|
|
link+="[CurseForge](<https://www.curseforge.com/minecraft/modpacks/terrafirmagreg/files/5009295>) • "
|
|
link+="[GitHub](<https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x/releases/tag/0.4.0>) • "
|
|
link+="[Issues](<https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x/issues>)"
|
|
echo -e "$link" >> $GITHUB_OUTPUT
|
|
|
|
|
|
- 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/logo_new_year.png"
|
|
embed-title: "${{ steps.message.outputs.link }}"
|
|
embed-description: "${{ steps.changelog.outputs.description }}"
|
|
embed-url: https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x/releases/tag/0.4.0
|
|
content: "${{ steps.changelog.outputs.description }}"
|
|
embed-color: "#57F287"
|
|
|
|
# build-cf-modpack:
|
|
# name: Build CF Modpack
|
|
# runs-on: ubuntu-latest
|
|
# needs: [modpack-info]
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v4.1.1
|
|
|
|
# - name: Replace strings
|
|
# shell: bash
|
|
# run: |
|
|
# VERSION=${{ needs.modpack-info.outputs.project_version }}
|
|
# sed -i -e "s/DEV/${VERSION}/g" .github/buildtools/modpack/manifest.json
|
|
# sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/main_menu.txt
|
|
# sed -i -e "s/DEV/${VERSION}/g" config/bcc-common.toml
|
|
|
|
# - name: Export CF
|
|
# run: |
|
|
# mkdir -p overrides
|
|
# mv -vf {config,defaultconfigs,kubejs} overrides/
|
|
# mv -vf .github/buildtools/modpack/manifest.json ./
|
|
# mv -vf .github/buildtools/modpack/modlist.html ./
|
|
# zip -r ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-cf.zip manifest.json modlist.html overrides
|
|
|
|
# - name: Upload zip cf
|
|
# uses: actions/upload-artifact@v4.0.0
|
|
# with:
|
|
# name: ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-cf
|
|
# path: ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-cf.zip
|
|
# retention-days: 5
|
|
|
|
# build-mmc-modpack:
|
|
# name: Build MMC Modpack
|
|
# runs-on: ubuntu-latest
|
|
# needs: [modpack-info]
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v4.1.1
|
|
|
|
# - name: Replace strings
|
|
# shell: bash
|
|
# run: |
|
|
# VERSION=${{ needs.modpack-info.outputs.project_version }}
|
|
# sed -i -e "s/DEV/${VERSION}/g" .github/buildtools/modpack/instance.cfg
|
|
# sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/main_menu.txt
|
|
# sed -i -e "s/DEV/${VERSION}/g" config/bcc-common.toml
|
|
|
|
# - name: Download Mods
|
|
# run: |
|
|
# git submodule init
|
|
# cd mods
|
|
# git config --global credential.helper '!f() {
|
|
# echo "username=Xikaro";
|
|
# echo "password=${{ secrets.USER_TOKEN_XIKARO }}"; }; f'
|
|
# git submodule update --recursive
|
|
|
|
# - name: Export MMC
|
|
# run: |
|
|
# mkdir -p .minecraft
|
|
# mv -vf {config,defaultconfigs,kubejs,mods} .minecraft/
|
|
# mv -vf .github/buildtools/modpack/mmc-pack.json ./
|
|
# mv -vf .github/buildtools/modpack/instance.cfg ./
|
|
# zip -r ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-mmc.zip mmc-pack.json instance.cfg .minecraft/
|
|
|
|
# - name: Upload zip mmc
|
|
# uses: actions/upload-artifact@v4.0.0
|
|
# with:
|
|
# name: ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-mmc
|
|
# path: ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-mmc.zip
|
|
# retention-days: 5
|
|
|
|
# build-serverpack:
|
|
# name: Build Serverpack
|
|
# runs-on: ubuntu-latest
|
|
# needs: [modpack-info]
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v4.1.1
|
|
|
|
# - name: Replace strings
|
|
# shell: bash
|
|
# run: |
|
|
# VERSION=${{ needs.modpack-info.outputs.project_version }}
|
|
# sed -i -e "s/DEV/${VERSION}/g" config/bcc-common.toml
|
|
|
|
# - name: Download Mods
|
|
# run: |
|
|
# git submodule init
|
|
# cd mods
|
|
# git config --global credential.helper '!f() {
|
|
# echo "username=Xikaro";
|
|
# echo "password=${{ secrets.USER_TOKEN_XIKARO }}"; }; f'
|
|
# git submodule update --recursive
|
|
|
|
# - name: Export serverpack
|
|
# run: |
|
|
# mkdir -p .minecraft
|
|
# mv -vf {config,defaultconfigs,kubejs,mods,.github/buildtools/serverpack/*} .minecraft
|
|
# cat .github/buildtools/client_mod.txt | while read -r line; do find .minecraft/mods -name "$line" -delete; done
|
|
# zip -r ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-server.zip .minecraft/*
|
|
|
|
# - name: Upload zip
|
|
# uses: actions/upload-artifact@v4.0.0
|
|
# with:
|
|
# name: ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-server
|
|
# path: ${{ needs.modpack-info.outputs.project_name }}-${{ needs.modpack-info.outputs.project_version }}-server.zip
|
|
# retention-days: 5
|
|
|
|
|
|
# release:
|
|
# name: Release
|
|
# needs: [modpack-info, build-cf-modpack, build-mmc-modpack, build-serverpack]
|
|
# if: startsWith(github.ref, 'refs/tags/')
|
|
# uses: ./.github/workflows/release.yml
|
|
# with:
|
|
# project_name: ${{ needs.modpack-info.outputs.project_name }}
|
|
# project_version: ${{ needs.modpack-info.outputs.project_version }}
|
|
# mcversion: ${{ needs.modpack-info.outputs.mcversion }}
|
|
# tag: ${{ needs.modpack-info.outputs.tag }}
|
|
# news: ${{ needs.modpack-info.outputs.news }}
|
|
# changelog: ${{ needs.modpack-info.outputs.changelog }}
|
|
# secrets: inherit
|
|
|