CI-Runner shell executor runs concurrently with concurrency=1
Summary
Having a shell executor configured with concurrency=1
runs multiple jobs at a time on the same runner.
Steps to reproduce
I'm using the following ~/.gitlab-runner/config.toml
on MacOS to server certain build requests:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "Apple CI"
limit = 1
...
A pipeline contains multiple Jobs that use this runner (iOS/MacOS) which should be compiled non concurrently.
What is the current bug behavior?
The pipeline triggers parallel builds instead of serial ones.
What is the expected correct behavior?
There should be only one job on this runner at a time.
Results of GitLab environment info
# gitlab-rake gitlab:env:info
System information
System: Ubuntu 18.04
Current User: git
Using RVM: no
Ruby Version: 2.6.3p62
Gem Version: 2.7.9
Bundler Version:1.17.3
Rake Version: 12.3.2
Redis Version: 3.2.12
Git Version: 2.22.0
Sidekiq Version:5.2.7
Go Version: unknown
GitLab information
Version: 12.2.5
Revision: 09f8edbc29a
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: PostgreSQL
DB Version: 10.9
URL: https://gitlab.xxxxxx
HTTP Clone URL: https://gitlab.xxxxxx/some-group/some-project.git
SSH Clone URL: git@gitlab.xxxxxx:some-group/some-project.git
Using LDAP: yes
Using Omniauth: yes
Omniauth Providers:
GitLab Shell
Version: 9.3.0
Repository storage paths:
default: /var/opt/gitlab/git-data/repositories
GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell
Git: /opt/gitlab/embedded/bin/git
Results of GitLab application Check
# gitlab-rake gitlab:check SANITIZE=true
Checking GitLab subtasks …
Checking GitLab Shell …
GitLab Shell: … GitLab Shell version >= 9.3.0 ? … OK (9.3.0)
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Redis available via internal API: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK
gitlab-shell self-check successful
Checking GitLab Shell … Finished
Checking Gitaly …
Gitaly: … default … OK
Checking Gitaly … Finished
Checking Sidekiq …
Sidekiq: … Running? … yes
Number of Sidekiq processes … 1
Checking Sidekiq … Finished
Checking Incoming Email …
Incoming Email: … Reply by email is disabled in config/gitlab.yml
Checking Incoming Email … Finished
Checking LDAP …
LDAP: … Server: ldapmain
LDAP authentication… Success
LDAP users with access to your GitLab server (only showing the first 100 results)
User output sanitized. Found 63 users of 100 limit.
Checking LDAP … Finished
Checking GitLab App …
Git configured correctly? … yes
Database config exists? … yes
All migrations up? … yes
Database contains orphaned GroupMembers? … no
GitLab config exists? … yes
GitLab config up to date? … yes
Log directory writable? … yes
Tmp directory writable? … yes
Uploads directory exists? … yes
Uploads directory has correct permissions? … yes
Init script exists? … skipped (omnibus-gitlab has no init script)
Init script up-to-date? … skipped (omnibus-gitlab has no init script)
Projects have namespace: …
8/6 … yes
7/7 … yes
8/8 … yes
10/9 … yes
17/10 … yes
10/11 … yes
10/12 … yes
10/13 … yes
10/14 … yes
10/15 … yes
3/16 … yes
10/17 … yes
8/18 … yes
23/20 … yes
23/21 … yes
23/22 … yes
23/23 … yes
23/24 … yes
23/25 … yes
23/26 … yes
8/27 … yes
8/28 … yes
32/29 … yes
7/30 … yes
20/31 … yes
8/32 … yes
37/35 … yes
40/36 … yes
8/38 … yes
8/39 … yes
42/40 … yes
42/41 … yes
42/42 … yes
61/43 … yes
38/44 … yes
19/45 … yes
36/46 … yes
49/47 … yes
49/48 … yes
49/49 … yes
54/50 … yes
54/51 … yes
54/52 … yes
55/53 … yes
55/54 … yes
55/55 … yes
8/56 … yes
24/57 … yes
42/58 … yes
61/59 … yes
8/61 … yes
55/62 … yes
54/63 … yes
42/64 … yes
49/67 … yes
23/68 … yes
8/69 … yes
69/72 … yes
55/73 … yes
69/74 … yes
8/75 … yes
8/76 … yes
43/78 … yes
69/79 … yes
8/80 … yes
48/82 … yes
55/83 … yes
73/84 … yes
49/85 … yes
49/86 … yes
49/87 … yes
2/89 … yes
49/90 … yes
55/91 … yes
55/92 … yes
49/95 … yes
80/96 … yes
80/97 … yes
55/98 … yes
24/99 … yes
24/100 … yes
49/101 … yes
91/104 … yes
8/108 … yes
27/110 … yes
96/111 … yes
97/113 … yes
97/114 … yes
8/115 … yes
97/116 … yes
97/117 … yes
55/118 … yes
97/119 … yes
97/120 … yes
49/121 … yes
27/122 … yes
97/123 … yes
97/124 … yes
97/125 … yes
95/126 … yes
96/127 … yes
8/128 … yes
8/129 … yes
108/130 … yes
97/133 … yes
55/134 … yes
8/135 … yes
8/136 … yes
8/137 … yes
8/138 … yes
8/139 … yes
8/140 … yes
8/141 … yes
8/142 … yes
8/143 … yes
8/144 … yes
8/145 … yes
8/146 … yes
8/147 … yes
8/148 … yes
8/149 … yes
8/150 … yes
8/151 … yes
8/152 … yes
8/153 … yes
8/154 … yes
8/155 … yes
8/156 … yes
8/157 … yes
8/158 … yes
8/159 … yes
8/160 … yes
8/161 … yes
48/162 … yes
49/163 … yes
24/164 … yes
108/165 … yes
8/166 … yes
108/167 … yes
8/168 … yes
8/169 … yes
8/170 … yes
8/171 … yes
8/172 … yes
126/173 … yes
8/174 … yes
68/175 … yes
20/176 … yes
68/177 … yes
68/178 … yes
8/179 … yes
72/180 … yes
8/181 … yes
68/182 … yes
20/183 … yes
90/184 … yes
8/185 … yes
27/186 … yes
Redis version >= 2.8.0? … yes
Ruby version >= 2.5.3 ? … yes (2.6.3)
Git version >= 2.22.0 ? … yes (2.22.0)
Git user has default SSH configuration? … yes
Active users: … 82
Checking GitLab App … Finished
Checking GitLab subtasks … Finished`