Use alpine:3.22 instead of alpine:edge

The edge version can be broken, as it appears to be currently.

We're seeing an OpenSSL version mismatch error when using alpine:edge.

With alpine:3.22, the error goes away.

Example error: https://ops.gitlab.net/gitlab-org/merge-train/-/jobs/20389319

$ bash /app/bin/merge-train security
>>> [2025-09-22 12:28:00] SOURCE_PROJECT: gitlab-org/gitlab
>>> [2025-09-22 12:28:00] SOURCE_BRANCH: master
>>> [2025-09-22 12:28:00] TARGET_PROJECT: gitlab-org/security/gitlab
>>> [2025-09-22 12:28:00] TARGET_BRANCH: master
>>> [2025-09-22 12:28:00] Configuring SSH for GitLab CI
OpenSSL version mismatch. Built against 3050003f, you have 30300020
OpenSSL version mismatch. Built against 3050003f, you have 30300020

Related to gitlab-com/gl-infra/production#20585 (closed) and https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/20491

Tests

With the current image:

✗ docker run -it registry.ops.gitlab.net/gitlab-org/merge-train:latest /bin/bash
debf53e10e4a:/app# SSH_PRIVATE_KEY='fgdfgdf' SSH_PUBLIC_KEY='asdasd' CI='true' bin/merge-train 
>>> [2025-09-22 12:43:56] SOURCE_PROJECT: gitlab-org/gitlab
>>> [2025-09-22 12:43:56] SOURCE_BRANCH: master
>>> [2025-09-22 12:43:56] TARGET_PROJECT: gitlab-org/gitlab-foss
>>> [2025-09-22 12:43:56] TARGET_BRANCH: master

>>> [2025-09-22 12:43:56] Configuring SSH for GitLab CI
OpenSSL version mismatch. Built against 3050003f, you have 30300020
OpenSSL version mismatch. Built against 3050003f, you have 30300020

With the new image:

✗ docker build . -t merge-train:mine       
[+] Building 1.8s (13/13) FINISHED                                             docker:default
 => [internal] load build definition from Dockerfile                                     0.0s
 => => transferring dockerfile: 444B                                                     0.0s
 => [internal] load metadata for docker.io/library/alpine:3                              1.4s
 => [internal] load .dockerignore                                                        0.0s
 => => transferring context: 93B                                                         0.0s
 => [1/8] FROM docker.io/library/alpine:3@sha256:4bcff63911fcb4448bd4fdacec207030997caf  0.0s
 => [internal] load build context                                                        0.0s
 => => transferring context: 18.03kB                                                     0.0s
 => CACHED [2/8] WORKDIR /app                                                            0.0s
 => CACHED [3/8] RUN mkdir -p /root/.ssh                                                 0.0s
 => CACHED [4/8] RUN chmod 700 /root/.ssh                                                0.0s
 => CACHED [5/8] COPY config/known_hosts /root/.ssh/known_hosts                          0.0s
 => CACHED [6/8] RUN apk add --update git openssh bash git-lfs                           0.0s
 => CACHED [7/8] RUN git config --global user.name 'GitLab Bot' &&     git config --glo  0.0s
 => [8/8] ADD . /app/                                                                    0.1s
 => exporting to image                                                                   0.1s
 => => exporting layers                                                                  0.1s
 => => writing image sha256:3d1ac3b698e78109cafa30a0289da56cc838e6c0ec6a525962d36100c42  0.0s
 => => naming to docker.io/library/merge-train:mine                                      0.0s

✗ docker run -it merge-train:mine /bin/bash
432e927e73f6:/app# SSH_PRIVATE_KEY='fgdfgdf' SSH_PUBLIC_KEY='asdasd' CI='true' bin/merge-train
>>> [2025-09-22 12:45:59] SOURCE_PROJECT: gitlab-org/gitlab
>>> [2025-09-22 12:45:59] SOURCE_BRANCH: master
>>> [2025-09-22 12:45:59] TARGET_PROJECT: gitlab-org/gitlab-foss
>>> [2025-09-22 12:45:59] TARGET_BRANCH: master

>>> [2025-09-22 12:45:59] Configuring SSH for GitLab CI
Agent pid 18
Error loading key "/root/.ssh/merge_train": error in libcrypto
Edited by Reuben Pereira

Merge request reports

Loading