• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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