9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-22 16:39:22 +00:00
Files
Leaf/scripts/prepareRelease.sh
Dreeam 8cb5ab7e15 [ci skip] Cleanup prepareRelease.sh
* Cleanup

* Print checksums in action build log to keep security
2025-03-07 14:42:16 -05:00

93 lines
2.3 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
IS_EOL=false
IS_UNSUPPORTED=false
RELEASE_NOTES="release_notes.md"
# Rename Leaf jar
mv ./leaf-1.21.4-"${BUILD_NUMBER}"-mojmap.jar ./leaf-1.21.4-"${BUILD_NUMBER}".jar
# Branch name
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "✨Current branch: $CURRENT_BRANCH"
# Latest tag name
LATEST_TAG=$(git describe --tags --abbrev=0)
if [ -z "$LATEST_TAG" ]; then
LATEST_TAG=$(git rev-list --max-parents=0 HEAD)
echo "⚠No previous release found. Using initial commit."
else
echo "✨Latest tag: $LATEST_TAG"
fi
# Commit of the latest tag
LAST_RELEASE_COMMIT=$(git rev-list -n 1 "$LATEST_TAG")
echo "✨Last release commit: $LAST_RELEASE_COMMIT"
# Commits log
COMMIT_LOG=$(git log "$LAST_RELEASE_COMMIT"..HEAD --pretty=format:"- [\`%h\`](https://github.com/"${GITHUB_REPO}"/commit/%H) %s (%an)")
if [ -z "$COMMIT_LOG" ]; then
COMMIT_LOG="No new commits since $LATEST_TAG."
else
echo "✅Commits log generated"
fi
# Release notes header
echo "" >> $RELEASE_NOTES
# Commits log
{
echo "### 📜 Commits:"
echo ""
echo "$COMMIT_LOG"
echo ""
echo "### 🔒 Checksums"
} >> $RELEASE_NOTES
# Get checksums
file="./leaf-1.21.4-"${BUILD_NUMBER}".jar"
if [ -f "$file" ]; then
MD5=$(md5sum "$file" | awk '{ print $1 }')
SHA256=$(sha256sum "$file" | awk '{ print $1 }')
FILENAME=$(basename "$file")
{
echo "| | $FILENAME |"
echo "| --------- | --------- |"
echo "| MD5 | $MD5 |"
echo "| SHA256 | $SHA256 |"
} >> $RELEASE_NOTES
echo "🔒Checksums calculated:"
echo " MD5: $MD5"
echo " SHA256: $SHA256"
else
echo "⚠No artifacts found." >> $RELEASE_NOTES
fi
# EOL warning
if [ "$IS_EOL" = true ]; then
{
echo ""
echo "> [!WARNING]"
echo "> This version of Leaf is end-of-life and will only receive critical bugfixes from upstream."
echo "> Update to latest version and gain better performance!"
} >> $RELEASE_NOTES
fi
# Unsupported warning
if [ "$IS_UNSUPPORTED" = true ]; then
{
echo ""
echo "> [!CAUTION]"
echo "> This version of Leaf is unsupported and will not receive any bugfixes."
echo "> Use at your own risk!"
} >> $RELEASE_NOTES
fi
# Delete last tag
gh release delete ver-1.21.4 --cleanup-tag -y -R "${GITHUB_REPO}"
echo "🚀Ready for release"