Files
pi-kit/tools/release/README.md
2025-12-13 17:04:32 -05:00

43 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Release packaging quickstart
## Prereqs
- Node build already run (pikit-web built) if you want production assets. Dev assets also work but will be larger.
- `tar`, `sha256sum`, `rsync` available (default on DietPi/Debian).
## Build a release bundle
```bash
./tools/release/make-release.sh <version> <base_download_url>
# example
./tools/release/make-release.sh 0.1.0 https://git.44r0n.cc/44r0n7/pi-kit/releases/download/v0.1.0
```
Outputs (in `out/releases/`):
- `pikit-<version>.tar.gz`
- `manifest.json` with the SHA256 of the bundle and the download URL.
## Publish
1) Create a release in Gitea for tag `v<version>`.
2) Upload both `pikit-<version>.tar.gz` and `manifest.json` as release assets.
3) Ensure the base download URL in the manifest matches where the bundle is hosted.
## Device configuration (optional override)
The API uses `PIKIT_MANIFEST_URL` to fetch `manifest.json`. Default:
```
https://git.44r0n.cc/44r0n7/pi-kit/releases/latest/download/manifest.json
```
Set an override in the environment or a systemd drop-in for `pikit-api.service`:
```
[Service]
Environment=PIKIT_MANIFEST_URL=https://git.44r0n.cc/44r0n7/pi-kit/releases/download/v0.1.0/manifest.json
```
## Whats inside the bundle
- `pikit-web/` (built static assets)
- `pikit-api.py` + `pikit_api/` package
- optional helper scripts (e.g., `set_ready.sh`, `start-codex.sh`, `pikit-services.json` if present)
## Notes
- The updater verifies the bundle SHA256 from `manifest.json` before installing.
- Backups of current web/api are stored in `/var/backups/pikit/<timestamp>/` before deployment.