Select Only build … when you want to build only for files in some specific directories, or with some special extensions.
Select Do not build … when you don’t want to trigger a build when all of the files changed match at least one of the patterns (i.e. all the files fall in some specific directories, or with some special extensions)
Selective Builds allows you to trigger a build of an app only when certain files are changed.
This is useful when:
You have multiple apps in single git repository, or multiple apps share some common files in your repository.
You want to skip builds for committed files that are unrelated to your project’s source files. For example,
When determining the list of files that have changed for a pull request, buddybuild considers all files associated with the pull request, from the branch point to the latest change.
|Do you want to avoid builds for specific commits? Check out Skipping a build.|
Steps to set up selective builds
Visit the buddybuild dashboard.
Click App Settings in the top navigation bar. The App Settings page is displayed:
Find the Selective Builds row in the build configurations, and click the Configure button on the right side of the row. The Enable selective builds page is displayed:
Click the toggle button to enable selective builds. One of the lower panels becomes enabled:
Choose an approach: Only build… or Do not build…:
Only one approach can be active — when you choose an approach, the other approach becomes disabled.
To add a pattern, type the pattern into the input field and click the Add button. The pattern is added to the list of patterns.
Or to delete a pattern, click the trashcan icon beside the pattern you wish to remove. The pattern is removed from the list of patterns.
Once you have finished configuring selective build patterns, click the Close button near the top-right of the page. The App Settings page is displayed, and the current approach and patterns are indicated in the Selective Builds row:
File pattern examples
ios/**: all files with full path that starts with
ios/(i.e. any files in the
**/*.java: all files with full path that ends with
.java(i.e. any files with the
README.mdfile in the root directory of your repository (doesn’t match
README.mdfile in all directories (including
README.mdin root directory of your repository)
ios/**/*.[mh]: all files with the extension
.h, in the
iosdirectory and all of its subdirectories
ios/*.[mh]: files with the extension
.honly under the
iosdirectory (but not its subdirectories)
configs/server[0-2].ini: the files
server2.iniin the directory
More patterns can be found in the gitignore pattern format documentation.