Fix Docker publish failure on arm64 and remove QEMU from CI/CD#1085
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #1084
Chrome and Edge are not available for Linux arm64 through Playwright. This fix detects arm64 architecture and installs only supported browsers (Chromium, Firefox, WebKit) on that platform. Root cause: The `playwright install chrome` command fails with "ERROR: not supported on Linux Arm64" when run on arm64 systems. This caused the Docker build to fail on arm64 while succeeding on amd64. Changes: - Add architecture detection before browser installation - Skip Chrome and Edge installation on arm64 (use Chromium instead) - Improve error handling to prevent set -e from exiting on non-fatal failures - Add case study documentation with timeline and analysis Fixes #1084 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Apply Prettier formatting to analysis.md to pass CI lint checks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Mark action items as completed and add implementation notes describing the fix approach. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This reverts commit 9758a91.
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
I see QEMU steps, can we remove QEMU steps in all our CI/CD entirely? We have can have separate images on GitHub Actions level if needed, and we have docker access in GitHub Actions, so no need to use QEMU at all, as it may slow and can also be a reason of freezes. |
|
🤖 AI Work Session Started Starting automated work session at 2026-01-09T13:58:29.566Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait working session to finish, and provide your feedback. |
The docker-pr-check job only builds for linux/amd64 using standard docker build (not buildx), so QEMU emulation and Docker Buildx are not needed. This addresses the feedback to remove QEMU from CI/CD entirely. The docker-publish jobs already use native ARM64 runners (ubuntu-24.04-arm) without QEMU, as implemented in PR #983. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
Summary
Fixed the Docker publish workflow failure on arm64 architecture and removed unnecessary QEMU from CI/CD entirely.
Changes
1. Fix arm64 browser installation (original issue)
set -efrom exiting on non-fatal browser installation failures2. Remove QEMU from CI/CD (new feedback)
docker-pr-checkjobdocker-publishjobs already use native ARM64 runners (ubuntu-24.04-arm) - no QEMU emulationTechnical Details
Test Plan
Files Changed
.github/workflows/release.yml- Removed QEMU/Buildx from docker-pr-checkscripts/ubuntu-24-server-install.sh- Added architecture detection for browser installationdocs/case-studies/issue-1084/- Case study documentation with timeline and analysisRelated Links
Fixes #1084
🤖 Generated with Claude Code