Lightspeed has built-in support for running on Buildkite agents.
The environment is automatically detected and all you need to do is configure the desired level of
parallelism for your tests.
For example, to run your tests over 3 nodes and cut your test time by 67% is:
steps:
- label: ':php: Run tests'
commands:
- composer install --no-interaction --no-progress
- php vendor/bin/lightspeed
parallelism: 3
plugins:
- docker#v5.8.0:
image: composer:2
propagate-environment: true
or with docker-compose:
steps:
- label: ':php: Run tests'
commands:
- composer install --no-interaction --no-progress
- php vendor/bin/lightspeed
parallelism: 3
plugins:
- docker-compose#v4.14.0:
run: tests
propagate-environment: true
Using with docker/docker-compose
When using the docker or
docker-compose plugins,
you need to ensure the Buildkite environment variables are propagated to the container so
Lightspeed can properly detect it is running on Buildkite.
The following environment variables are required for use:
-
BUILDKITE_BRANCH -
BUILDKITE_BUILD_NUMBER -
BUILDKITE_COMMIT -
BUILDKITE_MESSAGE -
BUILDKITE_PARALLEL_JOB_COUNT -
BUILDKITE_PARALLEL_JOB -
BUILDKITE
Ensuring uniqueness
If you require a unique value across all tests, you can make use of the BUILDKITE_JOB_ID environment variable. This
will be unique for each instance of Lightspeed that is running.