This is the release flow for bitloops/local-dashboard bundle artifacts consumed by bitloops dashboard.
mainis protected and updated via PR merge.- Release is triggered by pushing tag
vX.Y.Zfrommain. - Artifacts are GitHub Release assets:
bundle.tar.zstbundle.tar.zst.sha256
- Version discovery is static:
https://raw.githubusercontent.com/bitloops/local-dashboard/main/bundle_versions.json
Include:
package.jsonversion bump toX.Y.Z
Merge the PR after CI passes. Do not include bundle_versions.json yet.
From clean, up-to-date main:
git checkout main
git pull --ff-only origin main
./scripts/release.shThe script creates v<package.json version> and pushes only the tag.
Watch .github/workflows/release.yml.
Success criteria:
- GitHub Release
vX.Y.Zis created - Both assets are uploaded
- Checksum verification job passes
Confirm you can download, verify checksum, extract, and render index.html.
After release is confirmed working, open a PR to add the new entry to bundle_versions.json:
{
"version": "X.Y.Z",
"min_required_cli_version": "A.B.C",
"max_required_cli_version": "latest",
"download_url": "https://github.com/bitloops/local-dashboard/releases/download/vX.Y.Z/bundle.tar.zst",
"checksum_url": "https://github.com/bitloops/local-dashboard/releases/download/vX.Y.Z/bundle.tar.zst.sha256"
}Merge after CI passes. This ensures bundle_versions.json only references assets that exist.
~/.bitloops/dashboard/bundle/version.json is used by the CLI to know which dashboard version is installed and whether updates are available.
You do not edit this file manually. The release workflow generates it inside the bundle archive from the release tag/version.
If release vX.Y.Z is bad:
- Delete GitHub Release + tag
vX.Y.Z - Remove or revert the
X.Y.Zmanifest entry inbundle_versions.json - Fix forward and publish
vX.Y.(Z+1)