Ship all-OS desktop release (incl. Windows MSI) to bao.builders + fix canonical domain - #36
Merged
Merged
Conversation
refresh-desktop-releases.ts prunes every file in the canonical release root that isn't in DESKTOP_RELEASE_ROOT_ALLOWED_FILES. sizes.json is a committed SSOT (the byte-size fallback the docs-site manifest builder reads when an artifact is a Git LFS pointer) but was missing from the allow-list, so every local refresh+commit silently deleted it. Add it to the allowed set so the refresh preserves it. Co-authored-by: Brandon Donnelly <d4551@users.noreply.github.com>
Rebuilt the linux-x64 desktop installers from source on a linux/x64 host with the pinned toolchain (Rust 1.97.1, Tauri 2.10.3, @tauri-apps/cli 2.11.4, bun 1.3.14) and refreshed them into the canonical release tree: BaoBuildBuddy_0.1.0_amd64.deb 83,411,088 B (sha 6a178e0d7739...) BaoBuildBuddy-0.1.0-1.x86_64.rpm 83,413,469 B (sha db35c2919c6a...) BaoBuildBuddy_0.1.0_amd64.AppImage 157,428,216 B (sha 62cf26e545fa...) All three pass verify:desktop-releases (deb/rpm/AppImage payload + signature checks). sha256.txt, sizes.json, and the assembled + per-target provenance are re-synced; macos/windows/linux-arm64 entries are unchanged (those targets require their native OS hosts and were not rebuilt here). Binaries are tracked via Git LFS (pointers committed; real bytes pushed to LFS). Co-authored-by: Brandon Donnelly <d4551@users.noreply.github.com>
…s MSI)
Replace the canonical packages/desktop/releases tree with the coherent
all-OS build from the desktop-release workflow (run 30318719231, native
runners per target):
macos BaoBuildBuddy_0.1.0_aarch64.dmg
linux-x64 BaoBuildBuddy_0.1.0_amd64.{deb,AppImage} + x86_64.rpm
linux-arm64 BaoBuildBuddy_0.1.0_arm64.deb + aarch64.rpm
windows BaoBuildBuddy_0.1.0_x64-setup.exe, _x64-portable.zip,
_x64_en-US.msi (new)
The Windows MSI was not previously tracked. Add *.msi to .gitattributes
for both .desktop-release-artifacts and packages/desktop/releases so it
ships through Git LFS like the other payloads.
Regenerate the SSOT metadata from the CI build:
sha256.txt, sizes.json (re-synced to real byte sizes — the CI artifact
carried a stale sizes.json), provenance.json (top-level + per-target,
now recording workflow=desktop-release runId=30318719231).
Verified with:
bun run verify:desktop-releases --include-linux-appimage --include-windows-msi
(all 9 artifacts: signatures, payloads, runtime manifests, checksums).
Fix the docs-site canonical domain. docs/index.html, deploy-docs-site-ftp.ts
and DOCS_SITE_DEPLOY.md referenced https://baobuildbuddy.com (NXDOMAIN)
while the live site is https://bao.builders. Point canonical + og:url at
bao.builders so SEO/social sharing resolve.
Ignore .desktop-release-input/, the scratch dir used to stage downloaded
CI release artifacts before refreshing the canonical tree.
Redeployed the docs-site bundle to bao.builders (16 files, 764 MiB);
live manifest now lists 9 files across 3 platforms with correct sizes.
Co-authored-by: Brandon Donnelly <d4551@users.noreply.github.com>
`verify:desktop-releases` extracts every Linux package payload to confirm the bundled runtime contract; RPM extraction shells out to `rpm2cpio | cpio`, and `rpm2cpio` is not preinstalled on ubuntu-24.04. Without this step the deploy workflow fails at verification and never publishes. `rpm2cpio` is the minimal package; `cpio` is its stream consumer. Mirrors the same fix on PR #35 so the all-OS release merge is self-contained and main's push-triggered docs-site deploy succeeds. Co-authored-by: Brandon Donnelly <d4551@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refreshed the canonical
packages/desktop/releasestree with the coherent all-OS build from thedesktop-releaseworkflow (run30318719231, native runners per target) — all four targets, 9 binaries including the new Windows MSI — and shipped it to the live download site (https://bao.builders/). Also fixed arefresh-desktop-releasesbug that silently deleted the committedsizes.jsonSSOT, and fixed the docs-site canonical domain (was pointing at an NXDOMAIN).What shipped (all-OS, one CI run)
BaoBuildBuddy_0.1.0_aarch64.dmg8d5eccad2575…BaoBuildBuddy_0.1.0_amd64.deb83ecc0e1c664…BaoBuildBuddy-0.1.0-1.x86_64.rpm2d5fb1f7c64a…BaoBuildBuddy_0.1.0_amd64.AppImagec86a80c0625a…BaoBuildBuddy_0.1.0_arm64.debfe873023d43e…BaoBuildBuddy-0.1.0-1.aarch64.rpm8a9824256136…BaoBuildBuddy_0.1.0_x64-setup.exeda45a1b4913b…BaoBuildBuddy_0.1.0_x64_en-US.msi(new)941941d85efd…BaoBuildBuddy_0.1.0_x64-portable.zip6519e52399da…All 9 pass
bun run verify:desktop-releases --include-linux-appimage --include-windows-msi(signatures, payloads, runtime manifests, checksums). Binaries are Git LFS (pointers committed; real bytes pushed to LFS).Windows MSI now LFS-tracked
*.msiwas not in.gitattributes, so the new MSI would have committed as a regular blob. Added*.msiLFS tracking for both.desktop-release-artifacts/windows/andpackages/desktop/releases/windows/so it ships through Git LFS like the other payloads.SSOT metadata re-synced
sha256.txt,sizes.json, andprovenance.json(top-level + per-target) regenerated from the CI build.sizes.jsonwas re-synced to real byte sizes — the CI artifact carried a stalesizes.json(it shipped the committed file, not sizes derived from the new binaries), so the docs manifest would have published wrong sizes in CI checkouts that have nogit lfs pull. Provenance now recordsworkflow=desktop-release runId=30318719231.Bug fix:
refresh-desktop-releasesdeletedsizes.jsonrefresh-desktop-releases.tsprunes every file in the canonical release root not inDESKTOP_RELEASE_ROOT_ALLOWED_FILES.sizes.jsonis a committed SSOT (the byte-size fallback the docs-site manifest builder reads when an artifact is a Git LFS pointer) but was missing from the allow-list, so every local refresh+commit silently deleted it. Addedsizes.jsonto the allowed set. Existing refresh tests still pass.Canonical domain fix (NXDOMAIN → live site)
docs/index.html(<link rel="canonical">+og:url),scripts/deploy-docs-site-ftp.ts, anddocs/DOCS_SITE_DEPLOY.mdreferencedhttps://baobuildbuddy.com— an NXDOMAIN — while the live site ishttps://bao.builders/. Repointed all three atbao.buildersso SEO and social sharing resolve. A repo-wide sweep confirms zerobaobuildbuddy.comreferences remain (thed4551/baobuildbuddyGitHub org/repo name is unrelated).Scratch dir ignored
Added
.desktop-release-input/to.gitignore— it's the scratch dir used to stage downloaded CI release artifacts before refreshing the canonical tree; it must never be committed.Website updated (live)
Docs site rebuilt from the canonical tree and published over FTPS to
pixie-ss1-ftp.porkbun.com/(bao.builders): 16 files, 764 MiB. Live verification:Notes
docs/DOCS_SITE_DEPLOY.mdthe password should be rotated at the host before being stored as a repository secret.sizes.jsonpreservation fix and the native linux-x64 rebuild) remain part of this PR; the final commit supersedes the linux-x64 binaries with the coherent all-OS CI set so the whole release tree comes from onedesktop-releaserun.