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 - meson compile -C _build 14 - meson install -C _build 15 16pages: 17 extends: .docs-base 18 stage: deploy 19 rules: 20 - !reference [.common-rules, rules] 21 - !reference [.no_scheduled_pipelines-rules, rules] 22 - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH' 23 changes: &docs-or-ci 24 - docs/**/* 25 - .gitlab-ci.yml 26 # All the source files documentation is extracted from 27 # git grep -h ":file: src/" -- docs | sort | uniq 28 - src/compiler/nir/nir.h 29 - src/intel/isl/**/* 30 - src/vulkan/runtime/**/* 31 when: always 32 # Other cases default to never 33 34test-docs: 35 extends: .docs-base 36 # Cancel job if a newer commit is pushed to the same branch 37 interruptible: true 38 stage: deploy 39 rules: 40 - !reference [.common-rules, rules] 41 # pre-merge or merge pipeline 42 - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' 43 changes: *docs-or-ci 44 when: on_success 45 # fork pipeline 46 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"' 47 changes: *docs-or-ci 48 when: on_success 49 # Other cases default to never 50 51linkcheck-docs: 52 extends: .docs-base 53 # Cancel job if a newer commit is pushed to the same branch 54 interruptible: true 55 stage: deploy 56 rules: 57 - !reference [.common-rules, rules] 58 - !reference [.scheduled_pipeline-rules, rules] 59 allow_failure: true 60 script: 61 - sphinx-build -W -b linkcheck docs public 62