07202111a6
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>
62 lines
1.8 KiB
YAML
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
|