- 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
Description
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | lojo_wmde | T349585 ARM Support for test and build (and BSD Unix / MacOS dev) | |||
| Resolved | • roti_WMDE | T345425 Move WDQS package off of deprecated OpenJDK Docker Image | |||
| Resolved | lojo_wmde | T344550 ARM64 Support in Dev workflow for Elasticsearch |
Event Timeline
https://phabricator.wikimedia.org/T340226 address most of these things, and what remains is addressed in https://phabricator.wikimedia.org/T345368. Close if/once https://phabricator.wikimedia.org/T345368 is merged.
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/