1
1
version : 2.1
2
2
description : |
3
- Allows jobs or entire workflows to be queued to ensure they run in serial.
3
+ Allows jobs or entire workflows to be queued to ensure they run in serial.
4
4
This is ideal for deployments or other activities that must not run concurrently.
5
- May optionaly consider branch-level isolation if unique branches should run concurrently.
6
- This orb requires the project to have an **Personal** API key in order to query build states.
7
- It requires a single environment variable CIRCLECI_API_KEY which can be created in account settings - https://circleci.com/account/api.
8
5
9
- 3.0.0: [BREAKING CHANGE] Use pipeline.number as authoritative comparison. Breaks many parameters.
10
- 2.2.2: Docs clarity on token needs (@davidjb)
11
- 2.2.1: fixes release version bug
12
- 2.2.0: Adds 'filter-by-workflow' (@soniqua)
13
- 2.0.0: Breaking change fixes dyanamic config, but may break Bitbucket users.
14
- 1.12.0: Adds Server Support (@nanophate)
15
- 1.9.0: Doc update
16
- 1.8.4: Adds urlencode for branch names. (@andrew-barnett)
17
- 1.8.1: Adds content-type header to API calls (@kevinr-electric) and prints message on error (@AlexMeuer)
18
- 1.8.0: minor fix same as version 1.8.0 (missing docs)
19
- 1.7.1: patch fix same as version 1.8.1 to catch folsk who dont update
20
- 1.7.0: adds regexp for job names, collab with @jonesie100
21
- 1.6.5: docs contribution by @pwilczynskiclearcode
22
- 1.6.4: support slashes in Tags, thanks @dunial
23
- 1.6.3: addresses API changes that broke branch-job queueing, adds more API checks
24
- 1.6.1: fixes issue in tag matching , thanks @calvin-summer
25
- 1.6.0: Support Tags, thanks @nikolaik, @dunial
26
- 1.5.0: API variables name as parameter , thanks @philnielson
27
- 1.4.4: Docs improvements, thanks @jordan-brough
28
- 1.4.3: more confident confidence thanks @GreshamDanielStephens
29
- 1.4.2: Doc improvements, thanks @olleolleolle
30
- 1.4.1: fixes bug in block-workflow as job. thanks @mu-bro
31
- 1.4.0: Adds confidence checks to avoid race condition
32
- 1.3.0: use small resource class in job
6
+ Fork of eddiewebb/queue v3 pre-release.
33
7
34
-
35
-
36
-
37
8
display :
38
- home_url : https://eddiewebb.github.io/circleci-queue/
39
- source_url : https://github.com/eddiewebb/circleci-queue
9
+ source_url : https://github.com/carwow/circleci-queue
40
10
41
11
examples :
42
12
queue_workflow :
43
13
description : Used typically as first job and will queue until no previous workflows are running
44
14
usage :
45
15
version : 2.1
46
16
orbs :
47
- queue : eddiewebb /queue@volatile
17
+ queue : carwow /queue@1
48
18
49
19
workflows :
50
20
build_deploy :
51
21
jobs :
52
22
- queue/block_workflow :
53
- max-wait-time : " 10 " # max wait, in minutes (default 10)
54
- limit-branch-name : main # restrict queueing to a specific branch (default *)
23
+ circleci-api-key : CIRCLE_TOKEN
24
+ my-pipeline : <<pipeline.number>>
55
25
- some_other_job :
56
26
requires :
57
27
- queue/block_workflow
58
-
28
+
59
29
single_concurrency_job :
60
30
description : |
61
- Used to ensure that a only single job (deploy) is not run concurrently.
62
- By default will only queue if the same job from previous worfklows is running on the same branch.
31
+ Used to ensure that a only single job (deploy) is not run concurrently.
32
+ By default will only queue if the same job from previous worfklows is running on the same branch.
63
33
This allows safe jobs like build/test to overlap, minimizing overall queue times.
64
34
usage :
65
35
version : 2.1
66
36
orbs :
67
- queue : eddiewebb /queue@volatile
37
+ queue : carwow /queue@1
68
38
69
39
workflows :
70
40
build_deploy :
@@ -76,25 +46,25 @@ examples:
76
46
jobs :
77
47
build :
78
48
docker :
79
- - image : circleci/node:10
49
+ - image : circleci/ruby
80
50
steps :
81
51
- run : echo "This job can overlap"
82
52
83
53
deploy :
84
54
docker :
85
- - image : circleci/node:10
55
+ - image : circleci/ruby
86
56
steps :
87
57
- queue/until_front_of_line :
88
- max-wait-time : " 10 " # max wait, in minutes (default 10)
89
- limit-branch-name : main # restrict queueing to a specific branch (default *)
58
+ circleci-api-key : CIRCLE_TOKEN
59
+ my-pipeline : <<pipeline.number>>
90
60
- run : echo "This job will not overlap"
91
-
61
+
92
62
multiple_job_names_regexp :
93
63
description : Use regexp-jobname when you have multiple jobs to block order of.
94
64
usage :
95
65
version : 2.1
96
66
orbs :
97
- queue : eddiewebb /queue@volatile
67
+ queue : carwow /queue@1
98
68
99
69
workflows :
100
70
build_deploy :
@@ -109,23 +79,23 @@ examples:
109
79
jobs :
110
80
build :
111
81
docker :
112
- - image : circleci/node:10
82
+ - image : circleci/ruby
113
83
steps :
114
84
- run : echo "This job can overlap"
115
85
116
86
DeployStep1 :
117
87
docker :
118
- - image : circleci/node:10
88
+ - image : circleci/ruby
119
89
steps :
120
90
- queue/until_front_of_line :
121
- max-wait-time : " 10 " # max wait, in minutes (default 10)
122
- limit-branch-name : main # restrict queueing to a specific branch (default *)
123
- job-regex : " ^DeployStep[0-9]$" # use extendex regexp pattern
91
+ circleci-api-key : CIRCLE_TOKEN
92
+ my-pipeline : <<pipeline.number>>
93
+ job-regex : " ^DeployStep[0-9]$"
124
94
- run : echo "This job will not overlap with itself or next similar nameds job"
125
95
126
96
DeployStep2 :
127
97
docker :
128
- - image : circleci/node:10
98
+ - image : circleci/ruby
129
99
steps :
130
100
- run : echo "This job will block step1 on any further workflows"
131
101
0 commit comments