Refactor internal links testing
If we want to make it possible for internal_links to work inside CE and EE repos (https://gitlab.com/gitlab-com/gitlab-docs/issues/305), we need to change the workflow.
Workflow
- Branch is pushed
- Build starts
- Temp Docker image is created and pushed in a temp Registry dir
- Internal links check starts in 5 parallel jobs, build cache is downloaded in all (can add as a dependency)
- Test without providing a Nanoc environment (tests site with all products present)
- Test each product separately (for example in CE: run
rm -r public/{ee,omnibus,runner}, then check links based on env)
- Tests pass
- MR is merged
- Temp Docker image is deleted (is there an API?)
- New Docker lint image is created on master
Todos
The following issues/MRs should be closed/implemented in that order:
-
Exclude checking of some internal links based on the Nanoc environment https://gitlab.com/gitlab-com/gitlab-docs/merge_requests/382 -
Create and upload a test lint Docker image for each branch https://gitlab.com/gitlab-com/gitlab-docs/merge_requests/384 -
Move the lint Dockerfile in this project https://gitlab.com/gitlab-com/gitlab-docs/issues/306 -
Create parallel jobs for internal links testing https://gitlab.com/gitlab-com/gitlab-docs/issues/308 -
Update .gitlab-ci.ymlin CE/EE https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23700
Edited by Achilleas Pipinellis