From a72e5b7089563744575e577a2a6ce9eb6ea4226f Mon Sep 17 00:00:00 2001 From: Krystie Date: Wed, 8 Apr 2026 15:54:02 -0700 Subject: [PATCH] Remove stale version pins from release packaging docs --- README.md | 10 +-- build/package-release.sh | 143 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+), 5 deletions(-) create mode 100755 build/package-release.sh diff --git a/README.md b/README.md index 0783c32..1a7e01e 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ Downloads the latest release, installs dependencies, creates a systemd service, ```bash # Download latest release -wget https://github.com/SamiAhmed7777/tri-pi/releases/latest/download/tri-pi-v5.5.0-arm64.tar.gz -tar xzf tri-pi-v5.5.0-arm64.tar.gz +wget https://github.com/SamiAhmed7777/tri-pi/releases/latest/download/tri-pi-$(curl -fsSL https://api.github.com/repos/SamiAhmed7777/triangles_v5/releases/latest | jq -r .tag_name | sed 's/^v//')-arm64.tar.gz +tar xzf tri-pi-*.tar.gz # Install sudo ./install.sh @@ -91,13 +91,13 @@ If bootstrap fails during install (server unreachable from your network), you ca ```bash # From a machine that can reach the bootstrap server: -curl -O http://194.233.88.206:8085/triangles-bootstrap.tar.gz -scp triangles-bootstrap.tar.gz pi@your-pi:/tmp/ +curl -O https://bootstrap.cryptographic-triangles.org/tri-bootstrap.tar.gz +scp tri-bootstrap.tar.gz pi@your-pi:/tmp/ # On the Pi: sudo systemctl stop triangles cd /root/.triangles -tar xzf /tmp/triangles-bootstrap.tar.gz +tar xzf /tmp/tri-bootstrap.tar.gz sudo systemctl start triangles ``` diff --git a/build/package-release.sh b/build/package-release.sh new file mode 100755 index 0000000..d01ee1a --- /dev/null +++ b/build/package-release.sh @@ -0,0 +1,143 @@ +#!/bin/bash +set -euo pipefail + +VERSION="${1:-}" + +if [ -z "$VERSION" ] && [ -f .github/docker/Dockerfile.arm64 ]; then + VERSION=$(sed -n 's/^ARG TRIANGLES_VERSION=v//p' .github/docker/Dockerfile.arm64 | head -n1) +fi + +if [ -z "$VERSION" ]; then + echo "ERROR: Could not determine TRI-PI package version." >&2 + echo "Pass a version explicitly, e.g. ./build/package-release.sh 5.7.6" >&2 + exit 1 +fi + +RELEASE_NAME="tri-pi-${VERSION}-arm64" +RELEASE_DIR="build/release/${RELEASE_NAME}" + +echo "=== Packaging TRI-PI Release v${VERSION} ===" + +# Clean and create release directory +rm -rf build/release +mkdir -p "$RELEASE_DIR"/{bin,backend,frontend,services,systemd,docs} + +# Copy binaries +echo "📦 Copying binaries..." +cp build/output/trianglesd-arm64 "$RELEASE_DIR/bin/trianglesd" +cp build/output/trianglesd-arm64-static "$RELEASE_DIR/bin/trianglesd-static" +chmod +x "$RELEASE_DIR/bin/"* + +# Copy installer +echo "📦 Copying installer..." +cp setup/install.sh "$RELEASE_DIR/" +chmod +x "$RELEASE_DIR/install.sh" + +# Copy application files +echo "📦 Copying application files..." +cp -r backend/* "$RELEASE_DIR/backend/" 2>/dev/null || true +cp -r frontend/* "$RELEASE_DIR/frontend/" 2>/dev/null || true +cp -r services/* "$RELEASE_DIR/services/" 2>/dev/null || true +cp -r config "$RELEASE_DIR/" 2>/dev/null || true +cp -r tor "$RELEASE_DIR/" 2>/dev/null || true + +# Copy documentation +echo "📦 Copying documentation..." +cp README.md "$RELEASE_DIR/docs/" +cp CLAUDE.md "$RELEASE_DIR/docs/" 2>/dev/null || true +[ -f LICENSE ] && cp LICENSE "$RELEASE_DIR/docs/" || echo "MIT License" > "$RELEASE_DIR/docs/LICENSE" + +# Create installation instructions +cat > "$RELEASE_DIR/INSTALL.md" << 'INSTALL' +# TRI-PI Installation Guide + +## Quick Install (Recommended) + +```bash +sudo ./install.sh +``` + +This will: +- Install trianglesd to /opt/tri-pi/ +- Install Flask backend API +- Install web dashboard frontend +- Create systemd services +- Set up Tor integration +- Configure everything automatically +- Start all services + +## What Gets Installed + +- **Triangles Daemon**: /opt/tri-pi/bin/trianglesd +- **Backend API**: /opt/tri-pi/backend/ (Flask on port 8081) +- **Web Dashboard**: /opt/tri-pi/frontend/ (served via Caddy) +- **Config**: ~/.triangles/triangles.conf +- **Services**: + - triangles.service (daemon) + - tri-pi-backend.service (API) + - tri-pi-frontend.service (dashboard) + +## System Requirements + +- Raspberry Pi 4 or 5 (4GB+ RAM recommended) +- Raspberry Pi OS (64-bit) Bookworm or later +- 32GB+ storage (SD card or SSD) +- Internet connection + +## Post-Installation + +Access the web dashboard: +```bash +http://:8080 +``` + +Check daemon status: +```bash +systemctl status triangles +``` + +View wallet info: +```bash +/opt/tri-pi/bin/trianglesd getinfo +``` + +## Manual Installation (Advanced) + +If you prefer manual setup, see docs/MANUAL_INSTALL.md + +## Support + +- GitHub: https://github.com/SamiAhmed7777/triangles_v5 +- Git: https://git.sami/sami7777/tri-pi +- Explorer: https://blocks.cryptographic-triangles.org +INSTALL + +# Create checksums +echo "🔐 Generating checksums..." +cd "$RELEASE_DIR/bin" +sha256sum trianglesd > trianglesd.sha256 +sha256sum trianglesd-static > trianglesd-static.sha256 +cd - > /dev/null + +# Create release tarball +echo "📦 Creating release tarball..." +cd build/release +tar czf "${RELEASE_NAME}.tar.gz" "$RELEASE_NAME" +cd - > /dev/null + +# Generate final checksums +cd build/release +sha256sum "${RELEASE_NAME}.tar.gz" > "${RELEASE_NAME}.tar.gz.sha256" +cd - > /dev/null + +echo "" +echo "✅ Release package created!" +echo "" +echo "📦 Package: build/release/${RELEASE_NAME}.tar.gz" +echo "🔐 SHA256: $(cat build/release/${RELEASE_NAME}.tar.gz.sha256 | cut -d' ' -f1)" +echo "📊 Size: $(du -h build/release/${RELEASE_NAME}.tar.gz | cut -f1)" +echo "" +echo "Package contents:" +du -sh "build/release/${RELEASE_NAME}"/* +echo "" +echo "Ready for GitHub release upload!"