neuralgia/.github/workflows/build.yml
Pyritie f0845f2c69
Release: 0.9.3 (#951)
* changed Caelum to be on the server too, since tfc-caelum is also a server mod

* added caelum + tfc-caelum to pakku

* fixed stress levels on the rolling mill

* fixed lang files for universal circuits

* changed early game recipes to use small gears instead of large, to avoid duping, and make cogs easier

* Update carryon-common.toml

Carry On's config doesn't seem to work with tags (#), so I explicitly added the framedblocks chest and the tfc chests to the whitelist. I also removed storage drawers since they aren't in use.

Signed-off-by: NobleWasTaken <137561393+NobleWasTaken@users.noreply.github.com>

* - Missed this commit last time oops

* Fixed nano legs buff from also removing speed buff, for now

* Added recycling recipes for your old molds

* lowered recipe speed of bulk washing

* Added more details to ore hazards field guide entry

* Bump actions/download-artifact in the dependencies group

Bumps the dependencies group with 1 update: [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/download-artifact` from 4.2.1 to 4.3.0
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.2.1...v4.3.0)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* will you leave me alone if I submit these, ftbquests?

* more create SU adjustments

* - Added recipe to separate fertilizer into pure sources, and mix them back together.
- Added recipes to sew hides together and cut them apart.

* ore basics + hazards field guide entry tweaks

* big field guide update! all ore veins are now generated with our tool!

* toned down how many sticks were being placed in the nether

* remove caelum + tfc caelum #922

* - Added recipe to separate fertilizer into pure sources, and mix them back together. (#927)

- Added recipes to sew hides together and cut them apart.

* the placeholder programmed circuit recipe is now a stick + wrench, so it doesn't confuse new players as much

* updated changelog

* changed some create recipes to use bolts instead of nuggets, so they're available earlier

* moved surface_kaolin to mechanics category

* changed realgar item set

* Add README file to server overrides

* Fix tips quest issues (#937)

* - Fixed supports

* fixed some incorrect assembler recipes for create items

* improved texture of nether quartz ore + the raw ore block of the quartz material set

* greate buffs

* remove brick duping

* removed treated wood boats

* clay decomposition now requires HV

* added a potential fix for #944 suggested by ghosti, cleaned up some other abuses of it in tag events so now it's just indicators that still have to use it

* fixed tfc tool tags

* fluix's displayed formula is now more accurate to its material composition

* nerfed stone dust centrifuging, added a basic tape recipe that uses tfc glue

* fixes #932

* Allow red/tin alloy double ingot piles, add textures (#948)

* Mv quest rework (#920)

* Changes for MV Quests

* First fix for Progression tab

* fixes lang title

Signed-off-by: TomPlop <tomdidome@gmail.com>

* Changes for LV, fixes for quest categories, adding GT Tips, adding Gregtech energy, rework of Progression tab

* fix macerator separator

---------

Signed-off-by: TomPlop <tomdidome@gmail.com>

* - the other ae2 wireless terminals are now all in late EV
- MEGA ae2 stuff now requires naq instead of a singularity

* coke and coal are no longer gems, and moss is no longer dirt

* fixed some icon sets

* the nether now has a gas collector recipe

* update changelog

* some more ae2 tweaking

* better recipe for the universal wireless terminal

* swapped colors of nickel and platinum, so nickel more closely matches the tfc textures

* doubled capacity of greate shafts! also adjusted the alternator to match

* fix: gui_main_menu

* pakku update

* fix: gui_main_menu 2

* Update mods

* removed beneath's cursecoal and sylvite veins, made tfg ones instead so they're added to the field guide

* new main menu panorama!

* update changelog

* update changelog

* added death punishment mod + config

* updated the greate mixer workaround quest

* Rubber processing recipes audit (#949)

* Rubber recipe changes
- Latex can now be extracted from rubber trees' logs, saplings, leaves via the vacuum chamber (ULV) or extractor(LV)
- values: 1000mB per log, 100mB per sapling, 50mB per leaves; Extractor recipes do this in bulk and output 1000mB per operation
- Dandelions and goldenrods can, with added sodium hydroxide, be turned into latex in a chem reactor
- Sticky resin recipes (from both conifer pitch and latex) require wood ash now instead of sulfur
- Latex -> Vulcanized latex recipe now requires sulfur instead of wood ash
- Vulcanized latex now becomes raw rubber pulp in a solidifier or vacuum chamber at a rate of 250mB/raw pulp
- Latex soaked glove recipe now is a barrel recipe that takes 50 seconds instead of a vat recipe

* Correctly set latex soaked gloves recipe to 50 seconds (was 100 seconds in previous commit)

* Quest/patchouli book updates
- Tried to catch every mention of the old rubber making recipes.

* Revert Latex-soaked gloves recipe change as it didn't need to change
- Originally I wanted to make vulc latex -> raw rubber a Vat recipe, this isn't the case anymore so there is no reason to change this recipe.

* Rebalanced recipe values
- Logs now only give 250mB of latex
- Increase overall in time required vacuumizing directly into latex (now roughly takes 150 seconds per 1000mB, logs slightly faster)
- Gregtech fluid extraction recipes for these have been rebalanced to be around 4x faster and in bulk (roughly 37.5 seconds per 1000mB, logs slightly faster)
- Made vacuum chamber recipes use kubejs tag: field for allowing tags in recipe

* Lang & Quest updates
- Changed rubber ingot quest dependency to be on vacuum chamber instead of extractor
- Removed LV circuit quest dependency on rubber (this hasn't required rubber for a while)
- Lang changes - fix ambiguous wording, typos, titles too long for book

* updated langs

* oops, missed quest langs

* pushing algo_rithm's lang changes

* updated punishment-for-death pakku

* update configs

* langs

* Update CHANGELOG.md

* Update mods

* CHANGELOG

* Update build.yml

---------

Signed-off-by: NobleWasTaken <137561393+NobleWasTaken@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: NobleWasTaken <137561393+NobleWasTaken@users.noreply.github.com>
Co-authored-by: Redeix <59435925+Redeix@users.noreply.github.com>
Co-authored-by: Redeix <brayden.j.m.ford@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com>
Co-authored-by: Nebby1999 <nebby131999@gmail.com>
Co-authored-by: Nebby <78170922+Nebby1999@users.noreply.github.com>
Co-authored-by: AirRice <jpumph2@gmail.com>
Co-authored-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: Xikaro <os.valerievich@ya.ru>
2025-05-05 21:58:47 +05:00

551 lines
20 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Project Build
run-name: "📦 Project Build #${{ github.run_number }}"
on:
push:
branches:
- dev
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
RELEASE_TYPE: "release"
MINECRAFT_VERSION: "1.20.1"
DEV_ENVIRONMENT: ${{ github.ref_name != 'main' }}
jobs:
info:
name: 🖥️ Project Info
runs-on: ubuntu-latest
outputs:
project_version: ${{ steps.check.outputs.project_version }}
project_name: ${{ steps.check.outputs.project_name }}
project_full_name: ${{ steps.check.outputs.project_name }}-${{ steps.check.outputs.project_version }}
changelog: ${{ steps.changelog.outputs.description }}
diff: ${{ steps.read_diff.outputs.diff }}
exists: ${{ steps.check.outputs.exists }}
make_release: ${{ steps.check.outputs.make_release }}
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: 🔍 Check pakku-lock.json
id: check_pakku_lock
shell: bash
run: |
if [ ! -f pakku-lock.json ]; then
echo "❌ Could not find pakku-lock.json" && exit 1
else
echo "✔️ pakku-lock.json"
fi
- name: 🔍 Check pakku.json
id: check_pakku
shell: bash
run: |
if [ ! -f pakku.json ]; then
echo "❌ Could not find pakku.json" && exit 1
else
echo "✔️ pakku.json"
fi
- name: 📈 Get latest tag
id: latest_tag
shell: bash
run: |
tag=$(git describe --tags --abbrev=0)
if [ -z "$tag" ]; then
echo "❌ Latest tag not found" && exit 1
else
echo "✔️ Latest tag found: $tag"
echo "tag=$tag" >> $GITHUB_OUTPUT
fi
- name: 🔍 Check pakku-lock.json in previous tag
id: check_pakku_lock_prev
shell: bash
run: |
if git cat-file -e ${{ steps.latest_tag.outputs.tag }}:./pakku-lock.json 2>/dev/null; then
echo "✔️ File pakku-lock.json found in previous tag"
echo "file_found=true" >> $GITHUB_OUTPUT
else
echo "❌ File pakku-lock.json not found in previous tag"
echo "file_found=false" >> $GITHUB_OUTPUT
fi
- name: 📁 Check and copy pakku-lock.json from previous tag
id: check_copy_lock
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
git show tags/${{ steps.latest_tag.outputs.tag }}:./pakku-lock.json > ./pakku-lock-prev.json
if [ -s ./pakku-lock-prev.json ]; then
echo "✔️ File pakku-lock-prev.json created"
else
echo "❌ Error: File pakku-lock-prev.json is empty or not created" && exit 1
fi
- name: 📦 Download pakku.jar
id: download_pakku
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
echo "✔️ Downloaded pakku.jar "
- name: 🔄 Run pakku diff
id: pakku_diff
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
java -jar pakku.jar diff -v --markdown PROJECTS_DIFF.md ./pakku-lock-prev.json ./pakku-lock.json
if [ -f PROJECTS_DIFF.md ]; then
echo "✔️ Comparison completed"
else
echo "❌ Error: File PROJECTS_DIFF.md not created" && exit 1
fi
- name: 📝 Read PROJECTS_DIFF.md to variable
id: read_diff
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
echo "📝 Reading PROJECTS_DIFF.md to variable..."
{
echo 'diff<<EOF'
cat -v PROJECTS_DIFF.md
echo EOF
} >> "$GITHUB_OUTPUT"
echo "✔️ Diff content read to variable"
- name: 📊 Get Pakku Info
id: pakku_info
uses: ActionsTools/read-json-action@v1.0.5
with:
file_path: "pakku.json"
- name: 📊 Get Pakku-lock Info
id: pakku_lock_info
uses: ActionsTools/read-json-action@v1.0.5
with:
file_path: "pakku-lock.json"
- name: 🔍 Check if tag exists
uses: mukunku/tag-exists-action@v1.6.0
id: check_tag
with:
tag: ${{ steps.pakku_info.outputs.version }}
- name: 📝 Determine Version
id: determine_version
shell: bash
run: |
if ${{ env.DEV_ENVIRONMENT == 'true' }}; then
echo "version=unreleased" >> $GITHUB_OUTPUT
else
echo "version=${{ steps.pakku_info.outputs.version }}" >> $GITHUB_OUTPUT
fi
- name: 📄 Changelog Parser
id: changelog
uses: coditory/changelog-parser@v1.0.2
with:
path: CHANGELOG.md
version: ${{ steps.determine_version.outputs.version }}
continue-on-error: true
- name: 🔍 Check
id: check
shell: bash
run: |
echo "make_release=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'false' }}" >> $GITHUB_OUTPUT
echo "exists=${{ steps.check_tag.outputs.exists }}" >> $GITHUB_OUTPUT
echo "project_name=${{ steps.pakku_info.outputs.name }}" >> $GITHUB_OUTPUT
echo "project_version=${{ steps.pakku_info.outputs.version }}" >> $GITHUB_OUTPUT
echo "release_type=${{ env.RELEASE_TYPE }}" >> $GITHUB_OUTPUT
echo "minecraft_version=${{ steps.pakku_lock_info.outputs.mc_versions }}" >> $GITHUB_OUTPUT
if ${{ env.DEV_ENVIRONMENT == 'true' && steps.changelog.outcome == 'failure' }}; then
echo "project_version=build_#${{ github.run_number }}" >> $GITHUB_OUTPUT
echo "release_type=Unreleased" >> $GITHUB_OUTPUT
fi
- name: 📄 Format diff
id: format_diff
if: ${{ steps.read_diff.outputs.diff != '' }}
uses: roamingowl/template-output-with-eta@v1.12.0
with:
template: |
```markdown
${{ steps.read_diff.outputs.diff }}
```
- name: 📝 Generate Github Summary
uses: WcAServices/markdown-template-action@v1.1.1
with:
template: |
📃 **Name**: ${{ steps.check.outputs.project_name }}
📃 **Release**: `${{ steps.check.outputs.project_version }}`
📃 **Release Type**: `${{ steps.check.outputs.release_type }}`
📃 **Game Version**: `${{ steps.check.outputs.minecraft_version }}`
📃 **Dev Environment**: `${{ env.DEV_ENVIRONMENT }}`
📃 **Tag Exists**: `${{ steps.check.outputs.exists }}`
📃 **Make Release**: `${{ steps.check.outputs.make_release }}`
${{ steps.changelog.outputs.description }}
${{ steps.format_diff.outputs.text }}
build-modpack:
name: 📦 Build Modpack
needs: [info]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: 🔄 Replace strings
shell: bash
run: |
set +e
VERSION=${{ needs.info.outputs.project_version }}
sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json
sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt
- name: 📝 Cache pakku
uses: actions/cache@v4.2.3
id: cache
with:
path: build/.cache
key: pakku-cache-${{ hashFiles('pakku-lock.json') }}
restore-keys: pakku-cache-
- name: 📦 Export modpack
run: |
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
java -jar pakku.jar export
- name: 📁 Rename artifact curseforge
run: |
cd ./build/curseforge/
mv *.zip $(basename -s .zip *.zip)-curseforge.zip
- name: 🚀 Upload artifact CurseForge
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-curseforge
path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip
if-no-files-found: error
- name: 📁 Rename artifact modrinth
run: |
cd ./build/modrinth/
mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack
- name: 🚀 Upload artifact modrinth
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-modrinth
path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack
if-no-files-found: warn
build-server:
name: 📦 Build Server
needs: [info]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: 🔄 Replace strings
shell: bash
run: |
set +e
VERSION=${{ needs.info.outputs.project_version }}
sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json
sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt
- name: 📝 Cache pakku
uses: actions/cache@v4.2.3
id: cache
with:
path: build/.cache
key: pakku-cache-${{ hashFiles('pakku-lock.json') }}
restore-keys: pakku-cache-
- name: 📦 Export modpack
run: |
mv -vf ./.pakku/server-overrides/* ./
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
java -jar pakku.jar export
- name: 📁 Rename artifact server
run: |
cd ./build/serverpack/
mv *.zip $(basename -s .zip *.zip)-serverpack.zip
- name: 🚀 Upload artifact server
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-serverpack
path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip
if-no-files-found: error
build-multimc:
name: 📦 Build MultiMC
needs: [info]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: 🔄 Replace strings
shell: bash
run: |
set +e
VERSION=${{ needs.info.outputs.project_version }}
sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json
sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt
sed -i -e "s/DEV/${VERSION}/g" .pakku/multimc-overrides/instance.cfg
- name: 📝 Cache pakku
uses: actions/cache@v4.2.3
id: cache
with:
path: build/.cache
key: pakku-cache-${{ hashFiles('pakku-lock.json') }}
restore-keys: pakku-cache-
- name: 📦 Export
run: |
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
java -jar pakku.jar --debug fetch
java -jar pakku.jar --debug export
- name: 📁 Move files
run: |
ls
mkdir -p .pakku/multimc-overrides/flame
mv -vf ./build/.cache/curseforge/manifest.json .pakku/multimc-overrides/flame/manifest.json
mv -vf ./build/.cache/curseforge/overrides .pakku/multimc-overrides/.minecraft
mv -vf ./mods/* .pakku/multimc-overrides/.minecraft/mods/
cd .pakku/multimc-overrides/
zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/
- name: 🚀 Upload zip multimc
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-multimc
path: .pakku/multimc-overrides/${{ needs.info.outputs.project_full_name }}-multimc.zip
if-no-files-found: error
release-github:
name: 🚀 Release to GitHub
needs: [info, build-modpack, build-server, build-multimc]
runs-on: ubuntu-latest
if: ${{ needs.info.outputs.make_release == 'true' }}
outputs:
url: ${{ steps.release.outputs.url }}
steps:
- name: 📦 Checkout
uses: actions/checkout@v4.2.2
- name: 📦 Download artifact
uses: actions/download-artifact@v4.3.0
with:
merge-multiple: true
- name: 🔍 Check if artifact exist
id: check_artifact
shell: bash
run: |
if [ ! -f ${{ needs.info.outputs.project_full_name }}-curseforge.zip ]; then
echo '::error::No value found for artifact `curseforge.zip`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then
echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-multimc.zip ]; then
echo '::error::No value found for artifact `multimc.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
- name: 🚫 Сlose fixed in dev
uses: Xikaro/close-issues-based-on-label@master
env:
LABEL: "2. Status: In Dev"
COMMENT: In ${{ needs.info.outputs.project_version }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 📄 Format diff
id: format_diff
if: ${{ needs.info.outputs.diff != '' }}
uses: roamingowl/template-output-with-eta@v1.12.0
with:
template: |
```markdown
${{ needs.info.outputs.diff }}
```
- name: 🚀 Create release
id: release
uses: softprops/action-gh-release@v2.2.2
with:
name: ${{ needs.info.outputs.project_version }}
tag_name: ${{ needs.info.outputs.project_version }}
target_commitish: ${{ github.ref_name }}
body: |
${{ needs.info.outputs.changelog }}
${{ steps.format_diff.outputs.text }}
files: |
${{ needs.info.outputs.project_full_name }}-curseforge.zip
${{ needs.info.outputs.project_full_name }}-serverpack.zip
${{ needs.info.outputs.project_full_name }}-multimc.zip
prerelease: ${{ env.RELEASE_TYPE != 'release' }}
generate_release_notes: true
token: ${{ secrets.GITHUB_TOKEN }}
release-curseforge:
name: 🚀 Release to CurseForge
needs: [info, build-modpack, build-server, release-github]
runs-on: ubuntu-latest
if: ${{ needs.info.outputs.make_release == 'true' }}
outputs:
id: ${{ steps.release.outputs.id }}
steps:
- name: 🔒 Check if CURSEFORGE_TOKEN exist
shell: bash
run: |
if [ "${{ secrets.CURSEFORGE_TOKEN }}" == '' ]; then
echo '::error::No value found for secret key `CURSEFORGE_TOKEN`. See https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1
fi
- name: 📦 Download artifact
uses: actions/download-artifact@v4.3.0
with:
merge-multiple: true
- name: 🔍 Check if artifact exist
id: check_artifact
shell: bash
run: |
if [ ! -f ${{ needs.info.outputs.project_full_name }}-curseforge.zip ]; then
echo '::error::No value found for artifact `curseforge.zip`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
- name: 🚀 Upload Curseforge
id: release
uses: Xikaro/upload-curseforge-modpack-action@1.1.1
with:
api-token: ${{ secrets.CURSEFORGE_TOKEN }}
project-id: ${{ vars.CURSEFORGE_ID }}
display-name: ${{ needs.info.outputs.project_full_name }}
modpack-path: ${{ needs.info.outputs.project_full_name }}-curseforge.zip
server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack
modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip
changelog: |
${{ needs.info.outputs.changelog }}
${{ needs.info.outputs.diff }}
changelog-format: markdown
game-version: ${{ env.MINECRAFT_VERSION }}
release-type: ${{ env.RELEASE_TYPE }}
release-modrinth:
name: 🚀 Release to Modrinth
needs: [info, build-modpack, build-server, release-github]
runs-on: ubuntu-latest
if: false
outputs:
id: ${{ steps.release.outputs.id }}
steps:
- name: 🔒 Check if MODRINTH_API_TOKEN exist
shell: bash
run: |
if [ "${{ secrets.MODRINTH_TOKEN }}" == '' ]; then
echo '::error::No value found for secret key `MODRINTH_TOKEN`. See https://docs.github.com/en/ actionssecurity-guides/ encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1
fi
- name: 📦 Download artifact
uses: actions/download-artifact@v4.3.0
with:
merge-multiple: true
- name: 🔍 Check if artifact exist
id: check_artifact
shell: bash
run: |
if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then
echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
- name: 🚀 Upload Modrinth
id: release
uses: Xikaro/upload-curseforge-modpack-action@1.1.1
with:
api-token: ${{ secrets.MODRINTH_TOKEN }}
project-id: ${{ vars.MODRINTH_ID }}
modpack-path: ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack
modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip
changelog: ${{ needs.info.outputs.changelog }}
changelog-format: markdown
game-version: ${{ env.MINECRAFT_VERSION }}
display-name: ${{ needs.info.outputs.project_full_name }}
server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack
release-type: ${{ env.RELEASE_TYPE }}
discord-message:
name: 📱 Discord Message
needs: [info, release-curseforge, release-github]
runs-on: ubuntu-latest
steps:
- name: ✂️ Truncate Changelog
id: truncated
uses: cisox/read-more-action@v1.0.2
with:
text: '${{ needs.info.outputs.changelog }}'
max_chars: '1450'
- name: 📨 Send Discord message
uses: hugoalh/send-discord-webhook-ghaction@v7.0.5
with:
key: ${{ secrets.DISCORD_RELEASES }}
username: "TerraFirmaGreg"
avatar_url: "https://raw.githubusercontent.com/TerraFirmaGreg-Team/.github/main/branding/logo.png"
content_links_no_embed: .+
content: |
**Release**: `${{ needs.info.outputs.project_version }}`
**Release Type**: `${{ env.RELEASE_TYPE }}`
**Game Version**: `${{ env.MINECRAFT_VERSION }}`
[CurseForge](https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/files/${{ needs.release-curseforge.outputs.id }}) • [GitHub](${{ needs.release-github.outputs.url }}) • [Issues](https://github.com/${{ github.repository }}/issues)
```markdown
${{ steps.truncated.outputs.text }}
- ...```
** [Read more...](${{ needs.release-github.outputs.url }}) **