1.docs-base: 2 extends: 3 - .build-linux 4 - .use-alpine/x86_64_build 5 artifacts: 6 expose_as: 'Documentation preview' 7 paths: 8 - public/ 9 script: 10 - meson setup _build -D prefix=$(pwd) --auto-features=disabled 11 -D vulkan-drivers="" -D gallium-drivers="" -D platforms=[] -D glx=disabled 12 -D video-codecs="" -D html-docs=enabled -D html-docs-path=public 13 -D werror=true 14 - meson compile -C _build 15 - meson install -C _build 16 17pages: 18 extends: .docs-base 19 stage: deploy 20 rules: 21 - !reference [.common-rules, rules] 22 - !reference [.no_scheduled_pipelines-rules, rules] 23 - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH' 24 changes: &docs-or-ci 25 - docs/**/* 26 - .gitlab-ci.yml 27 # All the source files documentation is extracted from 28 # git grep -h ":file: src/" -- docs | sort | uniq 29 - src/compiler/nir/nir.h 30 - src/intel/isl/**/* 31 - src/vulkan/runtime/**/* 32 when: always 33 # Other cases default to never 34 35test-docs: 36 extends: .docs-base 37 # Cancel job if a newer commit is pushed to the same branch 38 interruptible: true 39 stage: deploy 40 rules: 41 - !reference [.common-rules, rules] 42 # pre-merge or merge pipeline 43 - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' 44 changes: *docs-or-ci 45 when: on_success 46 # fork pipeline 47 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"' 48 changes: *docs-or-ci 49 when: on_success 50 # Other cases default to never 51 52linkcheck-docs: 53 extends: .docs-base 54 # Cancel job if a newer commit is pushed to the same branch 55 interruptible: true 56 stage: deploy 57 rules: 58 - !reference [.common-rules, rules] 59 - !reference [.scheduled_pipeline-rules, rules] 60 allow_failure: true 61 script: 62 - sphinx-build -W -b linkcheck docs public 63