From fa9decff341b0366e6f3dba802a2c8178110fbf3 Mon Sep 17 00:00:00 2001 From: Wenxi Date: Wed, 21 Oct 2026 03:10:00 +0000 Subject: [PATCH] fix(devcontainer): use the main Ubuntu archive for ARM64 (#16363) ## Description Fix ARM64 devcontainer builds that fail to install Playwright browser dependencies because the ports archive lacks required packages. Ubuntu 26.04 moved ARM64 packages to the main archive ([Ubuntu announcement](https://discourse.ubuntu.com/t/ubuntu-on-arm-summer-26-update/84872)). The pinned base image still uses ports. Update its ARM64 repository URL before installing packages. Other architectures keep their existing sources. The main archive contains matching `xvfb` and `xserver-common` packages. This change uses normal Ubuntu package downloads and signature verification. ## How Has This Been Tested? - Verified ARM64 package index hashes against published InRelease metadata. - Downloaded matching `xvfb` and `xserver-common` packages and verified their hashes. - Pre-commit checks passed. - [Fresh ARM64 devcontainer CI build passed](https://github.com/onyx-dot-app/onyx/actions/runs/39534888216/job/119009199000) in 6 minutes. Playwright dependencies installed in 15.7 seconds, including matching `xvfb` and `xserver-common` packages. ## Additional Options - [ ] [Optional] Please cherry-pick this PR to the latest release version. --- .devcontainer/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 76a7e096cc..87d8f6c031 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -10,7 +10,11 @@ FROM ${BASE_IMAGE_REGISTRY}/library/node:24.16.0-trixie-slim@sha256:45fbb3ca3b6c FROM ${BASE_IMAGE_REGISTRY}/library/ubuntu:26.04@sha256:c098726dd9b9733f3e885f8de0ef375206a311b0a317eadc40d347b1115fb944 -RUN apt-get update && apt-get install -y --no-install-recommends \ +# Ubuntu 26.04 moved ARM64 packages from ports to the main archive. +RUN if [ "$(dpkg --print-architecture)" = arm64 ]; then \ + sed -i 's|ports.ubuntu.com/ubuntu-ports|archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources; \ + fi \ + && apt-get update && apt-get install -y --no-install-recommends \ build-essential \ ca-certificates \ cargo \