Repository navigation
fix(docker): install libatomic before Playwright setup - #46124
mikebridge wants to merge 1 commit into
Conversation
✅ Deploy Preview for superset-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
gabotorresruiz
left a comment
There was a problem hiding this comment.
Thanks @mikebridge. Reproduced on the pinned python:3.11-slim-trixie base: Playwright 1.65.0 bundles Node 26, which exits on libatomic.so.1 on both amd64 and arm64 and runs once libatomic1 is installed, so this covers the arm64 build too. The websocket node copied from node:24-trixie-slim runs without it, so keeping it out of lean is right. LGTM, one note inline.
| # Playwright's bundled Node needs libatomic before installing browser dependencies. | ||
| # Keep these extra dependencies out of the minimal `lean` stage. | ||
| RUN /app/docker/apt-install.sh \ | ||
| libatomic1 \ |
There was a problem hiding this comment.
The INCLUDE_CHROMIUM step in python-common runs playwright install-deps on the same base without libatomic1, so INCLUDE_CHROMIUM=true docker compose build still fails the same way, as does the -lean example in docker-builds.mdx. Cover both here, or a follow-up?
SUMMARY
TL;DR: Install
libatomic1before Playwright setup in the full Superset image.Playwright's bundled Node requires
libatomic.so.1. Without it, uncached full-image builds fail duringplaywright install-deps, before Playwright can install its browser prerequisites. Install the OS library alongside the existing full-image dependencies; the lean image and dependency pins are unchanged.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Not applicable. Before: master's full-image build fails loading libatomic.so.1. After: the affected stage builds successfully locally on amd64.
TESTING INSTRUCTIONS
docker buildx build --platform linux/amd64 --target superset --no-cache-filter superset --progress plain --load -t superset-libatomic-check:amd64 .Passed with the affected stage uncached. Also verified Chromium launches and renders a page through Playwright as the image's default user. Changed-file pre-commit passed. Arm64 was not built locally; CI should validate it.
ADDITIONAL INFORMATION