Wrong image is used on shared runner?

We’re trying to transition our group away from our own runners to shared ones, but every time we run a pipeline for maven it just fails. Relevant info from the job log:

Preparing the “docker+machine” executor
Using Docker executor with image ruby:2.5 …
Pulling docker image ruby:2.5 …
Using docker image sha256:27d049ce98db4e55ddfaec6cd98c7c9cfd195bc7e994493776959db33522383b for ruby:2.5 with digest ruby@sha256:ecc3e4f5da13d881a415c9692bb52d2b85b090f38f4ad99ae94f932b3598444b …
Executing “step_script” stage of the job script
Using docker image sha256:27d049ce98db4e55ddfaec6cd98c7c9cfd195bc7e994493776959db33522383b for ruby:2.5 with digest ruby@sha256:ecc3e4f5da13d881a415c9692bb52d2b85b090f38f4ad99ae94f932b3598444b …
$ mvn -ntp test
/bin/bash: line 128: mvn: command not found
Uploading artifacts for failed job
Uploading artifacts…
WARNING: target/surefire-reports/TEST-*.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

And I have no idea why…

Relevant parts from the .gitlab-ci.yml:

junit-tests:
  stage: test
  image: maven:latest
  script:
    - mvn -ntp test
  artifacts:
    when: always
    reports:
      junit:
        - target/surefire-reports/TEST-*.xml

This is on gitlab.com.

What am I missing here? Why is it using a Ruby image when I specified Maven?
This worked fine on our own runners.

This looks like a bug to me. ruby:2.5 is the default image on the SASS runners, which is why you’re getting that particular container.

What is the default image on your own runners?

We’re using the shell executer on our own runners.