pedrotroller / circle-parallel-tests-builder
Easy way to build parallel sets of tests for Circle CI
Installs: 2 494
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- symfony/console: ~2.0
- symfony/process: ~2.0
- symfony/yaml: ~2.0
Requires (Dev)
- phpspec/phpspec: ^2.4
This package is auto-updated.
Last update: 2024-09-19 02:41:42 UTC
README
Easy way to build parallel sets of tests for Circle CI
Pitch
This tool will create test suites for you. It's made for circle-ci but you can use it with other tools.
Installation
composer require pedrotroller/circle-parallel-tests-builder --dev
A binary file (circle-tests
) have been added to your binary directory.
Configuration
You just have to create a file named circle-tests.yml
into your project root directory and follow this pattern :
"<my_test>": <weigth> "<my_test>": <weigth> "<my_test>": <weigth>
Where my_test
is the command to execute, and weigth
is a number representing the weigth of the execution of your command (can be the duration for exemple).
Usage
You can display suites by using the following command :
./bin/circle-tests display -t 3 # Will split your tests into 3 suites
You can launch a suite by using the following command :
./bin/circle-tests -i 0 -t 3 # -i represent the index (0 based) of the desired suite
Circle-CI use case
# ./circle-tests.yml 'bin/behat --no-snippets --tags=~disabled --verbose features/api': 21 'bin/behat --no-snippets --tags=~disabled --verbose features/manager': 50 'bin/phpspec run -fpretty --verbose': 1 'bin/install dev demo': 4 'bin/install prod && app/console doctrine:schema:validate -e=prod': 2
# ./circle.yml general: # ... machine: # ... dependencies: # ... test: override: - bin/circle-tests run --index=$CIRCLE_NODE_INDEX --total=$CIRCLE_NODE_TOTAL: parallel: true