From ad9833e584029571979cac8f3ada37d2654527d4 Mon Sep 17 00:00:00 2001 From: Nick Heiner Date: Mon, 15 Jun 2026 18:30:13 -0700 Subject: [PATCH] devcontainer: arm64 build fixes (chromium on arm64, pin postgres:16) --- .devcontainer/Dockerfile | 14 +++++++++++--- .devcontainer/docker-compose.yml | 6 +++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index f8904eaddf..58a29b1c6b 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,6 +8,14 @@ FROM mcr.microsoft.com/devcontainers/ruby:dev-3.4-bookworm RUN export DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get -y install vim curl gpg postgresql postgresql-contrib -RUN cd /tmp -RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ - && apt-get -y install ./google-chrome-stable_current_amd64.deb +# Headless browser for Cuprite/Capybara system specs. Google Chrome only ships +# an amd64 .deb, so on arm64 (Apple Silicon hosts) install Debian's Chromium +# instead, which Ferrum/Cuprite auto-detects. On amd64 keep upstream Chrome. +RUN set -eux; \ + arch="$(dpkg --print-architecture)"; \ + if [ "$arch" = "amd64" ]; then \ + cd /tmp && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ + && apt-get -y install ./google-chrome-stable_current_amd64.deb; \ + else \ + apt-get -y install chromium; \ + fi diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index d12472fdeb..c9d8bdb5bd 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -20,7 +20,11 @@ services: network_mode: service:postgres postgres: - image: postgres:latest + # Pin a stable major version. `postgres:latest` is now PG18, whose Docker + # image refuses to start against the legacy /var/lib/postgresql/data mount + # layout this compose file uses (it wants the mount one level up). Pinning + # avoids that and keeps the DB version reproducible across hosts. + image: postgres:16 restart: always volumes: - postgres-data:/var/lib/postgresql/data