Page MenuHomePhabricator

ARM Support for test and build (and BSD Unix / MacOS dev)
Closed, ResolvedPublic

Description

  • make test selenium browser image configurable (TEST_BROWSER_IMAGE=seleniarm/standalone-chromium:116.0-chromedriver-116.0-grid-4.10.0-20230828)
  • ELASTIC_SEARCH_VERSION is reused by experimental-highlighter-elasticsearch-plugin making it not possible to specify the needed 7.10.2-arm64 for the base image without breaking that plugin. Make a new env var ELASTICSEARCH_PLUGIN_HIGHLIGHTER_VERSION and/or use a new env var ELASTIC_SEARCH_IMAGE_NAME=docker.elastic.co/elasticsearch/elasticsearch:7.10.2-arm64
  • add ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true to test/Dockerfile
  • ---group-add in build.sh Docker build of builder, getent is not compatible with BSD/MacOS: --group-add "$(getent group docker | cut -d: -f3)"
  • update to wdqs java base image from openjdk:8-jdk-alpine to either Amazon Corretto or Eclipse Che
  • document local.env settings for BROWSER_IMAGE_NAME and DOCKER_DEFAULT_PLATFORM=linux/amd64 option for switching to AMD builds

Event Timeline

lojo_wmde renamed this task from ARM Support (and BSD Unix / MacOS dev) to ARM Support for test, build, and distribution (and BSD Unix / MacOS dev).Oct 24 2023, 8:52 AM
lojo_wmde changed the task status from Open to In Progress.Dec 5 2023, 11:16 AM
lojo_wmde moved this task from Inbox to Sprint-∞ on the Wikibase Suite Team board.
lojo_wmde moved this task from In Review to Doing on the Wikibase Suite Team (Sprint-∞) board.
roti_WMDE renamed this task from ARM Support for test, build, and distribution (and BSD Unix / MacOS dev) to ARM Support for test and build (and BSD Unix / MacOS dev).Dec 5 2023, 12:46 PM
roti_WMDE closed this task as Resolved.
roti_WMDE subscribed.

see above :)

There is very little here holding us back from making ARM releases at this point. We should probably not start making then until we have our version scheme implemented though so we know how to name the resulting ARM images different to the AMD64 ones, though multi-architecture may make this a non-issue.

Also FYI, recently in building an ARM version of things on a Hetzner I found I had to run this additional Docker setup command to get the builds to work:

docker run --privileged --rm tonistiigi/binfmt --install all (from https://github.com/docker/buildx/issues/1986#issuecomment-1664983533.

Also ref: https://docs.docker.com/build/building/multi-platform/