docs: Remove automated deployment section from README
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 <noreply@anthropic.com>
This commit is contained in:
parent
fe37363ab5
commit
c4f9381c6b
1 changed files with 0 additions and 96 deletions
96
README.md
96
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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue