xref: /aosp_15_r20/external/mesa3d/docs/gitlab-ci.yml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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