Split tests - Features, integrations, alternatives & more
What it does
This action takes files that match provided pattern and splits them into separate variables.
How it works
This action creates an environment variable ($BUDDY_SPLIT_*) with paths to the directories containing test files that can be used by actions that actually execute the tests after the Split tests action completes.
Good to know
This action doesn’t actually execute the tests, it just creates the $BUDDY_SPLIT_* that can be used later by other actions. The number of the created vars is determinated by a number of split tests groups defined in the action settings.
Split test Action Features
- It can be specified into how many groups the tests should be split
- Matched files can be evenly split in two ways: either by a similar number or the size of files in the output directories
- Tests path, the input field for the path to directory with test files, supports naming pattern (glob pattern, ex: /tests/*.js) when points to a directory where the tests are stored and also a single file with list of paths to the test files.
- Input fields: Tests Path supports ENV VARs
- The action can be configured in YAML mode. See Split tests YAML parameters and Split tests YAML config example
- Buddy's Split tests API is supported
- The action supports conditional execution: it can be run on each execution, only if there are changes in the repository or specific paths since last execution or if an environment variable has a specific value
- Error handling: you can either stop the execution, mark action and pipeline as failed or proceed the execution, mark action as warning and jump to the next action