All Projects → eddiewebb → circleci-queue

eddiewebb / circleci-queue

Licence: MIT license
CircleCI orb to block/queue jobs to enforce max concurrency limits

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to circleci-queue

orbs
Swissknife! A set of useful commands / jobs in circle workflows
Stars: ✭ 27 (-51.79%)
Mutual labels:  circleci-orbs
compare-url
CircleCI 2.1 pipelines disable the CIRCLE_COMPARE_URL environment variable, useful when working with monorepo projects. This orb manually recreates (and improves!) it.
Stars: ✭ 31 (-44.64%)
Mutual labels:  circleci-orbs
aws-ecs-orb
An orb that simplifies deployment to Amazon's Elastic Container Service (ECS). Supports both EC2 and Fargate launch types.
Stars: ✭ 48 (-14.29%)
Mutual labels:  circleci-orbs
circleci-ruby-orbs
CircleCI orb for ruby
Stars: ✭ 16 (-71.43%)
Mutual labels:  circleci-orbs
orb-starter-kit
A starter kit for new orb authors
Stars: ✭ 27 (-51.79%)
Mutual labels:  circleci-orbs
aws-eks-orb
An orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Stars: ✭ 16 (-71.43%)
Mutual labels:  circleci-orbs
orb-tools-orb
Various tools for authoring and publishing CircleCI orbs
Stars: ✭ 40 (-28.57%)
Mutual labels:  circleci-orbs
tiller-circleci-orb
Deploy Trellis, Bedrock and Sage(optional) via CircleCI
Stars: ✭ 13 (-76.79%)
Mutual labels:  circleci-orbs
docker-orb
Install/use various Docker-related tools on CircleCI
Stars: ✭ 18 (-67.86%)
Mutual labels:  circleci-orbs
shellcheck-orb
An orb for ShellCheck, a static analysis tool for shell scripts (https://shellcheck.net) — check all scripts in your repository on every commit
Stars: ✭ 18 (-67.86%)
Mutual labels:  circleci-orbs
circleci
CircleCI Orbs for CI/CD using Pulumi.
Stars: ✭ 16 (-71.43%)
Mutual labels:  circleci-orbs

CircleCI Concurrency Control Orb

CircleCI GitHub license CircleCI Orb Version Bors enabled

CircleCI Orb to limit workflow concurrency.

Why? Some jobs (typically deployments) need to run sequentially and not parallel, but also run to completion. So CircleCI's native auto-cancel is not quite the right fit. See https://github.com/eddiewebb/circleci-challenge as an example using blue/green cloud foundry deployments.

Basic Usage

This adds concurrency limits by ensuring any jobs with this step will only continue once no previous builds are running. It supports a single argument of how many minutes to wait before aborting itself and it requires a single Environment Variable CIRCLECI_API_KEY - which can be created in account settings.

Screenshots / Examples

Suppose we have a workflow take takes a little while to run. Normally the build (#18) will run immediately, with no queuing. no queuing if only active build

Someone else on the team makes another commit, since the first build (#18) is still running, it will queue build #19. no queuing if only active build

It's late afternoon, everyone is pushing their commits in to ensure they are good before they leave for the day. Build #20 also queues. no queuing if only active build

Meanwhile, build #19 is now allowed to move forward since build #18 finished.

no queuing if only active build

Oh No! Since 1 minute is abnormally long for things to be queued, build #20 aborts itself, letting build #19 finish uninterrupted.

no queuing if only active build

Setup

See https://circleci.com/orbs/registry/orb/eddiewebb/queue#usage-examples for current examples

Note

Queueing is not supported on forked repos. If a queue from a fork happens the queue will immediately exit and the next step of the job will begin.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].