X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=.gitlab-ci.yml;h=42a969559ef5deb1c1c6af96b2b47023df286408;hp=04fbe6c00518cceca4250cca5cb776fcf3be140e;hb=196ac4c6f3fdd15f5632b2a3af7fd56bfdf57f11;hpb=bb703d42479296f3b517a215ef99428cf405fa9d diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04fbe6c0051..42a969559ef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,8 +9,7 @@ include: - local: '.gitlab-ci/test-source-dep.yml' stages: - - deploy - - container + - container+docs - container-2 - meson-x86_64 - scons @@ -22,20 +21,39 @@ stages: - 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: @@ -114,24 +132,31 @@ success: # 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 @@ -337,7 +362,7 @@ windows_build_vs2019: 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