Updated everywhere: constants, package.json bin, completions, nfpm packaging, build scripts, CI, banner text. Binary is now /usr/bin/labctl. Internal package names (@lab/*) unchanged. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
76 lines
1.9 KiB
Bash
Executable File
76 lines
1.9 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 "=== lab-bastion release ==="
|
|
echo ""
|
|
|
|
# 1. Build binaries & packages (both architectures)
|
|
bash scripts/build-rpm.sh --all
|
|
|
|
echo ""
|
|
|
|
# 2. Publish RPM
|
|
bash scripts/publish-rpm.sh
|
|
|
|
echo ""
|
|
|
|
# 3. Publish DEB
|
|
bash scripts/publish-deb.sh
|
|
|
|
echo ""
|
|
|
|
# 4. Build & push Docker image
|
|
bash scripts/build-bastion.sh
|
|
|
|
echo ""
|
|
|
|
# 5. Install locally (Fedora/RHEL only)
|
|
if [ -f /etc/fedora-release ] || [ -f /etc/redhat-release ]; then
|
|
echo "==> Installing locally..."
|
|
RPM_FILE=$(ls dist/labctl-*.rpm 2>/dev/null | head -1)
|
|
if [ -n "$RPM_FILE" ]; then
|
|
sudo rpm -U --force "$RPM_FILE"
|
|
echo ""
|
|
echo "==> Installed:"
|
|
labctl --version || echo "(labctl binary installed)"
|
|
else
|
|
echo "==> WARNING: No RPM found in dist/, skipping local install."
|
|
fi
|
|
else
|
|
echo "==> Not Fedora/RHEL — skipping local RPM install."
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# 6. Summary
|
|
GITEA_PUBLIC_URL="${GITEA_PUBLIC_URL:-https://mysources.co.uk}"
|
|
GITEA_OWNER="${GITEA_OWNER:-michal}"
|
|
REGISTRY="${GITEA_REGISTRY:-mysources.co.uk}"
|
|
VERSION=$(node -p "require('./package.json').version")
|
|
|
|
echo "=== Done! ==="
|
|
echo ""
|
|
echo "RPM install:"
|
|
echo " sudo dnf config-manager --add-repo ${GITEA_PUBLIC_URL}/api/packages/${GITEA_OWNER}/rpm.repo"
|
|
echo " sudo dnf install labctl"
|
|
echo ""
|
|
echo "DEB install (Debian/Ubuntu):"
|
|
echo " echo \"deb ${GITEA_PUBLIC_URL}/api/packages/${GITEA_OWNER}/debian trixie main\" | sudo tee /etc/apt/sources.list.d/labctl.list"
|
|
echo " curl -fsSL ${GITEA_PUBLIC_URL}/api/packages/${GITEA_OWNER}/debian/repository.key | sudo gpg --dearmor -o /etc/apt/keyrings/labctl.gpg"
|
|
echo " sudo apt update && sudo apt install labctl"
|
|
echo ""
|
|
echo "Docker image:"
|
|
echo " podman pull ${REGISTRY}/michal/lab-bastion:${VERSION}"
|
|
echo ""
|
|
echo "k3s deployment:"
|
|
echo " kubectl apply -k deploy/k3s/"
|