From d07fab99a6d88e464bb187a8e8c961f70ed8e183 Mon Sep 17 00:00:00 2001 From: Aaron Date: Sat, 3 Jan 2026 11:56:39 -0500 Subject: [PATCH] Add stable release checklist --- docs/workflow.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/docs/workflow.md b/docs/workflow.md index 4d0f1ff..c499a63 100644 --- a/docs/workflow.md +++ b/docs/workflow.md @@ -96,6 +96,48 @@ Use the helper: 9) Smoke test the flashed image on a second SD card: - boot → first‑boot → dashboard → services +## 5) Release checklist (stable) +1) Ensure `main` is clean and all changes are pushed. +2) Update `pikit-web/data/version.json` to the new version. +3) Build the web assets: + - `npm --prefix pikit-web run build` +4) Run tests: + - `npm --prefix pikit-web test` + - `./pikit-smoke-test.sh` +5) Commit version bump and push. +6) Tag the release: + - `git tag vX.Y.Z && git push origin vX.Y.Z` +7) Build release bundle + manifest: + - `./tools/release/make-release.sh X.Y.Z https://git.44r0n.cc/44r0n7/pi-kit/releases/download/vX.Y.Z` +8) Generate changelog from git: + - `git log --pretty=format:'- %s (%h)' vPREV..HEAD > out/releases/CHANGELOG-X.Y.Z.txt` +9) Create the Gitea release and upload assets: + - `pikit-X.Y.Z.tar.gz` + - `manifest.json` + - `CHANGELOG-X.Y.Z.txt` +10) Update `manifests/manifest-stable.json` with new version + sha256 and push. + +## 5) Release checklist (stable) +1) Ensure `main` is clean and all changes are pushed. +2) Update `pikit-web/data/version.json` to the new version. +3) Build the web assets: + - `npm --prefix pikit-web run build` +4) Run tests: + - `npm --prefix pikit-web test` + - `./pikit-smoke-test.sh` +5) Commit version bump and push. +6) Tag the release: + - `git tag vX.Y.Z && git push origin vX.Y.Z` +7) Build release bundle + manifest: + - `./tools/release/make-release.sh X.Y.Z https://git.44r0n.cc/44r0n7/pi-kit/releases/download/vX.Y.Z` +8) Generate changelog from git: + - `git log --pretty=format:'- %s (%h)' vPREV..HEAD > out/releases/CHANGELOG-X.Y.Z.txt` +9) Create the Gitea release and upload assets: + - `pikit-X.Y.Z.tar.gz` + - `manifest.json` + - `CHANGELOG-X.Y.Z.txt` +10) Update `manifests/manifest-stable.json` with new version + sha256 and push. + ## Notes - Profiles are additive to the base image defaults; do not include Pi‑Kit or DietPi dashboard entries in profiles. - Keep `RESCUE.md` in `/root` and `/home/dietpi` only (not in `/var/www`).