For those using monorepos or that only want Screwdriver jobs to run on changes in certain subdirectories or files, you can use the new source paths feature.
Source paths can be used to specify source code paths that will trigger a job upon modification.
You can either specify subdirectories and/or specific files as source paths. To denote a subdirectory, leave a trailing slash (/) at the end. The path is relative to the root of the repository.
Example
Given a repository with the file structure depicted below:
In this example, the job main will be triggered if there are any changes to files under src/app/ or the screwdriver.yaml file (like on src/app/main.js, src/app/package.json, etc.). The main job will not, however, be triggered on changes to README.md, test/, or src/other/.
Caveats
This feature is only available for the Github SCM right now.
sourcePaths will be ignored if you manually start a pipeline or restart a job.
The screwdriver.yaml must still be located at root.
Compatibility List
Source paths requires the following minimum versions of Screwdriver:
API: v0.5.278
UI: v1.0.252
Store: v2.4.3
Launcher: v4.0.80
Contributors
Thanks to the following people who made this feature possible:
d2lam
tkyi
Screwdriver is an open-source build automation platform designed for Continuous Delivery. It is built (and used) by Yahoo. Don’t hesitate to reach out if you have questions or would like to contribute: http://docs.screwdriver.cd/about/support.