gitlab-qa 14.11.0 → 14.12.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: 0f1cb43d060925e3dd20830d8412563a94fca6fb8ad0636de7da5176b984c4e5
4
- data.tar.gz: c6096e3712816f0c5667208d219f7e25ce125a869dc4c8b689e89e7c8c85242e
3
+ metadata.gz: bd465ad052ddf27bfec3d32c3223690dc815b71b805443619f01ee2f59a5e598
4
+ data.tar.gz: a8624cdb6d986a4db3cb951202e4050906023986e83a5876c30806db0ee4be30
5
5
  SHA512:
6
- metadata.gz: 526945385fb2c815c5cc5b7d17b7327523f099f0f08d123185041cde9142231664c62d253b96ae5262dc9519420cf79aa924750313e07af2c822c1bae528509d
7
- data.tar.gz: 2782d95be4f96c1a67a1696b96bb0e8cdaa84fc0a273ac671c39925615b884c6f7e2645df4a3e95d5e74b812e82ad00af0a0a741bf4d144536764fa1d5b16a60
6
+ metadata.gz: 5e4e1b15180da4d39924afaa31e26ddd7e95b89c69a05f5602ccdc762428091754d97181791824c9c184a3d862bbdb17e0fd7a6579703d5ef5421c96d190bfbc
7
+ data.tar.gz: 63ff9aa5f91a6be51968f96322ff607d3769b4b269e71ac7c37712e8526cd8f414b1e25035523d64512819f0ab1cfb8dc1421a14fafcc9373b27853e79ade60d
data/.gitlab-ci.yml CHANGED
@@ -8,9 +8,10 @@
8
8
  - vendor/ruby
9
9
 
10
10
  include:
11
- - component: gitlab.com/gitlab-org/components/danger-review/danger-review@~latest
11
+ - component: ${CI_SERVER_FQDN}/gitlab-org/components/danger-review/danger-review@1.4.0
12
12
  inputs:
13
13
  job_image: "${CI_REGISTRY}/gitlab-org/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}"
14
+ job_stage: "check"
14
15
  - component: gitlab.com/gitlab-org/components/gem-release/gem-release@~latest
15
16
 
16
17
  stages:
@@ -98,7 +99,6 @@ cache-gems:
98
99
  - Gemfile.lock
99
100
 
100
101
  danger-review:
101
- stage: check
102
102
  needs:
103
103
  - job: cache-gems
104
104
  optional: true
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-qa (14.11.0)
4
+ gitlab-qa (14.12.0)
5
5
  activesupport (>= 6.1, < 7.2)
6
6
  gitlab (~> 4.19)
7
7
  http (~> 5.0)
@@ -86,7 +86,7 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
86
86
  | `QA_INFLUXDB_TOKEN` |- | InfluxDB token for test metrics reporting | No|
87
87
  | `QA_RUN_TYPE` |- | QA run type like `staging-full`, `canary`, `production` etc. Used in test metrics reporting | No|
88
88
  | `QA_VALIDATE_RESOURCE_REUSE` | `false` | Set to `true` to [validate resource reuse](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/resources.html#reusable-resources) after a test suite | No |
89
- | `QA_USE_PUBLIC_IP_API` | `false` | When performing Instance tests against a remote/pre-existing instance, use an API to detect the public API for requests coming from gitlab-qa. Used by tests that exercise IP-address restrictions and similar
89
+ | `QA_USE_PUBLIC_IP_API` | `false` | When performing Instance tests against a remote/pre-existing instance, use an API to detect the public API for requests coming from gitlab-qa. Used by tests that exercise IP-address restrictions and similar | No |
90
90
  | `QA_GITHUB_USERNAME` |- | Username for authenticating with GitHub. | No|
91
91
  | `QA_GITHUB_PASSWORD` |- | Password for authenticating with GitHub. | No|
92
92
  | `GITLAB_QA_LOOP_RUNNER_MINUTES` | `1` | Minutes to run and repeat a spec while using the '--loop' option; default value is 1 minute. | No|
@@ -8,6 +8,74 @@ module Gitlab
8
8
  DOCKER_IMAGE_TAG = 'latest'
9
9
  LOG_DIR = '/var/log'
10
10
 
11
+ # Test signing key to enable direct connection code completions
12
+ # https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/blob/97f54f4b7e43258a39bba7f29f38fe44bd316ce5/example.env#L79
13
+ TEST_SIGNING_KEY =
14
+ <<~SIGNING_KEY
15
+ -----BEGIN PRIVATE KEY-----
16
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQD35X6SQq7VuIV8
17
+ jRNta9yfQJzVLqfYOFwSqismmvR1/2y/pO7HWsXo1HhkQdzF7U1zJLh8b0PiSkDE
18
+ dpUzkt5b4mPIit7khx7/wMi+t+gi1dpP+gTXxqOB8A/UzvQxBEKhizoGw/hG7vzT
19
+ MYqJRO1xHCYsMNU2TfWuoGR/7RXIidXzXmEShZ6bFeEWqupV7D0X6n8WVMd+NrZZ
20
+ lCNP0O67kCZGpABHcQ/uDUcRhyHYFkGHoSwp7KS2416PXMiRs01VRUG7fnOkgo4C
21
+ zyPWfuzSMjkKPm9gr9P0qYGsNrOBmV0guyLg4JWcVhDvkuh32r/kHrwxwUDYSLyI
22
+ GfAKKmZDAgMBAAECggEAKLfCEdVw0PCywayNKQdIgRf51W0JFhOGfBewvXHs/ty/
23
+ nhLsmEN+sn8DxLlUwWX4YhYBVN8UcBJGOn7yhDrML0eA9asUcBu0VHSer0TslPGP
24
+ dFzazXPL3kdHh8BJN9aSozoyg8ijT/NoBRXkGCasNvdVWyOCQfM4NutoK+MOFZbL
25
+ krtGPWfjTPByaZnV1PDJq95wz6LQeSdNwZLABE4YIrBxg0V1zu1gb0paltHZjPaM
26
+ 68rm6Hp78CqI/5v9/RqQaso8aYVdjBaEkEI40CgKZY8Jm04NE4EcQM4Z4IYFc8I/
27
+ Ewj0giQIkZrGuucOA9S8TNqDjerv+8NoLMRCRcTk8QKBgQD9nHZGdW+2+IjShTal
28
+ EzjHH37APQKXYi0R9IESdzRnkUrL/8Rnxe5f7VxmDXJys0+IGo+8JoqGRUWJD8WZ
29
+ oBNW8oqJ4OH/dH07v2W0a0L0Z0Fcq6lv6tFcq1inSLPlk6EW3h4vTlrknuQ6QaKq
30
+ 74SksBB4dCGDLlOaL8jldg9YVwKBgQD6O0CciiL3xVdnx4cGHDEjs9UU10z0EeVs
31
+ 0gNxdAdkQEdgj9wI1yzNywFXtI+UA26j7207vYcU0hQ029roJN5ogTOkcCuf9WPQ
32
+ RV/+BQhiEJGYmZF8KlWiCB1HTxvc3p04EmIsp1N6yuqoE0jUFIS3A4GYYHPDZwDa
33
+ G8Y+W68d9QKBgQC7aFxqcqusDPqmfrRDxfGGC7sRecQpc+4UP5cFuzrpcY9RMl7D
34
+ xJsDHhbSfwtcwS57SA2BHwXsdNIOl64QeR7xeGdxvdGjgURt22DfsweWLZs6TMv3
35
+ nRE7Jo9rhqkRdEds65RopsE6AkRq3EfFgxuEy2pQaJi/JIO5A6i0D8sFHwKBgQCI
36
+ rtDuMO5E1QCXaX+xsLiOve5IggpAz324YUcMM8rN0earMimIkrCggKDtHW3H9c/7
37
+ sA7EsRQWJWJwNR9v6qOqBdkFm1fY+htZamuyv2EC3/YHmurDHgTEixYjG20mylqq
38
+ hDAoIAYTbr+aq13+qm6L4VhquVTCiYMHoGA7M62F+QKBgQCfTv5XVu+bEEBKyTkf
39
+ oVWjaLbO99zrgRYmZ9zhiRtlYFKefQ4kKxr+SRcia2dxQiNVPh5qUkX6ukvgCEVl
40
+ GoFTlopsX/CbilNarkwa/nvgQQeZAlrFpONifrtfZffV2Cs6wcwYAL8W5qFtl6iy
41
+ ZpLGJZdEWAPTxB6ppnDC75/KOg==
42
+ -----END PRIVATE KEY-----
43
+ SIGNING_KEY
44
+
45
+ # Test validation key to enable direct connection code completions
46
+ # https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/blob/97f54f4b7e43258a39bba7f29f38fe44bd316ce5/example.env#L79
47
+ TEST_VALIDATION_KEY =
48
+ <<~VALIDATION_KEY
49
+ -----BEGIN PRIVATE KEY-----
50
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOAJNEB8EoyCAk
51
+ acSevXg5md0/JJGxBrHpIHqDuSf5FEENU0eGCc3PLZh5IjFcijGThMy0r/OMQn/n
52
+ /KAVCLlyPBaLEGsxqXJcW2CmNM24A3zyR4b7ghB+POKJY9lD2JoUWe57+B0IgZuz
53
+ PQbwRvuO7ULsw4xgGoLcoiscYMzKEWuFKDrteim+2vjCif5DDohKZQc3Ic8dwOtL
54
+ 2C6+dV2TdyK0JPD7Kc1ONnH3S/VWJ8W5DDO1q5MrwJ+CQMaofHRqpbZrc66i5v2y
55
+ 6/ooB0W14D1Qy4GmMIkLnkdP9UcYRHL7cVDv0D+bHs0xIyTXgbZaL78VFUyqeq23
56
+ qR4opOmFAgMBAAECggEABiJ5lZFkN4ew1VoaUzPclwfgUSy7SKSkuwbkPx9OHm/I
57
+ +XxHvqkfaj0MXlxzUIiDrhtKpqgwE4w4wjrWtZRQmXif9JI6RFIB0thHH4v7rbAv
58
+ kgjT7zzSAEBl6qYrkTFWcqa0Sxgkx90RkEaP+gB90KV7fxDaZv5DHrjsRGhpkNbi
59
+ 8qtJOrvY6we6nx/YaD3iK69qQk6ktRg1AYUDH3xjBIIzo6brqlL2NJ+Q4VerrHFU
60
+ 2EhTXto+4Y51Qjpas5B7DHmEhghZtYsMceuqFNvDQgGg1IsBPB4icTIREzHJ0rj3
61
+ Xgh5DMJGYb0p7Ktm74jciTdFIHeDMUCLoxxSPTZavQKBgQDs1njL0VR1hZKiGihO
62
+ fP0L3BwNL0H6uqKOlPP+DwdnNv7Q99xMKe9qcGWeiFXrLDkVMkd0M2LfU4SH5XUO
63
+ mt0YSC7Fn/pwozbk61k9+oEnL9cwDpwFwr46ccY6hmp3iihLTrgDuAi0CMSurZrC
64
+ mnqOOAxuSq6D7a/yhNKdEvckqwKBgQDeq2tIXlWVPXBY6CgIhUakq0oqHn35lhx4
65
+ CJuc1cujm1C68/UiZvxRK1LLAcFlDLl7+lnCSKnNn6fwK+jCsEsGT8ZuCJ2FznGH
66
+ wN6B3qrgEsB+FgC6qLir/o83E8I0tSOITaWHHvIc/l1PuXHJbwfCd2yB1sdeshID
67
+ x9o38/pKjwKBgH1YQRQ11IpiSCnMyDpKAi7Nrnb35OaK8k+d28hBMfzZaWE1XP1e
68
+ UFy34cBWjYpqnEdwlcqVC6YAcKrvsNUq9wrL4R0svwHwD7R2LoQT2VjhA/VmNgMC
69
+ f2U1I+GDlENx9kNtBQzK0Khf36BHNxn5YhV06ndQxS4DlNQ4obMJ/40DAoGBAIWm
70
+ DfaZ6HRzNAOpFJ5IoGYmCZXOR36PAvdo8z3ndRr2FjagRvonJjrx7fe7TgEA6jPn
71
+ yAg85O5ubbZSJJr2hZF8QHW65hFyH+KDeQoqRBXKK4+CVV2z92QEnqFIUsCgGHuv
72
+ XzMC9/8/DXLUs99brSSj2ZT0/SVxbC6ovennnssxAoGALtm2AUBMgsU6b9B+Fp2L
73
+ ZBQSwkyd3bOD7sFJHhbmiRE/ag2lsaE+dNg9H42fhOV0MXfPkEBWCIaGt931T5+q
74
+ FVATlTTDAx2CRmJCOyXkQ6mGBFTkQPqDwmWvwjbK9B5r0SnGfCpk4uEYWoYYsX05
75
+ t14Huwf9VVUTCfEi0+wWcko=
76
+ -----END PRIVATE KEY-----
77
+ VALIDATION_KEY
78
+
11
79
  def name
12
80
  @name ||= 'ai-gateway'
13
81
  end
@@ -26,7 +94,9 @@ module Gitlab
26
94
  'AIGW_CUSTOMER_PORTAL_URL' => Runtime::Env.customer_portal_url,
27
95
  'AIGW_MOCK_MODEL_RESPONSES' => true,
28
96
  'AIGW_LOGGING__LEVEL' => 'debug',
29
- 'AIGW_LOGGING__TO_FILE' => "..#{LOG_DIR}/modelgateway_debug.log"
97
+ 'AIGW_LOGGING__TO_FILE' => "..#{LOG_DIR}/modelgateway_debug.log",
98
+ 'AIGW_SELF_SIGNED_JWT__SIGNING_KEY' => TEST_SIGNING_KEY,
99
+ 'AIGW_SELF_SIGNED_JWT__VALIDATION_KEY' => TEST_VALIDATION_KEY
30
100
  }
31
101
  end
32
102
  end
@@ -154,6 +154,7 @@ module Gitlab
154
154
 
155
155
  docker.run(image: image, tag: tag) do |command|
156
156
  command << "-d"
157
+ command << "--shm-size 256m"
157
158
  command << "--name #{name}"
158
159
  command << "--net #{network}"
159
160
  command << "--hostname #{hostname}"
@@ -9,7 +9,7 @@ module Gitlab
9
9
  using Rainbow
10
10
 
11
11
  # Test update from N - 1 (major|minor|patch) version to current release
12
- # Run smoke test suite on previous release to populate some data in database before update
12
+ # Run health check (or smoke if below 17.1.0) test suite on previous release to populate some data in database before update
13
13
  #
14
14
  # @example
15
15
  # perform(gitlab-ee:dev-tag, 15.3.0-pre, major)
@@ -24,6 +24,7 @@ module Gitlab
24
24
  def perform(release, current_version, semver_component, from_edition = nil, *rspec_args)
25
25
  # When from_edition isn't actually passed but RSpec args arg passed with `-- rspec_args...`,
26
26
  # from_edition is wrongly set to `--`, so we fix that here.
27
+
27
28
  if from_edition == "--"
28
29
  rspec_args.prepend('--')
29
30
  from_edition = nil
@@ -46,15 +47,31 @@ module Gitlab
46
47
 
47
48
  attr_reader :current_release, :upgrade_path
48
49
 
50
+ # Extract version number from a string, for example: "gitlab/gitlab-ee:15.11.13-ee.0"
51
+ #
52
+ # @param [String] version_string version string to extract from
53
+ # @return [String] extracted version number
54
+ def extract_version(version_string)
55
+ QA::Release.new(version_string).tag.split('-').first
56
+ end
57
+
49
58
  # Perform update
50
59
  #
51
60
  # @param [Array] rspec_args
52
61
  # @return [void]
62
+ # rubocop:disable Metrics/AbcSize
53
63
  def update(rspec_args)
54
64
  Docker::Volumes.new.with_temporary_volumes do |volumes|
65
+ first_release_version = extract_version(upgrade_path.first.release)
66
+ seeding_suite_args = if Gem::Version.new(first_release_version) < Gem::Version.new("17.1.0")
67
+ ["--", "--tag", "smoke"]
68
+ else
69
+ ["--", "--tag", "health_check"]
70
+ end
71
+
55
72
  # deploy first release in upgrade path and run specs to populate db
56
73
  Runtime::Logger.info("Running the first release in upgrade path: #{upgrade_path.first}")
57
- run_gitlab(upgrade_path.first, volumes, ["--", "--tag", "smoke"])
74
+ run_gitlab(upgrade_path.first, volumes, seeding_suite_args)
58
75
 
59
76
  # deploy releases in upgrade path
60
77
  upgrade_path[1..].each do |release|
@@ -67,6 +84,7 @@ module Gitlab
67
84
  run_gitlab(current_release, volumes, rspec_args, skip_setup: true)
68
85
  end
69
86
  end
87
+ # rubocop:enable Metrics/AbcSize
70
88
 
71
89
  # Deploy gitlab instance and optionally run specs
72
90
  #
@@ -100,8 +118,8 @@ module Gitlab
100
118
  # @param [Array] rspec_args
101
119
  # @return [void]
102
120
  def run_specs(gitlab, release, rspec_args) # rubocop:disable Metrics/AbcSize
103
- Runtime::Logger.info("Running smoke test to verify update and seed data in environment") unless upgrade_path.first != release
104
- Runtime::Logger.info("Running smoke test to verify update") unless current_release != release
121
+ Runtime::Logger.info("Running test suite to verify update and seed data in environment") unless upgrade_path.first != release
122
+ Runtime::Logger.info("Running test suite to verify update") unless current_release != release
105
123
 
106
124
  Component::Specs.perform do |specs|
107
125
  specs.release = release
@@ -119,11 +137,11 @@ module Gitlab
119
137
  end
120
138
  rescue Support::ShellCommand::StatusError => e
121
139
  if release == current_release # only fail on current release
122
- Runtime::Logger.error("Failed to run test suite after final upgrade to release '#{release}'")
140
+ Runtime::Logger.error("Failed to run health check after final upgrade to release '#{release}'")
123
141
  raise e
124
142
  end
125
143
 
126
- Runtime::Logger.warn("Test run for release '#{gitlab.release}' finished with errors!")
144
+ Runtime::Logger.warn("Health check verification for release '#{gitlab.release}' finished with errors!")
127
145
  end
128
146
 
129
147
  # Run specs on first release to populate database and release being tested
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module QA
5
- VERSION = '14.11.0'
5
+ VERSION = '14.12.0'
6
6
  end
7
7
  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: 14.11.0
4
+ version: 14.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-25 00:00:00.000000000 Z
11
+ date: 2024-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control