Files
mesa/docs/gitlab-ci.yml
Eric Engestrom 904052a9d8 docs/ci: follow convention of only running jobs by default for Marge
Because `alpine/x86_64_build` references these rules, this commit fixes
that job as well.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34469>
2025-04-15 15:14:50 +00:00

71 lines
2.1 KiB
YAML

.docs-base:
timeout: 10m
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 platforms=[] -D glx=disabled
-D video-codecs="" -D html-docs=enabled -D html-docs-path=public
-D werror=true
- meson compile -C _build
- meson install -C _build
- echo "Documentation website preview is available at $ARTIFACTS_BASE_URL/public/index.html"
deploy-docs:
extends: .docs-base
stage: deploy
pages: true
rules:
- !reference [.common-rules, rules]
- !reference [.no_scheduled_pipelines-rules, rules]
# post-merge pipeline
- 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 [.common-rules, rules]
# merge pipeline
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "marge-bot"'
changes: *docs-or-ci
when: on_success
# pre-merge pipeline
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes: *docs-or-ci
when: manual
# fork pipeline
- if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"'
changes: *docs-or-ci
when: manual
# 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 [.common-rules, rules]
- !reference [.scheduled_pipeline-rules, rules]
allow_failure: true
script:
- sphinx-build -W -b linkcheck docs public