.docs-base: variables: BUILDER: html extends: - .fdo.ci-fairy artifacts: expose_as: 'Documentation preview' paths: - public/ script: - apk --no-cache add coreutils graphviz py3-clang clang-dev musl-dev linux-headers - pip3 install sphinx===5.1.1 mako===1.2.3 hawkmoth===0.16.0 - sphinx-build -W -b $BUILDER docs public pages: extends: .docs-base stage: deploy needs: [] 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 needs: [] rules: - !reference [.no_scheduled_pipelines-rules, rules] - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"' changes: *docs-or-ci when: manual # Other cases default to never test-docs-mr: extends: - test-docs needs: - job: sanity optional: true rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' 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 needs: [] rules: - !reference [.scheduled_pipeline-rules, rules] allow_failure: true variables: BUILDER: linkcheck