feat(build): bash release scripts
This commit is contained in:
54
scripts/publish-release.sh
Normal file
54
scripts/publish-release.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
# Publish Release
|
||||
# Creates distribution package and displays checksum
|
||||
|
||||
echo "Publishing Release"
|
||||
echo "=================="
|
||||
echo ""
|
||||
|
||||
# Remove old zip files
|
||||
echo "[1/2] Creating distribution package..."
|
||||
rm -f package/*.zip 2>/dev/null || true
|
||||
|
||||
TEMP_ZIP=$(mktemp)
|
||||
trap "rm -f $TEMP_ZIP" EXIT
|
||||
|
||||
FORCE_COLOR=1 pnpm zip:to-publish 2>&1 | tee "$TEMP_ZIP"
|
||||
|
||||
if grep -qi "error\|failed" "$TEMP_ZIP"; then
|
||||
echo ""
|
||||
echo "ERROR: Package creation failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Find and verify the zip file
|
||||
ZIP_FILE=$(find package/ -name "*.zip" -type f -print -quit 2>/dev/null)
|
||||
|
||||
if [ -z "$ZIP_FILE" ]; then
|
||||
echo "ERROR: No package found in package/ directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Calculate SHA256 checksum
|
||||
echo ""
|
||||
echo "[2/2] Calculating SHA256 checksum..."
|
||||
echo " Package: $ZIP_FILE"
|
||||
echo ""
|
||||
|
||||
if command -v shasum &>/dev/null; then
|
||||
shasum -a 256 "$ZIP_FILE"
|
||||
elif command -v sha256sum &>/dev/null; then
|
||||
sha256sum "$ZIP_FILE"
|
||||
else
|
||||
echo "ERROR: Neither shasum nor sha256sum found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Release published successfully!"
|
||||
echo ""
|
||||
echo "Package ready for distribution:"
|
||||
echo " $ZIP_FILE"
|
||||
Reference in New Issue
Block a user