Skip to content

Add helper image for s390x architecture

Description

We need to build the helper image so that the docker executor can be used on s390x, we need to have an alpine based image that runs on s390x. With the current structure of our helper images we would have to add a new Dockerfile just like for arm, and arm64 for this we are using the multiarch/alpine images. However, they don't provide an image for s390x. Luckily the official alpine images provides one which we can use.

For us to use the offical alpine image we would need to start using docker buildx so that it's able to build for the correct architecture and pull in the correct image. This is something we proposed in #25487 (closed). If we first migrate to buildx to build the helper images we can exclusively use the official helper image which will unblock the work for zOS so we can have a helper image for s390x and also unblock us in !1763 (comment 289972942) so we can upgrade to later images of alpine.

If we don't want to do the initial work to migrate to buildx first we would have to maintain a custom alpine linux compiled for s390x which just increases maintainability costs and would slow us down not make us go faster.

So to wrap up we would have to do it like the following:

  1. Start building helper images with buildx using alpine image for it which is being discussed in #25487 (closed)
  2. Just add the s390x architecture.
  3. Update the architecture map

Dependencies

We depend on some third-party software for the helper image to work and every single one of them seems to support s309x:

  1. git-lfs: S390x was only introduced in v2.10.0, we are still on v2.7.1, but are working on an update in #4034 (comment 337437566) but we can see if we can just apk add git-lfs and install automatically but wouldn't match our version.
  2. git