This article is about Codeship Basic.

Parallel Testing

Estimated Reading Time: 2 mins

Parallel test pipelines are an account upgrade. You can try a free trial to test using up to 20 parallel test pipelines for two weeks on all your projects.

What Are Parllel Test Pipelines?

Parallel test pipelines allow you to split your test commands across multiple test pipelines to speed up your build time.

Note that all test pipelines run on separate build VMs to avoid the possibility of race conditions or resource limitations.

Using Parallel Test Pipelines

Once parallel test pipelines are enabled, each project can have multiple test pipelines that will be run in parallel. Codeship will first run your setup commands and then any arbitrary test commands you defined for this specific pipeline via the interface.

To ease distinguishing different pipelines you can provide a name for each one.

Configuration of test pipelines

Disabling Parallel Test Pipelines

You can either delete additional test pipelines, or comment out any commands by prepending a # symbol to each line. A test pipeline is only active if it contains at least one command.

Deployment Pipeline

Using parallel test pipelines is unrelated to creating your deployment pipelines, which are specific to deploying your application at the end of your tests and can not run in parallel.

You can learn more about deployment pipelines here.

Artifacts Support

As your build and deployment commands are run on multiple virtual machines, artifacts created during the test steps will not be available during the deployment. If you need artifacts from the previous steps, make sure to regenerate them during the deployment using a script deployment added before the actual deployment.

Account Downgrade Behavior

If you downgrade to a subscription with fewer parallel pipelines, any additional pipelines will be automatically merged into the first pipeline on the project.

If this is not desirable for your project make sure to manually move the steps to the appropriate test pipelines before downgrading.

Parallel Modules

In addition to parallelizing explicitly with parallel pipelines, most popular frameworks offer modules that you can install to parallelize within the codebase itself.

While we do not officially support or integrate with any of these modules, many Codeship users find success speeding their tests up by using them. Note that in many cases these modules create additional strain on your machine resource usage, so you will want to keep an eye on this as misconfiguration can result in a resource max out that ultimately slows your builds down or causes failures.

Rails

Node

PHPUnit