Preparing a release for Scoop
What is already automated
scripts/package-scoop.ps1 -Version X.Y.Z runs npm ci, builds the frontend, runs go test ./..., builds the versioned Windows agentboard.exe, creates a ZIP and calculates its SHA-256. From the same ZIP it creates release/agentboard.json with the URL, hash, MIT license, CLI shim, shortcut, checkver and autoupdate. The ZIP and installer include LICENSE. The database lives outside the installation directory, so the manifest does not need persist.
.github/workflows/release.yml on the vX.Y.Z tag runs the same packaging in the Windows runner, builds the Inno Setup installer and attaches the ZIP, installer and manifest to the GitHub Release. Manually running a workflow only creates an artifact for testing, without publishing a release.
Posting order for maintainer
- Check that the code, documentation, version number and
LICENSEfile are ready. - Run
./scripts/package-scoop.ps1 -Version X.Y.Zlocally. Checkrelease/agentboard-X.Y.Z-windows-amd64.zip,release/agentboard.jsonand the output ofagentboard versionafter extracting. Do not change the ZIP after the hash has been calculated. - Create and submit the
vX.Y.Ztag. GitHub Actions will publish a Release with a ZIP,agentboard-X.Y.Z-windows-amd64-setup.exeand manifest. Check all three files on the Release page and the SHA-256 ZIP from manifest. - On a clean Windows machine with Scoop, run
scoop install https://github.com/bogdanovandreycode/AgentBoard/releases/latest/download/agentboard.json, thenagentboard version,agentboard initandagentboard openin the test folder. - For a permanent update feed, place the generated
agentboard.jsonin your own Scoop bucket or offer it in a suitable public bucket. Checkscoop update agentboardafter the next release. The installation command from a URL is suitable for the first acquaintance, while the bucket is more convenient for updates.
Do not manually substitute a random hash value: Scoop checks the contents of the downloaded ZIP.
For manifest checks, refer to Scoop format, creating manifest and autoupdate.