gitlab-qa 2.7.3 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0e668db418c2898f97674ac4d384fbb9dbf98ae00fa7b1fd8813a21c70119b1
4
- data.tar.gz: ddee7d1abbb129b84ac39d8dd70e78865d694fc59cc2fa4cd56d23f8db93a94d
3
+ metadata.gz: 10cf0ac3fcf95c6576b31b1c1fb0947b6a2f9eb5bb1bfc78281e4375001ecdc4
4
+ data.tar.gz: 2ed071bfb04c06a6004c1669e981aeb3f3673b1512fde01bf31dadb94a794d0d
5
5
  SHA512:
6
- metadata.gz: fac3397d2a8d66055f56f6241cb066fa38a9bf41e63cb9b7bcf904026aa525e3601b75a06810f8ee247991cd852a65996d79243d7c55715bc2ac153b73ef504d
7
- data.tar.gz: c4e6f54cd40685dff86016fb1bfbbd75ce4125d09d9522eaad48e7fd18311b07bc0070e0861edf42a318b5516550ff3575cd164152bfe4e2f63ce0b6ce4897ac
6
+ metadata.gz: 597b819e4181911f326165fe5e6e26ded947992e55dbc994cd4568172ba4f9102011fdb7b238f74c4a1a92ee4189658a8d32ccfa98bb9ea944a9cddbc54a8757
7
+ data.tar.gz: a05d29929286348904d2c12c2d247bf19c2654cb0598512e4ce7b7ba8eb145d2a939fd1a055b63af79060f58f1c0b5ba901a202d65b7d650c8ea24baf59236c3
data/.gitlab-ci.yml CHANGED
@@ -4,12 +4,14 @@ services:
4
4
  stages:
5
5
  - check
6
6
  - test
7
+ - notify
7
8
 
8
9
  variables:
9
10
  TEST_IMAGE: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa
10
11
  DOCKER_DRIVER: overlay
11
12
  DOCKER_HOST: tcp://docker:2375
12
13
  QA_ARTIFACTS_DIR: $CI_PROJECT_DIR
14
+ QA_CAN_TEST_GIT_PROTOCOL_V2: 'false'
13
15
 
14
16
  before_script:
15
17
  - bundle install
@@ -248,3 +250,25 @@ ee:object_storage:
248
250
  <<: *test
249
251
  <<: *high-capacity
250
252
  <<: *ee-qa
253
+
254
+ .notify_upstream_commit: &notify_upstream_commit
255
+ stage: notify
256
+ image: $TEST_IMAGE
257
+ before_script:
258
+ - gem install gitlab --no-document
259
+ only:
260
+ variables:
261
+ - $TOP_UPSTREAM_SOURCE_PROJECT
262
+ - $TOP_UPSTREAM_SOURCE_SHA
263
+
264
+ notify_upstream_commit:success:
265
+ <<: *notify_upstream_commit
266
+ script:
267
+ - bin/notify_upstream_commit success
268
+ when: on_success
269
+
270
+ notify_upstream_commit:failure:
271
+ <<: *notify_upstream_commit
272
+ script:
273
+ - bin/notify_upstream_commit failure
274
+ when: on_failure
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'gitlab'
5
+
6
+ # Configure credentials to be used with gitlab gem
7
+ Gitlab.configure do |config|
8
+ config.endpoint = 'https://gitlab.com/api/v4'
9
+ config.private_token = ENV['GITLAB_BOT_MULTI_PROJECT_PIPELINE_POLLING_TOKEN']
10
+ end
11
+
12
+ class CommitComment
13
+ def self.post!(status)
14
+ unless ENV['TOP_UPSTREAM_SOURCE_SHA']
15
+ puts "The 'TOP_UPSTREAM_SOURCE_SHA' environment variable is missing, cannot post a comment on a missing upstream commit."
16
+ return
17
+ end
18
+
19
+ top_upstream_source_sha = ENV['TOP_UPSTREAM_SOURCE_SHA']
20
+
21
+ unless ENV['TOP_UPSTREAM_SOURCE_PROJECT']
22
+ puts "The 'TOP_UPSTREAM_SOURCE_PROJECT' environment variable is missing, cannot post a comment on the upstream #{top_upstream_source_sha} commit."
23
+ return
24
+ end
25
+
26
+ top_upstream_source_project = ENV['TOP_UPSTREAM_SOURCE_PROJECT']
27
+
28
+ status_with_icon =
29
+ case status
30
+ when :success
31
+ "passed. :white_check_mark:"
32
+ when :failure
33
+ "failed! :boom:"
34
+ end
35
+
36
+ Gitlab.create_commit_comment(
37
+ top_upstream_source_project,
38
+ top_upstream_source_sha,
39
+ "The [`gitlab-qa` downstream pipeline](#{ENV['CI_PIPELINE_URL']}) #{status_with_icon}")
40
+ rescue Gitlab::Error::Error => error
41
+ puts "Ignoring the following error: #{error}"
42
+ end
43
+ end
44
+
45
+ status = ARGV[0].to_s.strip
46
+ if status != ''
47
+ CommitComment.post!(status.to_sym)
48
+ else
49
+ puts "Please provide a status!"
50
+ end
@@ -0,0 +1,7 @@
1
+ dn: ou=Global Groups,dc=example,dc=org
2
+ objectClass: organizationalUnit
3
+ ou: Global Groups
4
+
5
+ dn: ou=People,ou=Global Groups,dc=example,dc=org
6
+ objectClass: organizationalUnit
7
+ ou: People
@@ -0,0 +1,237 @@
1
+
2
+ # 1. Human Resources
3
+
4
+ dn: uid=hruser1,ou=People,ou=Global Groups,dc=example,dc=org
5
+ cn: HR User 1
6
+ givenName: HR
7
+ sn: User1
8
+ uid: hruser1
9
+ uidNumber: 5000
10
+ gidNumber: 10000
11
+ homeDirectory: /home/hruser1
12
+ mail: hruser1@example.org
13
+ objectClass: top
14
+ objectClass: posixAccount
15
+ objectClass: shadowAccount
16
+ objectClass: inetOrgPerson
17
+ objectClass: organizationalPerson
18
+ objectClass: person
19
+ loginShell: /bin/bash
20
+ # hashed value for 'password'
21
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
22
+
23
+ dn: uid=hruser2,ou=People,ou=Global Groups,dc=example,dc=org
24
+ cn: HR User 2
25
+ givenName: HR
26
+ sn: User2
27
+ uid: hruser2
28
+ uidNumber: 5001
29
+ gidNumber: 10001
30
+ homeDirectory: /home/hruser2
31
+ mail: hruser2@example.org
32
+ objectClass: top
33
+ objectClass: posixAccount
34
+ objectClass: shadowAccount
35
+ objectClass: inetOrgPerson
36
+ objectClass: organizationalPerson
37
+ objectClass: person
38
+ loginShell: /bin/bash
39
+ # hashed value for 'password'
40
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
41
+
42
+ dn: uid=hruser3,ou=People,ou=Global Groups,dc=example,dc=org
43
+ cn: HR User 3
44
+ givenName: HR
45
+ sn: User3
46
+ uid: hruser3
47
+ uidNumber: 5002
48
+ gidNumber: 10002
49
+ homeDirectory: /home/hruser3
50
+ mail: hruser3@example.org
51
+ objectClass: top
52
+ objectClass: posixAccount
53
+ objectClass: shadowAccount
54
+ objectClass: inetOrgPerson
55
+ objectClass: organizationalPerson
56
+ objectClass: person
57
+ loginShell: /bin/bash
58
+ # hashed value for 'password'
59
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
60
+
61
+ # 2. Engineering
62
+
63
+ dn: uid=enguser1,ou=People,ou=Global Groups,dc=example,dc=org
64
+ cn: ENG User 1
65
+ givenName: ENG
66
+ sn: User1
67
+ uid: enguser1
68
+ uidNumber: 5003
69
+ gidNumber: 10003
70
+ homeDirectory: /home/enguser1
71
+ mail: enguser1@example.org
72
+ objectClass: top
73
+ objectClass: posixAccount
74
+ objectClass: shadowAccount
75
+ objectClass: inetOrgPerson
76
+ objectClass: organizationalPerson
77
+ objectClass: person
78
+ loginShell: /bin/bash
79
+ # hashed value for 'password'
80
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
81
+
82
+ dn: uid=enguser2,ou=People,ou=Global Groups,dc=example,dc=org
83
+ cn: ENG User 2
84
+ givenName: ENG
85
+ sn: User2
86
+ uid: enguser2
87
+ uidNumber: 5004
88
+ gidNumber: 10004
89
+ homeDirectory: /home/enguser2
90
+ mail: enguser2@example.org
91
+ objectClass: top
92
+ objectClass: posixAccount
93
+ objectClass: shadowAccount
94
+ objectClass: inetOrgPerson
95
+ objectClass: organizationalPerson
96
+ objectClass: person
97
+ loginShell: /bin/bash
98
+ # hashed value for 'password'
99
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
100
+
101
+ dn: uid=enguser3,ou=People,ou=Global Groups,dc=example,dc=org
102
+ cn: ENG User 3
103
+ givenName: ENG
104
+ sn: User3
105
+ uid: enguser3
106
+ uidNumber: 5005
107
+ gidNumber: 10005
108
+ homeDirectory: /home/enguser3
109
+ mail: enguser3@example.org
110
+ objectClass: top
111
+ objectClass: posixAccount
112
+ objectClass: shadowAccount
113
+ objectClass: inetOrgPerson
114
+ objectClass: organizationalPerson
115
+ objectClass: person
116
+ loginShell: /bin/bash
117
+ # hashed value for 'password'
118
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
119
+
120
+
121
+ # 3. Security
122
+
123
+ dn: uid=securityuser1,ou=People,ou=Global Groups,dc=example,dc=org
124
+ cn: Security User 1
125
+ givenName: Security
126
+ sn: User1
127
+ uid: securityuser1
128
+ uidNumber: 5006
129
+ gidNumber: 10006
130
+ homeDirectory: /home/securityuser1
131
+ mail: securityuser1@example.org
132
+ objectClass: top
133
+ objectClass: posixAccount
134
+ objectClass: shadowAccount
135
+ objectClass: inetOrgPerson
136
+ objectClass: organizationalPerson
137
+ objectClass: person
138
+ loginShell: /bin/bash
139
+ # hashed value for 'password'
140
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
141
+
142
+ dn: uid=securityuser2,ou=People,ou=Global Groups,dc=example,dc=org
143
+ cn: Security User 2
144
+ givenName: Security
145
+ sn: User2
146
+ uid: securityuser2
147
+ uidNumber: 5007
148
+ gidNumber: 10007
149
+ homeDirectory: /home/securityuser2
150
+ mail: securityuser1@example.org
151
+ objectClass: top
152
+ objectClass: posixAccount
153
+ objectClass: shadowAccount
154
+ objectClass: inetOrgPerson
155
+ objectClass: organizationalPerson
156
+ objectClass: person
157
+ loginShell: /bin/bash
158
+ # hashed value for 'password'
159
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
160
+
161
+ dn: uid=securityuser3,ou=People,ou=Global Groups,dc=example,dc=org
162
+ cn: Security User 3
163
+ givenName: Security
164
+ sn: User3
165
+ uid: securityuser3
166
+ uidNumber: 5008
167
+ gidNumber: 10008
168
+ homeDirectory: /home/securityuser3
169
+ mail: securityuser3@example.org
170
+ objectClass: top
171
+ objectClass: posixAccount
172
+ objectClass: shadowAccount
173
+ objectClass: inetOrgPerson
174
+ objectClass: organizationalPerson
175
+ objectClass: person
176
+ loginShell: /bin/bash
177
+ # hashed value for 'password'
178
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
179
+
180
+ # 3. Admin
181
+
182
+ dn: uid=adminuser1,ou=People,ou=Global Groups,dc=example,dc=org
183
+ cn: Admin User 1
184
+ givenName: Admin
185
+ sn: User1
186
+ uid: adminuser1
187
+ uidNumber: 5009
188
+ gidNumber: 10009
189
+ homeDirectory: /home/adminuser1
190
+ mail: adminuser1@example.org
191
+ objectClass: top
192
+ objectClass: posixAccount
193
+ objectClass: shadowAccount
194
+ objectClass: inetOrgPerson
195
+ objectClass: organizationalPerson
196
+ objectClass: person
197
+ loginShell: /bin/bash
198
+ # hashed value for 'password'
199
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
200
+
201
+ dn: uid=adminuser2,ou=People,ou=Global Groups,dc=example,dc=org
202
+ cn: Admin User 2
203
+ givenName: Admin
204
+ sn: User1
205
+ uid: adminuser2
206
+ uidNumber: 5010
207
+ gidNumber: 10010
208
+ homeDirectory: /home/adminuser2
209
+ mail: adminuser2@example.org
210
+ objectClass: top
211
+ objectClass: posixAccount
212
+ objectClass: shadowAccount
213
+ objectClass: inetOrgPerson
214
+ objectClass: organizationalPerson
215
+ objectClass: person
216
+ loginShell: /bin/bash
217
+ # hashed value for 'password'
218
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
219
+
220
+ dn: uid=adminuser3,ou=People,ou=Global Groups,dc=example,dc=org
221
+ cn: Admin User 3
222
+ givenName: Admin
223
+ sn: User1
224
+ uid: adminuser3
225
+ uidNumber: 5011
226
+ gidNumber: 10011
227
+ homeDirectory: /home/adminuser3
228
+ mail: adminuser3@example.org
229
+ objectClass: top
230
+ objectClass: posixAccount
231
+ objectClass: shadowAccount
232
+ objectClass: inetOrgPerson
233
+ objectClass: organizationalPerson
234
+ objectClass: person
235
+ loginShell: /bin/bash
236
+ # hashed value for 'password'
237
+ userPassword: {SSHA}ICMhr6Jxt5bk2awD7HL7GxRTM3BZ1pFI
@@ -0,0 +1,39 @@
1
+ # 1. Human Resources
2
+
3
+ dn: cn=Human Resources,ou=Global Groups,dc=example,dc=org
4
+ objectClass: groupofnames
5
+ cn: Human Resources
6
+ description: Human Resources
7
+ member: uid=hruser1,ou=People,ou=Global Groups,dc=example,dc=org
8
+ member: uid=hruser2,ou=People,ou=Global Groups,dc=example,dc=org
9
+ member: uid=hruser3,ou=People,ou=Global Groups,dc=example,dc=org
10
+
11
+ # 2. Engineering
12
+
13
+ dn: cn=Engineering,ou=Global Groups,dc=example,dc=org
14
+ objectClass: groupofnames
15
+ cn: Engineering
16
+ description: Engineering
17
+ member: uid=enguser1,ou=People,ou=Global Groups,dc=example,dc=org
18
+ member: uid=enguser2,ou=People,ou=Global Groups,dc=example,dc=org
19
+ member: uid=enguser3,ou=People,ou=Global Groups,dc=example,dc=org
20
+
21
+ # 3. Security
22
+
23
+ dn: cn=Security,ou=Global Groups,dc=example,dc=org
24
+ objectClass: groupofnames
25
+ cn: Security
26
+ description: Security
27
+ member: uid=securityuser1,ou=People,ou=Global Groups,dc=example,dc=org
28
+ member: uid=securityuser2,ou=People,ou=Global Groups,dc=example,dc=org
29
+ member: uid=securityuser3,ou=People,ou=Global Groups,dc=example,dc=org
30
+
31
+ # 4. Admin
32
+
33
+ dn: cn=AdminGroup,ou=Global Groups,dc=example,dc=org
34
+ objectClass: groupofnames
35
+ cn: AdminGroup
36
+ description: Human Resources
37
+ member: uid=adminuser1,ou=People,ou=Global Groups,dc=example,dc=org
38
+ member: uid=adminuser2,ou=People,ou=Global Groups,dc=example,dc=org
39
+ member: uid=adminuser3,ou=People,ou=Global Groups,dc=example,dc=org
@@ -30,8 +30,8 @@ module Gitlab
30
30
  BASE_DN = 'dc=example,dc=org'.freeze
31
31
  BIND_DN = 'cn=admin,dc=example,dc=org'.freeze
32
32
  BOOTSTRAP_LDIF = '/container/service/slapd/assets/config/bootstrap/ldif/custom'.freeze
33
- GROUP_BASE = 'ou=groups,dc=example,dc=org'.freeze
34
- ADMIN_GROUP = 'admin'.freeze
33
+ GROUP_BASE = 'ou=Global Groups,dc=example,dc=org'.freeze
34
+ ADMIN_GROUP = 'AdminGroup'.freeze
35
35
  FIXTURE_PATH = File.expand_path('../../../../fixtures/ldap'.freeze, __dir__)
36
36
 
37
37
  attr_reader :docker
@@ -149,7 +149,7 @@ module Gitlab
149
149
  uid: 'uid'
150
150
  bind_dn: #{BIND_DN}
151
151
  password: #{ADMIN_PASSWORD}
152
- method: #{tls? ? 'simple_tls' : 'plain'}
152
+ encryption: #{tls? ? 'simple_tls' : 'plain'}
153
153
  verify_certificates: false
154
154
  base: #{BASE_DN}
155
155
  user_filter: ''
@@ -16,6 +16,8 @@ module Gitlab
16
16
  gitlab.omnibus_config = <<~OMNIBUS
17
17
  gitlab_rails['ldap_enabled'] = true;
18
18
  gitlab_rails['ldap_servers'] = #{ldap.to_config};
19
+ gitlab_rails['ldap_sync_worker_cron'] = '* * * * *';
20
+ gitlab_rails['ldap_group_sync_worker_cron'] = '* * * * *';
19
21
  OMNIBUS
20
22
  end
21
23
  end
@@ -19,6 +19,8 @@ module Gitlab
19
19
  gitlab_rails['ldap_servers'] = #{ldap.to_config};
20
20
  letsencrypt['enable'] = false;
21
21
  external_url '#{gitlab.address}';
22
+ gitlab_rails['ldap_sync_worker_cron'] = '* * * * *';
23
+ gitlab_rails['ldap_group_sync_worker_cron'] = '* * * * *';
22
24
  OMNIBUS
23
25
  end
24
26
  end
@@ -1,5 +1,5 @@
1
1
  module Gitlab
2
2
  module QA
3
- VERSION = '2.7.3'.freeze
3
+ VERSION = '2.8.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-qa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.3
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grzegorz Bizon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-02 00:00:00.000000000 Z
11
+ date: 2018-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -130,6 +130,7 @@ files:
130
130
  - Rakefile
131
131
  - bin/console
132
132
  - bin/expect_exit_code_and_text
133
+ - bin/notify_upstream_commit
133
134
  - bin/qa
134
135
  - bin/setup
135
136
  - docs/README.md
@@ -140,6 +141,9 @@ files:
140
141
  - docs/waits.md
141
142
  - docs/what_tests_can_be_run.md
142
143
  - exe/gitlab-qa
144
+ - fixtures/ldap/1_add_nodes.ldif
145
+ - fixtures/ldap/2_add_users.ldif
146
+ - fixtures/ldap/3_add_groups.ldif
143
147
  - fixtures/ldap/tanuki.ldif
144
148
  - gitlab-qa.gemspec
145
149
  - lib/gitlab/qa.rb