113 lines
3.5 KiB
YAML
113 lines
3.5 KiB
YAML
.review-docs:
|
|
extends:
|
|
- .default-retry
|
|
- .docs:rules:review-docs
|
|
image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-alpine
|
|
stage: review
|
|
needs: []
|
|
variables:
|
|
# We're cloning the repo instead of downloading the script for now
|
|
# because some repos are private and CI_JOB_TOKEN cannot access files.
|
|
# See https://gitlab.com/gitlab-org/gitlab/issues/191273
|
|
GIT_DEPTH: 1
|
|
# By default, deploy the Review App using the `main` branch of the `gitlab-org/gitlab-docs` project
|
|
DOCS_BRANCH: main
|
|
environment:
|
|
name: review-docs/mr-${CI_MERGE_REQUEST_IID}
|
|
# DOCS_REVIEW_APPS_DOMAIN and DOCS_GITLAB_REPO_SUFFIX are CI variables
|
|
# Discussion: https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/14236/diffs#note_40140693
|
|
auto_stop_in: 2 weeks
|
|
url: http://${DOCS_BRANCH}-${DOCS_GITLAB_REPO_SUFFIX}-${CI_MERGE_REQUEST_IID}.${DOCS_REVIEW_APPS_DOMAIN}/${DOCS_GITLAB_REPO_SUFFIX}
|
|
on_stop: review-docs-cleanup
|
|
before_script:
|
|
- source ./scripts/utils.sh
|
|
- install_gitlab_gem
|
|
|
|
# Always trigger a docs build in gitlab-docs only on docs-only branches.
|
|
# Useful to preview the docs changes live.
|
|
review-docs-deploy:
|
|
extends: .review-docs
|
|
script:
|
|
- ./scripts/trigger-build.rb docs deploy
|
|
|
|
# Cleanup remote environment of gitlab-docs
|
|
review-docs-cleanup:
|
|
extends: .review-docs
|
|
environment:
|
|
name: review-docs/mr-${CI_MERGE_REQUEST_IID}
|
|
action: stop
|
|
script:
|
|
- ./scripts/trigger-build.rb docs cleanup
|
|
|
|
docs-lint links:
|
|
extends:
|
|
- .docs:rules:docs-lint
|
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-html:alpine-3.16-ruby-2.7.6-0bc327a4
|
|
stage: lint
|
|
needs: []
|
|
script:
|
|
# Prepare docs for build
|
|
# The path must be 'ee/' because we have hardcoded links relying on it
|
|
# https://gitlab.com/gitlab-org/gitlab-docs/-/blob/887850752fc0e72856da6632db132f005ba77f16/content/index.erb#L44-63
|
|
- mv doc/ /tmp/gitlab-docs/content/ee
|
|
- cd /tmp/gitlab-docs
|
|
# Build HTML from Markdown
|
|
- bundle exec nanoc
|
|
# Check the internal links and anchors (in parallel)
|
|
- "parallel time bundle exec nanoc check ::: internal_links internal_anchors"
|
|
|
|
.docs-markdown-lint-image:
|
|
# When updating the image version here, update it in /scripts/lint-doc.sh too.
|
|
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-markdown:alpine-3.16-vale-2.20.1-markdownlint-0.32.2
|
|
|
|
docs-lint markdown:
|
|
extends:
|
|
- .default-retry
|
|
- .docs:rules:docs-lint
|
|
- .docs-markdown-lint-image
|
|
stage: lint
|
|
needs: []
|
|
script:
|
|
- scripts/lint-doc.sh
|
|
|
|
docs code_quality:
|
|
extends:
|
|
- .reports:rules:code_quality
|
|
- .docs-markdown-lint-image
|
|
stage: lint
|
|
needs: []
|
|
dependencies: []
|
|
allow_failure: true
|
|
script:
|
|
- vale --output=doc/.vale/vale-json.tmpl --minAlertLevel warning doc > gl-code-quality-report-docs.json || exit_code=$?
|
|
artifacts:
|
|
reports:
|
|
codequality: gl-code-quality-report-docs.json
|
|
paths:
|
|
- gl-code-quality-report-docs.json
|
|
expire_in: 2 weeks
|
|
when: always
|
|
|
|
ui-docs-links lint:
|
|
extends:
|
|
- .docs:rules:docs-lint
|
|
- .static-analysis-base
|
|
- .ruby-cache
|
|
stage: lint
|
|
needs: []
|
|
script:
|
|
- bundle exec haml-lint -i DocumentationLinks
|
|
|
|
docs-lint deprecations-and-removals:
|
|
variables:
|
|
SETUP_DB: "false"
|
|
extends:
|
|
- .default-retry
|
|
- .rails-cache
|
|
- .default-before_script
|
|
- .docs:rules:deprecations-and-removals
|
|
stage: lint
|
|
needs: []
|
|
script:
|
|
- bundle exec rake gitlab:docs:check_deprecations
|
|
- bundle exec rake gitlab:docs:check_removals
|