Repository navigation
Fix browser library ABI compatibility across runner chroots - #10402
Conversation
There was a problem hiding this comment.
🔵 Needs a closer look
Session-wide library resolution changes need human review of supported host compatibility and real-chroot validation.
3 open issues
What changed in this PR
Addresses browser ABI mismatches between AWF’s agent image and runner chroots by separating fallback libraries from native image dependencies.
Changes:
- Builds the fallback browser payload on pinned Ubuntu 22.04.
- Adds missing-library staging while retaining native packages for non-chroot execution.
- Adds real Chrome launch coverage and compatibility documentation.
| File | Description |
|---|---|
tests/integration/chroot-browser.test.ts |
Tests native and forced-fallback Chrome launches. |
tests/entrypoint-phase-functions.test.sh |
Checks payload staging and native-library preservation. |
scripts/ci/agent-dockerfile-browser-deps.test.ts |
Checks payload construction and dependency capture. |
docs/troubleshooting.md |
Documents recovery from browser libc mismatches. |
docs/agent-images.md |
Explains fallback payload compatibility. |
docs-site/src/content/docs/reference/agent-images.md |
Updates published browser-library guidance. |
containers/agent/entrypoint.sh |
Selectively stages fallback libraries. |
containers/agent/Dockerfile |
Builds an independent Ubuntu 22.04 payload. |
.github/workflows/test-chroot.yml |
Adds browser testing on Ubuntu 22.04 and 24.04. |
Review effort: Max
| # Resolve symlinks inside the chroot, not against the image filesystem. | ||
| if chroot /host /bin/test -f "$lib" 2>/dev/null; then | ||
| continue | ||
| fi |
| apt-get -o Acquire::Retries=3 update && \ | ||
| apt-get -o Acquire::Retries=3 install -y --no-install-recommends $BROWSER_PKGS && \ |
| [ -z "${BROWSER_LD_LIBRARY_PATH}" ] | ||
| [ ! -e "${staged_lib}" ] | ||
| [ "$(cat "${host_root}${fake_lib}")" = "newer-runner-library" ] |
|
@copilot address review feedback |
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Addressed in commit |
|
✅ Copilot review passed with no inline comments. @copilot Add the |
Documentation PreviewDocumentation has been built for this PR. To view locally:
Built from commit cb187fa |
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
|
@copilot merge main and resolve conflicts |
…-issue Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Merged |
|
@copilot fix this failing ci check https://github.com/github/gh-aw-firewall/actions/runs/39633049989/job/119336266750?pr=10402 |
Updated the browser integration test to match the runner’s loader-resolved native library path. Commit: |


AWF injected Ubuntu 26.04 browser libraries into an Ubuntu 24.04 runner chroot, causing Chrome launch to fail on unavailable
GLIBC_2.43symbols.Firewall, proxy, and capability restrictions remain unchanged.