Fix docs-site deploy: install rpm2cpio in workflow + point canonical at live bao.builders - #35
Closed
d4551 wants to merge 2 commits into
Closed
Fix docs-site deploy: install rpm2cpio in workflow + point canonical at live bao.builders#35d4551 wants to merge 2 commits into
d4551 wants to merge 2 commits into
Conversation
The deploy workflow runs `verify:desktop-releases` before staging the site, and that verifier extracts every Linux package payload to confirm the bundled runtime contract. RPM extraction shells out to `rpm2cpio | cpio`, but `rpm2cpio` is not preinstalled on ubuntu-24.04 (the runner image omits it; `desktop-release.yml` installs `cpio`+`rpm` for its own verify step, but `deploy-docs-site.yml` had no equivalent step). Without these tools the deploy fails at verification and never publishes. Install `cpio` + `rpm2cpio` (the minimal set the verifier requires) so the publish path can run end-to-end on a fresh runner. Co-authored-by: Brandon Donnelly <d4551@users.noreply.github.com>
The docs site is served from the FTP-backed host bound to the `bao.builders` account (FTP user `bao.builders`, host `pixie-ss1-ftp.porkbun.com`), and `baobuildbuddy.com` has no DNS (NXDOMAIN). The deployed `index.html` nonetheless declared `<link rel=canonical>` and `og:url` as `https://baobuildbuddy.com/`, so search engines and social crawlers were pointed at a dead domain — an SEO and social-share defect. Align the page with the actual serving domain (`https://bao.builders/`), which is already the canonical public URL used throughout README.md and `packages/desktop/releases/README.md`. Update the deploy doc and the deploy script's header comment to match so the repo no longer references the dead apex. Co-authored-by: Brandon Donnelly <d4551@users.noreply.github.com>
cursor Bot
pushed a commit
that referenced
this pull request
Jul 28, 2026
`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
Ran the docs-site build → verify → bundle → FTPS publish pipeline end-to-end for the latest committed release set (v0.1.0) and fixed the two errors it surfaced. The site is now live and correct at https://bao.builders/.
What was run
bun install(pinnedbun@1.3.14)git lfs pull --include="packages/desktop/releases/**"— release binaries are Git LFS objects; pulled the real 641 MiB so the bundler doesn't fail-closed on 133-byte pointersbun run build:docs-site— Tailwind v4.3.3 + daisyUI 5.7.4 CSS +docs/releases/manifest.json(v0.1.0, 3 platforms, 8 files)bun run verify:desktop-releases— all artifacts, signatures, and checksums passbun run docs-site:bundle— staged 7 page files + 8 release artifacts intodist/docs-sitebun run docs-site:deploy— published 15 files / 641.0 MiB topixie-ss1-ftp.porkbun.com/(explicit FTPS)Errors surfaced and fixed
1.
deploy-docs-site.ymlcan't verify RPMs on the runner (CI bug)verify:desktop-releasesextracts every Linux package payload to confirm the bundled runtime contract, and RPM extraction shells out torpm2cpio | cpio.desktop-release.ymlinstallscpio+rpmfor its own verify step, butdeploy-docs-site.yml(wired in #34) had no equivalent install step, andrpm2cpiois not preinstalled onubuntu-24.04. Result: the deploy workflow fails at verification and never publishes.Fix: add an "Install Linux release verification tools" step (
cpio+rpm2cpio, the minimal set the verifier requires) beforeverify:desktop-releases. Idempotent if already present; mirrors the existingdesktop-release.ymlpattern. The verifier's hard-fail on a missingrpm2cpiois intentional (avoidsrpm2cpio <missing> | cpioexiting 0 and false-passing), so the fix is to provision the tool, not weaken the check.2. Deployed page canonical/og:url pointed at a dead domain (SEO/social bug)
The site is served from the FTP account bound to
bao.builders(FTP userbao.builders), andbaobuildbuddy.comreturns NXDOMAIN (no DNS). Yetdocs/index.htmldeclared<link rel=canonical>andog:urlashttps://baobuildbuddy.com/, pointing search engines and social crawlers at a non-resolving domain.https://bao.builders/is already the canonical public URL used throughoutREADME.mdandpackages/desktop/releases/README.md.Fix: set canonical and
og:urltohttps://bao.builders/; update the deploy doc and the deploy script's header comment to match so the repo no longer references the dead apex. All otherbaobuildbuddyoccurrences inindex.htmlare correct GitHub repo links (github.com/d4551/baobuildbuddy) and were left untouched.Live verification (after re-deploy)
Notes
packages/desktop/releases/are the latest verified builds; this PR only rebuilds the docs site from them and ships it.BAO_DOCS_FTP_HOST/USER/PASSWORDfrom env and refuses to run otherwise). The password was handled in this session; perdocs/DOCS_SITE_DEPLOY.mdit should be rotated at the host before being stored as a repository secret.git lfs pullleft the release binaries smudged in the working tree (shown as modified bygit status); their sha256 matches the committed LFS pointer oids, so they are not part of this PR — only the four code/doc files below are committed.