+ # Run pipeline by default for merge requests changing files affecting it
+ - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
+ changes: &paths
+ - VERSION
+ - bin/**/*
+ # GitLab CI
+ - .gitlab-ci.yml
+ - .gitlab-ci/**/*
+ # Meson
+ - meson*
+ - build-support/**/*
+ - subprojects/**/*
+ # SCons
+ - SConstruct
+ - scons/**/*
+ - common.py
+ # Source code
+ - include/**/*
+ - src/**/*
+ when: on_success
+ # Run pipeline by default in the main project if files affecting it were
+ # changed
+ - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+ changes:
+ *paths
+ when: on_success
+ # Allow triggering jobs manually on branches of forked projects
+ - if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
+ when: manual
+ # Otherwise, most jobs won't run
+ - when: never