Note from the publisher: You have managed to find some of our old content and it may be outdated and/or incorrect. Try searching in our docs or on the blog for current information.

TL;DR: CircleCI 2.0 now recognizes your build, test, and deploy stages as individual jobs with the release of Workflows. Teams using Workflows will now be able to control each stage of their development process to match their ideal process from start to finish.

Current 2.0 users can visit our docs to start using Workflows today.

Not building on CircleCI 2.0? Sign up to get access now.

CircleCI 2.0 now recognizes Build-Test-Deploy as individual jobs with the release of Workflows. Users now have complete flexibility and control over how each step in their process is executed.

On CircleCI 1.0, users were constrained by the execution of jobs in a locked-step fashion. When tests failed, users were required to re-run builds from step 1, resulting in wasted time. Workflows gives developers control and flexibility by allowing them to designate exactly when, if, and how each job is run.

Why Workflows?

The ability to separate and orchestrate jobs has been a top-requested feature from our users. Every team’s ideal process from code to production is different. Workflows gives teams the ability to mirror their ideal process in the configuration of their jobs, so that how your changes move from commit to testing to staging or deploy is fully in your control. We know that turning code into software is not a one-size-fits-all process, and each team should have their own software development workflow that they can define for their individual needs. You may have seen similar concepts referred to as “pipelines” or “build stages.”

What can I do with Workflows?

Workflows support a number of configurations that you can start using today:

Sequential job execution: Run build, test, and deploy sequentially as individual jobs and get faster feedback from each job. CircleCI 1.0 runs your build-test-deploy jobs in sequential lock-step.

Sequential job execution for Workflows on CircleCI

Parallel job execution: For granular build orchestration, faster builds, ability to run multiple jobs in parallel, and a way to resolve all relevant dependencies before you deploy. Parallel job execution also enables build matrices, which allow you to do things like build against multiple versions of a language at the same time for faster feedback.

Parallel job execution in for Workflows on CircleCI

Fan-in/fan-out in a repo: Ideal for a more complex build orchestration and for teams who want to run different test suites against commits to get faster feedback. Allows you to run multiple jobs in parallel that lead up to a singular job (and vice versa from a singular job to multiple jobs).

Fan in for Workflows on CircleCI

Branch-level filtering for job execution: Allows you to deploy your code off specific branches.

Branch level filtering for Workflows on CircleCI

Job execution from failed and job execution from start: Choose where and how your build re-runs to save repeating unnecessary jobs. This allows you to start your jobs from your last failed job, instead of re-running every job or stage.

Job execution from fail for Workflows on CircleCI

Start building with Workflows:

CircleCI 2.0 users can start using Workflows today. Read more and see sample configurations here.

Update: As of July 11, 2017 CircleCI 2.0 is live and publicly available. Click to find out more.