Get Lychee from releases rather than from Alpine Linux package

What does this MR do and why?

Because the versions of our tooling are getting quite old, and because the older version of Lychee we use let through broken links that would've been found if we were using later versions (manually fixed in: gitlab-org/gitlab!213079 (merged)), let's roll forward to the latest version of our tooling.

At the moment, the version of Lychee we were getting from Alpine Linux is behind, so let's get Lychee instead from the Lychee releases themselves.

This would also allow us to make use of newer Vale features and Markdownlint rules also.

Tests of image build:

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