From c4f9381c6bfb4f14d1eb2753f79e795b9fa1172d Mon Sep 17 00:00:00 2001 From: torlando-tech Date: Sat, 8 Nov 2025 17:45:27 -0500 Subject: [PATCH] docs: Remove automated deployment section from README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove GitHub workflow documentation as it was specific to personal infrastructure setup and not relevant for general users of the BLE interface. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- README.md | 96 ------------------------------------------------------- 1 file changed, 96 deletions(-) diff --git a/README.md b/README.md index d99d2ba..554e0ac 100644 --- a/README.md +++ b/README.md @@ -392,102 +392,6 @@ Python packages with C extensions (like `dbus_fast`) must be compiled from sourc The automated installer makes this transparent - it "just works" faster on supported platforms. -## Automated Deployment - -The repository includes a GitHub Actions workflow for automated deployment to Raspberry Pi devices after code changes. - -### Setup Requirements - -1. **Self-hosted GitHub runner** on the same network as your Raspberry Pis -2. **Repository cloned** on each Raspberry Pi -3. **SSH access** configured between runner and Pis -4. **GitHub secrets** configured for deployment - -### Configuring GitHub Secrets - -Navigate to your repository Settings → Secrets and variables → Actions, and add: - -| Secret | Description | Example | -|--------|-------------|---------| -| `PI_HOSTS` | Comma-separated list of Pi hostnames or IPs | `pi1.local,pi2.local,192.168.1.100` | -| `PI_REPO_PATH` | Absolute path to repository on Pis | `/home/pi/ble-reticulum` | -| `PI_USER` | SSH username for connecting to Pis | `pi` | -| `PI_SSH_KEY` | SSH private key for authentication | `-----BEGIN OPENSSH PRIVATE KEY-----...` | - -### SSH Configuration - -**For containerized runners (k3s, Docker, etc.):** - -```bash -# 1. Generate SSH key pair (on any machine) -ssh-keygen -t ed25519 -C "github-runner-deployment" -f ~/.ssh/github_runner_deploy -# Press Enter for no passphrase (required for automation) - -# 2. Copy public key to each Raspberry Pi -ssh-copy-id -i ~/.ssh/github_runner_deploy.pub pi@pi1.local -ssh-copy-id -i ~/.ssh/github_runner_deploy.pub pi@pi2.local - -# 3. Add private key to GitHub Secrets as PI_SSH_KEY -cat ~/.ssh/github_runner_deploy -# Copy the entire output and add to GitHub Settings → Secrets - -# 4. Test connection -ssh -i ~/.ssh/github_runner_deploy pi@pi1.local 'echo "Connection successful"' -``` - -The workflow automatically writes the key to the container at runtime and cleans it up after deployment. - -### How It Works - -When you push code changes to any branch: - -1. **Tests run first**: Unit and integration tests execute on GitHub's hosted runners -2. **Deployment triggers**: After tests pass, the deploy job runs on your self-hosted runner -3. **For each Pi**: - - Git checkout and pull the pushed branch - - Copy `src/RNS/Interfaces/*.py` to `~/.reticulum/interfaces/` - - Restart `rnsd` service (via systemd or direct process management) -4. **Status reported**: Success/failure for each Pi with summary in GitHub Actions - -### Monitoring Deployments - -View deployment status in: -- **Actions tab**: Check workflow runs and logs -- **Job summary**: See which Pis succeeded/failed -- **Commit status**: Deployment status badge on commits - -### Troubleshooting Deployment - -**Deployment didn't run:** -- Check that tests passed (deployment depends on test jobs) -- Verify changes were in `src/**` directory or workflow file - -**SSH connection failed:** -```bash -# On self-hosted runner, test connection manually -ssh pi@pi1.local 'echo "Test successful"' - -# Check DNS resolution -ping pi1.local - -# Verify secrets match actual hostnames -# Check GitHub Settings → Secrets -``` - -**Restart failed:** -```bash -# On each Pi, verify rnsd service exists -systemctl status rnsd - -# Or check if rnsd is in PATH -which rnsd - -# Ensure user has sudo permissions if using systemd -sudo -l -``` - -For complete workflow documentation, see [.github/workflows/README.md](.github/workflows/README.md). - ## Contributing Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for: