- local: '.gitlab-ci/test-source-dep.yml'
stages:
- - deploy
- - container
+ - container+docs
- container-2
- meson-x86_64
- scons
- radv
- lima
- virgl
+ - deploy
- success
-pages:
+.docs-base:
image: alpine
- stage: deploy
script:
- apk --no-cache add py3-pip
- pip3 install sphinx sphinx_rtd_theme
- sphinx-build -b html docs public
+
+pages:
+ extends: .docs-base
+ stage: deploy
artifacts:
paths:
- public
only:
- - master
+ refs:
+ - master@mesa/mesa
+ changes:
+ - docs/**/*
+ - .gitlab-ci.yml
+
+test-docs:
+ extends: .docs-base
+ stage: container+docs
+ except:
+ refs:
+ - master@mesa/mesa
+ only:
+ changes:
+ - docs/**/*
+ - .gitlab-ci.yml
# When to automatically run the CI
.ci-run-policy:
# repository's registry will be used there as well.
.container:
- stage: container
+ stage: container+docs
extends:
- .ci-run-policy
rules:
+ # Run pipeline by default in the main project if any CI pipeline
+ # configuration files were changed, to ensure docker images are up to date
+ - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+ changes:
+ - .gitlab-ci.yml
+ - .gitlab-ci/**/*
+ when: on_success
# Run pipeline by default if it was triggered by Marge Bot, is for a
- # merge request, and any files affecting it were changed
- - if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
+ # merge request, and any files affecting the pipeline were changed
+ - if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_PROJECT_PATH != "mesa/mesa"'
changes:
*all_paths
when: on_success
- # Run pipeline by default in the main project if any files affecting it were
- # changed
- - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+ # Run pipeline by default in the main project if it was not triggered by
+ # Marge Bot, and any files affecting the pipeline were changed
+ - if: '$GITLAB_USER_LOGIN != "marge-bot" && $CI_PROJECT_PATH == "mesa/mesa"'
changes:
*all_paths
when: on_success
- # Allow triggering jobs manually for MRs or branches of forked projects if
- # any files affecting the pipeline were changed
+ # Allow triggering jobs manually in other cases if any files affecting the
+ # pipeline were changed
- changes:
*all_paths
when: manual
extends:
- .container
- .windows-docker-vs2019
- stage: container
+ stage: container+docs
variables:
GIT_STRATEGY: fetch # we do actually need the full repository though
timeout: 4h # LLVM takes ages
CC: "ccache clang-9"
CXX: "ccache clang++-9"
-.meson-windows-vs2019:
+meson-windows-vs2019:
extends:
- .build-windows
- .use-windows_build_vs2019