{"id":23872036,"url":"https://github.com/eddiewebb/circleci-queue","last_synced_at":"2025-04-05T15:05:11.786Z","repository":{"id":34156516,"uuid":"129249016","full_name":"eddiewebb/circleci-queue","owner":"eddiewebb","description":"CircleCI orb to block/queue jobs to enforce max concurrency limits","archived":false,"fork":false,"pushed_at":"2025-03-14T16:41:39.000Z","size":586,"stargazers_count":77,"open_issues_count":2,"forks_count":75,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T14:06:16.827Z","etag":null,"topics":["circleci-orbs"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddiewebb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-12T12:38:11.000Z","updated_at":"2025-03-14T16:41:42.000Z","dependencies_parsed_at":"2024-01-25T12:44:25.364Z","dependency_job_id":"e5ca0910-61df-4f4f-86a7-f224b67031fb","html_url":"https://github.com/eddiewebb/circleci-queue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddiewebb%2Fcircleci-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddiewebb%2Fcircleci-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddiewebb%2Fcircleci-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddiewebb%2Fcircleci-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddiewebb","download_url":"https://codeload.github.com/eddiewebb/circleci-queue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353729,"owners_count":20925329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["circleci-orbs"],"created_at":"2025-01-03T15:19:21.239Z","updated_at":"2025-04-05T15:05:11.768Z","avatar_url":"https://github.com/eddiewebb.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e **This Orb is deprecated by native CircleCI functionality.**\n\u003e\n\u003e For details, see the [Deprecation Notice issue](https://github.com/eddiewebb/circleci-queue/issues/142) and the official [CircleCI changelog entry](https://circleci.com/changelog/avoid-commit-conflicts-in-your-pipelines-with-serial-jobs/) for `serial-group`.\n\n# CircleCI Concurrency Control Orb\n\n[![CircleCI](https://img.shields.io/circleci/build/gh/eddiewebb/circleci-queue)](https://circleci.com/gh/eddiewebb/circleci-queue/tree/master) \n[![GitHub license](https://img.shields.io/github/license/eddiewebb/circleci-queue)](https://github.com/eddiewebb/circleci-queue/blob/master/LICENSE)\n[![CircleCI Orb Version](https://img.shields.io/badge/endpoint.svg?url=https://badges.circleci.io/orb/eddiewebb/queue)](https://circleci.com/orbs/registry/orb/eddiewebb/queue)\n[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/21077)\n\nCircleCI Orb to limit workflow concurrency.\n\nWhy? 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.\nSee https://github.com/eddiewebb/circleci-challenge as an example using blue/green cloud foundry deployments.\n\n\n## Basic Usage\n\nThis 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 must be a **Personal API Token** (rather than a project-specific API Permissions token). This can be created at [Personal API Tokens](https://app.circleci.com/settings/user/tokens) under Users Settings. Note that the account must have write access (at least the **Contributor** role) on the Project you wish to enable this orb for. However, if the `dont-quit` parameter is enabled, view-only access (the **Viewer** role) is sufficient.\n\n## Screenshots / Examples\n\nSuppose we have a workflow take takes a little while to run. Normally the build (#18) will run immediately, with no queuing.\n![no queuing if only active build](assets/build_noqueue.png)\n\nSomeone else on the team makes another commit, since the first build (#18) is still running, it will queue build #19.\n![no queuing if only active build](assets/build_queue2.png)\n\nIt's late afternoon, everyone is pushing their commits in to ensure they are good before they leave for the day. Build #20 also queues.\n![no queuing if only active build](assets/build_queued.png)\n\nMeanwhile, build #19 is now allowed to move forward since build #18 finished.\n\n![no queuing if only active build](assets/build_progressed.png)\n\nOh No! Since `1 minute` is abnormally long for things to be queued, build #20 aborts itself, letting build #19 finish uninterrupted.\n\n![no queuing if only active build](assets/build_aborted.png)\n\n# Setup\nSee https://circleci.com/orbs/registry/orb/eddiewebb/queue#usage-examples for current examples\n\n## Note\n\nQueueing 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddiewebb%2Fcircleci-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddiewebb%2Fcircleci-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddiewebb%2Fcircleci-queue/lists"}