ci: bundle puppeteer-core in every official self-host release image - #4143
Conversation
Official releases now build with --build-arg INSTALL_VISUAL_REVIEW=true, so a self-hoster can turn on visual-capture with just BROWSER_WS_ENDPOINT + GITTENSORY_REVIEW_SCREENSHOTS=true at runtime -- no custom image build needed. Inert either way until those runtime flags are set. A local/custom build from the Dockerfile directly still defaults to false.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4143 +/- ##
=======================================
Coverage 93.71% 93.71%
=======================================
Files 385 385
Lines 36209 36209
Branches 13266 13266
=======================================
Hits 33934 33934
Misses 1618 1618
Partials 657 657 🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-08 07:52:13 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 5 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
release-selfhost.yml's release build never passed--build-arg INSTALL_VISUAL_REVIEW=true, so puppeteer-core has never been installed in any officially published self-host image — a self-hoster who wants the automated before/after screenshot capture has had to build a custom image from the Dockerfile themselves, undocumented, to get a dependency the feature otherwise fully supports at runtime.INSTALL_VISUAL_REVIEW=trueto the release build-args, so every future official image ships with puppeteer-core installed. This changes nothing about default RUNTIME behavior — the feature stays fully gated byBROWSER_WS_ENDPOINT+GITTENSORY_REVIEW_SCREENSHOTS=true, both still unset by default. A self-hoster who never sets those two still gets a byte-identical, inert deploy; one who does can now just flip the runtime flags instead of also needing a custom image build.Dockerfileanddocker-compose.ymlcomments accordingly — theARG INSTALL_VISUAL_REVIEW=falsedefault is unchanged (still correct for a baredocker build .with no build-arg, e.g. a local/custom build), only the official release build's own build-args changed.Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlint— cleannpm run typecheck— clean (nosrc/**changes; workflow/Dockerfile/compose only)yaml.safe_loadon the workflow file) to confirmbuild-argsparses to exactlyGITTENSORY_VERSION=...\nINSTALL_VISUAL_REVIEW=true\nwith no stray content — abuild-args: |block scalar treats every line as literal string content, including#-prefixed ones, so an inline explanatory comment inside it would have been silently embedded in the actual build-arg string rather than treated as a YAML comment; caught this while drafting and moved the comment above the key instead.docker-compose.ymlre-validated as parseable YAML after the comment-only edit.test:coverage/test:workers/ui:*(nosrc/,test/, orapps/files touched) andnpm audit(no dependency manifest changed) — none apply to a workflow/Dockerfile/compose-comment-only change.Safety