Remove dead public headful payloads#275
Draft
IlyaasK wants to merge 1 commit into
Draft
Conversation
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
This is the public-repo equivalent of the private dead-payload cleanup PR, with the additional public-only tracked
server/apibinary removed.What changed:
images/chromium-headful/image-chromium/, including old demo HTML, Streamlit config, static-content files, tint2 config, and legacy startup scripts.COPY images/chromium-headful/image-chromium/ /from the public headful Dockerfile.server/apibinary artifact.server/apito.dockerignoreso local rebuilt API binaries do not get sent in Docker build context.Why
The removed
image-chromiumdirectory was an old payload copied directly into/during the headful image build. The current image no longer uses that legacy startup/demo path, and the broad root copy makes it easy for unrelated files underimage-chromiumto silently land in the final runtime image.The tracked
server/apibinary is a local build artifact. The Dockerfile compiles/copies the runtime API binary from the build stages; it does not need a checked-in executable underserver/api. Keeping it tracked increases repository size and can invalidate Docker build context/layers when the binary changes.Git History / Removal Rationale
entrypoint.sh,start_all.sh,xvfb_startup.sh,mutter_startup.sh,tint2_startup.sh5c71470, PR #13) from the old headful demo image. These scripts manually started Xvfb, tint2, mutter, x11vnc/noVNC, then launched a demo server.http_server.py,index.html,static_content/index.html,.streamlit/config.toml/only preserves stale files that are not part of the current browser/session path..config/tint2/*COPY images/chromium-headful/image-chromium/ /server/api0fba5a0(PR #148), alongside smooth mouse movement source changes. A later PR (9816e34, PR #164) addedserver/apito.gitignore, which strongly suggests it was recognized as a local build artifact but was already tracked..dockerignorecoverage so local rebuilds do not pollute Docker context.Validation
Ran locally:
docker build --check -f images/chromium-headful/Dockerfile .cd server && go test -run TestDoesNotExist ./e2ecd server && go test $(go list ./... | grep -v '/e2e$')rg -n "image-chromium|entrypoint.sh|http_server.py|start_all.sh|tint2_startup|xvfb_startup|mutter_startup|server/api" -S . || trueUnknowns / Final Gates
server/apibinary is removed from git, but local developers can still build a localserver/api;.gitignoreand now.dockerignorekeep it out of commits and Docker build context.Fast Docker Review
This PR follows the fast-build guidance by removing dead build context and a broad root copy from the headful image.
Against the checklist:
image-chromiumroot payload copy is removed, so files cannot silently land in/just because they sit under a legacy directory.server/apibinary is removed and added to.dockerignore, so local binary rebuilds do not invalidate image build context or layers.