- local: '.gitlab-ci/test-source-dep.yml'
stages:
- - container
+ - container+docs
- container-2
- meson-x86_64
- scons
- success
.docs-base:
+ extends: .ci-run-policy
image: alpine
- stage: deploy
script:
- apk --no-cache add py3-pip
- pip3 install sphinx sphinx_rtd_theme
pages:
extends: .docs-base
+ stage: deploy
artifacts:
paths:
- public
- only:
- refs:
- - master@mesa/mesa
- changes:
- - docs/**/*
- - .gitlab-ci.yml
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == "master"'
+ changes: &docs-or-ci
+ - docs/**/*
+ - .gitlab-ci.yml
+ when: on_success
+ # Other cases default to never
test-docs:
extends: .docs-base
- except:
- refs:
- - master@mesa/mesa
- only:
- changes:
- - docs/**/*
- - .gitlab-ci.yml
+ stage: container+docs
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "mesa"'
+ when: never
+ - if: '$GITLAB_USER_LOGIN == "marge-bot"'
+ changes: *docs-or-ci
+ when: on_success
+ - changes: *docs-or-ci
+ when: manual
+ # Other cases default to never
# When to automatically run the CI
.ci-run-policy:
success:
stage: success
image: debian:stable-slim
- only:
- - merge_requests
- except:
- changes:
- *all_paths
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "mesa"'
+ when: never
+ - if: '$GITLAB_USER_LOGIN == "marge-bot"'
+ changes: *docs-or-ci
+ when: never
+ - changes: *all_paths
+ when: never
+ - when: on_success
variables:
GIT_STRATEGY: none
script:
# repository's registry will be used there as well.
.container:
- stage: container
+ stage: container+docs
extends:
- .ci-run-policy
rules:
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