Documentation and UI link tests
For testing:
- Documentation links to other documentation, we use Lychee and sometimes
nanoc
. - Links to documentation from the GitLab UI, we use
haml-lint
andeslint
.
Run documentation link tests locally
To run documentation link tests locally, you can either:
- Run a link check for a single project that contains documentation.
- Run a link check across entire local copy of the GitLab documentation site.
Check a single project
To check the links on a single project:
- Install Lychee.
- Change into the root directory of the project.
- Run
lychee --offline --include-fragments <doc_directory>
where<doc_directory>
it the directory that contains documentation to check. For example:lychee --offline --include-fragments doc
.
Check all GitLab Docs site projects
To check links on the entire GitLab documentation site:
- Make sure you have all the documentation projects cloned in the same directory as your
gitlab-docs
clone. You can runmake clone-all-docs-projects
to clone any projects you don't have in that location. If you want to update the documentation projects, runmake update-all-projects
. - Go to the
gitlab-docs
directory. - Run
make internal-links-and-anchors-check
, which builds the GitLab Docs site withnanoc
and checks links on the built site by usingnanoc
.
Run UI link tests locally
To test documentation links in the GitLab UI locally, you need to run both haml-lint
and eslint
.
haml-lint
tests
Run -
Open the
gitlab
directory in a terminal window. -
Run:
bundle exec haml-lint -i DocumentationLinks
If you receive an error the first time you run this test, run bundle install
, which
installs the dependencies for GitLab, and try again.
If you don't want to install all of the dependencies to test the links, you can:
-
Open the
gitlab
directory in a terminal window. -
Install
haml-lint
:gem install haml_lint
-
Run:
haml-lint -i DocumentationLinks
If you manually install haml-lint
with this process, it does not update automatically
and you should make sure your version matches the version used by GitLab.
eslint
tests
Run -
Open the
gitlab
directory in a terminal window. -
Run:
scripts/frontend/lint_docs_links.mjs
If you receive an error the first time you run this test, run yarn install
, which
installs the dependencies for GitLab, and try again.