1.docs-base: 2 variables: 3 BUILDER: html 4 extends: 5 - .fdo.ci-fairy 6 artifacts: 7 expose_as: 'Documentation preview' 8 paths: 9 - public/ 10 script: 11 - apk --no-cache add coreutils graphviz py3-clang clang-dev musl-dev linux-headers 12 - pip3 install sphinx===5.1.1 mako===1.2.3 hawkmoth===0.16.0 13 - sphinx-build -W -b $BUILDER docs public 14 15pages: 16 extends: .docs-base 17 stage: deploy 18 needs: [] 19 rules: 20 - !reference [.no_scheduled_pipelines-rules, rules] 21 - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH' 22 changes: &docs-or-ci 23 - docs/**/* 24 - .gitlab-ci.yml 25 # All the source files documentation is extracted from 26 # git grep -h ":file: src/" -- docs | sort | uniq 27 - src/compiler/nir/nir.h 28 - src/intel/isl/**/* 29 - src/vulkan/runtime/**/* 30 when: always 31 # Other cases default to never 32 33test-docs: 34 extends: .docs-base 35 # Cancel job if a newer commit is pushed to the same branch 36 interruptible: true 37 stage: deploy 38 needs: [] 39 rules: 40 - !reference [.no_scheduled_pipelines-rules, rules] 41 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"' 42 changes: *docs-or-ci 43 when: manual 44 # Other cases default to never 45 46test-docs-mr: 47 extends: 48 - test-docs 49 needs: 50 - job: sanity 51 optional: true 52 rules: 53 - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' 54 changes: *docs-or-ci 55 when: on_success 56 # Other cases default to never 57 58linkcheck-docs: 59 extends: .docs-base 60 # Cancel job if a newer commit is pushed to the same branch 61 interruptible: true 62 stage: deploy 63 needs: [] 64 rules: 65 - !reference [.scheduled_pipeline-rules, rules] 66 allow_failure: true 67 variables: 68 BUILDER: linkcheck 69 70