Files
third_party_mesa3d/docs/gitlab-ci.yml
Eric Engestrom 07202111a6 ci/rules: make every job exist as manual in fork pipelines
In forks, every job exists, but no job is automatically run.

Should help with the problem of users clicking on that tempting "play"
button GitLab offers and that has been causing a lot of issues with
wasted resources.

Downside is, users now have to use the `bin/ci/ci_run_n_monitor.sh`
script to be able to run a bunch of jobs at once.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25252>
2024-08-26 11:49:34 +00:00

62 lines
1.8 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 [.common-rules, 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 [.common-rules, rules]
# pre-merge or merge pipeline
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes: *docs-or-ci
when: on_success
# fork pipeline
- if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"'
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 [.common-rules, rules]
- !reference [.scheduled_pipeline-rules, rules]
allow_failure: true
script:
- sphinx-build -W -b linkcheck docs public