All checks were successful
CI/CD / lint (push) Successful in 47s
CI/CD / typecheck (push) Successful in 47s
CI/CD / test (push) Successful in 59s
CI/CD / build (push) Successful in 3m59s
CI/CD / publish-rpm (push) Successful in 38s
CI/CD / publish-deb (push) Successful in 29s
CI/CD / smoke (push) Successful in 8m23s
Support DEB packaging alongside RPM for Debian trixie (13/stable), forky (14/testing), Ubuntu noble (24.04 LTS), and plucky (25.04). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64 lines
1.6 KiB
Bash
Executable File
64 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
cd "$PROJECT_ROOT"
|
|
|
|
# Load .env if present
|
|
if [ -f .env ]; then
|
|
set -a; source .env; set +a
|
|
fi
|
|
|
|
echo "=== mcpctl release ==="
|
|
echo ""
|
|
|
|
# Build
|
|
bash scripts/build-rpm.sh
|
|
|
|
echo ""
|
|
|
|
# Publish
|
|
bash scripts/publish-rpm.sh
|
|
bash scripts/publish-deb.sh
|
|
|
|
echo ""
|
|
|
|
# Install locally
|
|
echo "==> Installing locally..."
|
|
RPM_FILE=$(ls dist/mcpctl-*.rpm 2>/dev/null | head -1)
|
|
sudo rpm -U --force "$RPM_FILE"
|
|
|
|
echo ""
|
|
echo "==> Installed:"
|
|
mcpctl --version
|
|
echo ""
|
|
|
|
# Restart mcplocal so smoke tests run against the new binary
|
|
echo "==> Restarting mcplocal..."
|
|
systemctl --user restart mcplocal
|
|
sleep 2
|
|
|
|
# Run smoke tests (requires live mcplocal + mcpd)
|
|
echo "==> Running smoke tests..."
|
|
export PATH="$HOME/.npm-global/bin:$PATH"
|
|
if pnpm test:smoke; then
|
|
echo "==> Smoke tests passed!"
|
|
else
|
|
echo "==> WARNING: Smoke tests failed! Check mcplocal/mcpd are running."
|
|
echo " Continuing anyway — deployment is complete, but verify manually."
|
|
fi
|
|
echo ""
|
|
|
|
GITEA_URL="${GITEA_URL:-http://10.0.0.194:3012}"
|
|
GITEA_OWNER="${GITEA_OWNER:-michal}"
|
|
echo "=== Done! ==="
|
|
echo "RPM install:"
|
|
echo " sudo dnf config-manager --add-repo ${GITEA_URL}/api/packages/${GITEA_OWNER}/rpm.repo"
|
|
echo " sudo dnf install mcpctl"
|
|
echo ""
|
|
echo "DEB install (Debian/Ubuntu):"
|
|
echo " echo \"deb ${GITEA_URL}/api/packages/${GITEA_OWNER}/debian trixie main\" | sudo tee /etc/apt/sources.list.d/mcpctl.list"
|
|
echo " curl -fsSL ${GITEA_URL}/api/packages/${GITEA_OWNER}/debian/repository.key | sudo gpg --dearmor -o /etc/apt/keyrings/mcpctl.gpg"
|
|
echo " sudo apt update && sudo apt install mcpctl"
|