Skip to content

fix: pass CAMOUFOX_ARCH to Docker build instead of ARCH - #8279

Merged
skyfallsin merged 1 commit into
jo-inc:masterfrom
xuc323:master
Aug 1, 2026
Merged

fix: pass CAMOUFOX_ARCH to Docker build instead of ARCH#8279
skyfallsin merged 1 commit into
jo-inc:masterfrom
xuc323:master

Conversation

@xuc323

@xuc323 xuc323 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Problem

On ARM64 hosts (uname -m = aarch64), docker build fails at the Camoufox download step with "End-of-central-directory signature not found."

The Makefile correctly maps ARCH=aarch64 → CAMOUFOX_ARCH=arm64 for the fetch target (line 14), but the build target (line 33) passes the raw ARCH value to Docker via --build-arg ARCH=$(ARCH).

The Dockerfile then uses ${ARCH} directly in the download URL (line 48): camoufox-${CAMOUFOX_VERSION}-${CAMOUFOX_RELEASE}-lin.${ARCH}.zip

GitHub releases use arm64 in filenames (e.g. camoufox-135.0.1-beta.24-lin.arm64.zip), not aarch64. So the download 404s, curl saves the GitHub 404 HTML page as the zip file, and unzip fails.

Fix

Pass CAMOUFOX_ARCH (already correctly mapped) instead of ARCH:

 build: fetch
        docker build --no-cache \
-         --build-arg ARCH=$(ARCH) \
+         --build-arg ARCH=$(CAMOUFOX_ARCH) \
          --build-arg CAMOUFOX_VERSION=$(VERSION) \
          --build-arg CAMOUFOX_RELEASE=$(RELEASE) \
          -t $(IMAGE) .

This ensures the Dockerfile receives arm64 (not aarch64) on ARM hosts, matching the actual GitHub release filenames.

Verification

  • make build ARCH=aarch64 succeeds on ARM64 host
  • make build ARCH=x86_64 still works (no regression)

@skyfallsin
skyfallsin merged commit ff98e78 into jo-inc:master Aug 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants