ci(publish): add a -fonts release flavor with the spoofed OS font bundles kept - #123
Open
emandel2630 wants to merge 1 commit into
Open
ci(publish): add a -fonts release flavor with the spoofed OS font bundles kept#123emandel2630 wants to merge 1 commit into
emandel2630 wants to merge 1 commit into
Conversation
…dles kept The pool spoofs a Windows or macOS fingerprint per browser and Camoufox spoofs that OS's font list with it, but the published image deletes the matching bundles (germondai#97, germondai#101): every `screenshot` of a non-Linux fingerprint renders as tofu, and the only fix today is a local build with CAMOUFOX_KEEP_SPOOFED_OS_FONTS=1. Build every release twice from the same Dockerfile and publish the second as `:X.Y.Z-fonts` / `:latest-fonts`. The default tags are unchanged: the build matrix gains a `flavor` axis, artifacts and cache scopes are keyed by it, and the merge job runs once per flavor with docker/metadata-action's `suffix=-fonts,onlatest=true` so the fonts build never shadows a default tag. Cost is one extra build per platform on release pushes only; nightlies and the baseline image are untouched.
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
Every release is currently published without the spoofed Windows/macOS font bundles:
CAMOUFOX_KEEP_SPOOFED_OS_FONTS(#101, #108) defaults to0and none of the publish workflows set it. SinceFINGERPRINT_POOLhands each browser a Windows or macOS profile and Camoufox spoofs that OS's font list, ascreenshot(#106) from the published image renders as tofu for anything but a Linux fingerprint — the only fix today is a local build.This adds a second flavor to
publish.ymlso eachv*push also produces:X.Y.Z-fontsand:latest-fonts, built from the sameapps/api/Dockerfilewith the arg set.What changes
buildmatrix gains aflavor: [default, fonts]axis; the build arg, cache scope and digest artifact name are keyed by it.mergeruns once per flavor. The fonts run uses docker/metadata-action'ssuffix=-fonts,onlatest=true, so the default:X.Y.Z/:latesttags are produced exactly as before and the fonts build can never shadow them.Nightlies and the baseline image are untouched. Cost is one extra build per platform on release pushes only, and the
-fontsimage is ~891 MB larger, as documented for the arg.Verification
workflow_dispatchtrigger on a throwaway tag would confirm the tag set before the next release.