Files
third_party_mesa3d/docs/gitlab-ci.yml
Erik Faye-Lund fdd204538b ci: build docs using meson
To avoid having to inflate the image here even further, let's just add
what we need to the the normal x86 Alpine build image, and use that.

Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11494>
2024-06-25 10:59:54 +00:00

64 lines
1.7 KiB
YAML

.docs-base:
extends:
- .build-linux
- .use-alpine/x86_64_build
artifacts:
expose_as: 'Documentation preview'
paths:
- public/
script:
- meson setup _build -D prefix=$(pwd) --auto-features=disabled
-D vulkan-drivers="" -D gallium-drivers="" -D glx=disabled
-D video-codecs="" -D html-docs=enabled -D html-docs-path=public
- meson compile -C _build
- meson install -C _build
pages:
extends: .docs-base
stage: deploy
rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH'
changes: &docs-or-ci
- docs/**/*
- .gitlab-ci.yml
# All the source files documentation is extracted from
# git grep -h ":file: src/" -- docs | sort | uniq
- src/compiler/nir/nir.h
- src/intel/isl/**/*
- src/vulkan/runtime/**/*
when: always
# Other cases default to never
test-docs:
extends: .docs-base
# Cancel job if a newer commit is pushed to the same branch
interruptible: true
stage: deploy
rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"'
changes: *docs-or-ci
when: manual
# Other cases default to never
test-docs-mr:
extends:
- test-docs
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes: *docs-or-ci
when: on_success
# Other cases default to never
linkcheck-docs:
extends: .docs-base
# Cancel job if a newer commit is pushed to the same branch
interruptible: true
stage: deploy
rules:
- !reference [.scheduled_pipeline-rules, rules]
allow_failure: true
script:
- sphinx-build -W -b linkcheck docs public