Add additional dependencies to Markdown linting container image

What does this MR do and why?

While working on gitlab-org/gitlab!213280 (merged), a few failing jobs showed that we need additional dependencies for the Markdown linting container image.

With the tooling added (gitlab-org/gitlab!213280 (07799c1e), gitlab-org/gitlab!213280 (019fff31)), job showing clean run: https://gitlab.com/gitlab-org/gitlab/-/jobs/12136216763.

I believe it's because Alpine 3.22 ships with Ruby 3.4.4 (https://pkgs.alpinelinux.org/package/v3.22/main/x86_64/ruby) whereas we were using Alpine 3.21 ships with Ruby 3.3.8 (https://pkgs.alpinelinux.org/package/v3.21/main/x86_64/ruby).

Relates to: #532 (closed).

How to set up and validate locally

  1. Configure a local GitLab Docs environment.
  2. Check out this branch.
  3. To build the `linux/amd64 version of the container image, run:
    docker buildx build --file dockerfiles/gitlab-docs-lint-markdown.Dockerfile --platform linux/amd64 --build-arg VALE_VERSION=3.13.0 --build-arg ALPINE_VERSION=3.22 --build-arg LYCHEE_VERSION=0.20.1 --build-arg MARDOWNLINT_CLI2_VERSION=0.19.0 --progress plain --no-cache .
  4. To test the linux/amd64 built image, run:
    docker run -it --rm --platform linux/amd64 <image SHA> bash
  5. To build the linux/arm64 version of the container image, run:
    docker buildx build --file dockerfiles/gitlab-docs-lint-markdown.Dockerfile --platform linux/arm64 --build-arg VALE_VERSION=3.13.0 --build-arg ALPINE_VERSION=3.22 --build-arg LYCHEE_VERSION=0.20.1 --build-arg MARDOWNLINT_CLI2_VERSION=0.19.0 --progress plain --no-cache .
  6. To test the linux/arm64 version of the container image, run:
    docker run -it --rm --platform linux/arm64 <image SHA> bash

Merge request acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Evan Read

Merge request reports

Loading