31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# Release checklist
|
|
|
|
## Local verification
|
|
|
|
1. Confirm Node 22 (test and package build only), GNOME dependencies, PipeWire,
|
|
portal access, and a QVAC GPU backend with `npm run gpu-doctor`,
|
|
`npm run cu-doctor`, and `npm run voice-doctor`. Production `jarvisd` is
|
|
packaged Bare, not Node.
|
|
2. Run `npm ci`, `npm test`, and `npm run package:test`.
|
|
3. Review `dist/SHA256SUMS` and test the user installer in a disposable user
|
|
session with `packaging/install.sh --enable`.
|
|
4. Send a typed `Ask` over the session bus and run the computer-use acceptance flow.
|
|
|
|
## Gitea rolling release
|
|
|
|
`.gitea/workflows/rolling-release.yml` runs on pushes to `main`. It tests the
|
|
tree, builds the `.deb`, extension zip, and checksums, then uses the repository
|
|
secret `RELEASE_TOKEN` to move the `rolling` tag and replace the `rolling`
|
|
prerelease through the Gitea REST API. The token is passed only as an Actions
|
|
secret and is never written to artifacts or logs.
|
|
|
|
Release artifacts are intentionally marked prerelease. Create a permanent
|
|
release by downloading the rolling artifacts, validating them on the target
|
|
Ubuntu release, and using a separately reviewed tag.
|
|
|
|
## Rollback
|
|
|
|
Use the previous commit's artifacts or rerun the workflow for that commit. The
|
|
rolling tag is mutable by design; permanent tags remain immutable release
|
|
records.
|