release.sh: build + attach .mcpb bundle alongside the installer

The McpPanel's "Download .mcpb" button opens the Forgejo release page,
so the asset has to actually be there. release.sh now runs
`pnpm run build:mcpb` and attaches `dist-mcpb/tiletopia.mcpb` as a
second --asset to `tea releases create`.

Closes B's mcpb-into-release follow-up. Next release tag will have a
working one-click Claude Desktop install path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
megaproxy 2026-05-26 18:37:57 +01:00
parent 50fbd0e531
commit 35194cd60c

View file

@ -9,6 +9,11 @@
# exists at src-tauri/target/release/bundle/nsis/*.exe.
# 3. `tea login list` shows the `rdx4` login is active.
#
# Attaches two assets:
# - <name>-setup.exe — NSIS installer
# - tiletopia.mcpb — Claude Desktop one-click MCP extension bundle
# (built by this script from src/ at release time)
#
# Usage:
# scripts/release.sh v0.1.0
#
@ -65,6 +70,18 @@ fi
echo "Installer: $installer"
echo "Size: $(du -h "$installer" | cut -f1)"
# Build + locate the .mcpb bundle. The McpPanel's "Download .mcpb" button
# opens this release page, so the asset has to be here for the click to work.
echo "Building .mcpb bundle…"
pnpm run build:mcpb >/dev/null
mcpb="dist-mcpb/tiletopia.mcpb"
if [[ ! -f "$mcpb" ]]; then
echo "build:mcpb finished but $mcpb is missing" >&2
exit 1
fi
echo "Bundle: $mcpb"
echo "Size: $(du -h "$mcpb" | cut -f1)"
# Tag and push
if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "tag $TAG already exists locally — bail (delete it first if intentional)" >&2
@ -73,13 +90,14 @@ fi
git tag -a "$TAG" -m "Release $TAG"
git push origin "$TAG"
# Create the release with the installer attached
# Create the release with the installer + .mcpb bundle attached
tea releases create \
--login rdx4 \
--tag "$TAG" \
--title "$TAG" \
--note "tiletopia $TAG. Download the .exe below, run it, accept SmartScreen (\"More info → Run anyway\") — installer isn't code-signed." \
--asset "$installer"
--note "tiletopia $TAG. Download the .exe below, run it, accept SmartScreen (\"More info → Run anyway\") — installer isn't code-signed. tiletopia.mcpb is the Claude Desktop one-click install bundle (Settings → Extensions → drag and drop)." \
--asset "$installer" \
--asset "$mcpb"
echo
echo "✓ released $TAG → https://git.rdx4.com/megaproxy/tiletopia/releases/tag/$TAG"