gitlab-qa 10.3.0 → 10.3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +7 -1
- data/Gemfile.lock +1 -1
- data/lib/gitlab/qa/support/gitlab_version_info.rb +28 -8
- data/lib/gitlab/qa/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfc87eff61f4ee1948666c002738047c9061df3f669c16b87a78887b68776f3c
|
4
|
+
data.tar.gz: 32514740f5d1cc8403d6b388c731048d85e5da441acaf687d7f8ddad72ad44a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29a26e723aac6ac6fad94630e0e5dfe1882aa7031474dcd20f781468105dfa77f6449430202f06875a400edbc71339c0eb4183303bd3cddd432105241ce1bafc
|
7
|
+
data.tar.gz: '08751aa4982005a4ac8b80998dd07ae31a4fb08c6a4539a20c09167ab382a7bed47a6c5b74478ed30bb6db05c91c2258e11d753774b4fe9d0d6b1c36ac592462'
|
data/.gitlab-ci.yml
CHANGED
@@ -34,7 +34,7 @@ workflow:
|
|
34
34
|
# For merge requests, create a pipeline.
|
35
35
|
- if: '$CI_MERGE_REQUEST_IID'
|
36
36
|
# For the default branch, create a pipeline (this includes on schedules, pushes, merges, etc.).
|
37
|
-
- if: '$
|
37
|
+
- if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable$/'
|
38
38
|
# For tags, create a pipeline.
|
39
39
|
- if: '$CI_COMMIT_TAG'
|
40
40
|
# When using Run pipeline button in the GitLab UI, from the project’s CI/CD > Pipelines section, create a pipeline.
|
@@ -46,6 +46,12 @@ variables:
|
|
46
46
|
BUNDLE_SILENCE_ROOT_WARNING: "true"
|
47
47
|
BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES: "true"
|
48
48
|
|
49
|
+
# Override rules to allow creating backport releases
|
50
|
+
.release-base:
|
51
|
+
rules:
|
52
|
+
- if: '$CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable$/)'
|
53
|
+
changes: ["lib/**/version.rb"]
|
54
|
+
|
49
55
|
package-and-test-env:
|
50
56
|
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/alpine:latest
|
51
57
|
stage: .pre
|
data/Gemfile.lock
CHANGED
@@ -47,6 +47,10 @@ module Gitlab
|
|
47
47
|
|
48
48
|
private
|
49
49
|
|
50
|
+
MAX_TAGS_HTTP_REQUESTS = 50
|
51
|
+
# https://docs.docker.com/docker-hub/api/latest/#tag/images/operation/GetNamespacesRepositoriesImages
|
52
|
+
TAGS_PER_PAGE = 100
|
53
|
+
|
50
54
|
attr_reader :current_version, :edition, :logger
|
51
55
|
|
52
56
|
# Current versions major version
|
@@ -155,28 +159,44 @@ module Gitlab
|
|
155
159
|
# All available docker tags
|
156
160
|
#
|
157
161
|
# @return [Array<String>]
|
158
|
-
# rubocop:disable Metrics/AbcSize
|
159
162
|
def tags
|
160
163
|
return @tags if defined?(@tags)
|
161
164
|
|
162
|
-
|
165
|
+
MAX_TAGS_HTTP_REQUESTS.times do |index|
|
166
|
+
tag_list, more_data = fetch_tags(page: index + 1)
|
167
|
+
|
168
|
+
if tag_list
|
169
|
+
@tags = Array(@tags)
|
170
|
+
@tags += tag_list
|
171
|
+
end
|
172
|
+
|
173
|
+
break if tag_list.nil? || more_data.nil?
|
174
|
+
end
|
175
|
+
|
176
|
+
@tags
|
177
|
+
end
|
178
|
+
|
179
|
+
def fetch_tags(page:, per_page: TAGS_PER_PAGE)
|
180
|
+
logger.info("Fetching Docker tags page #{page} from 'gitlab/gitlab-#{edition}' registry")
|
163
181
|
response = HttpRequest.make_http_request(
|
164
|
-
url: "https://registry.hub.docker.com/v2/namespaces/gitlab/repositories/gitlab-#{edition}/tags?page_size
|
182
|
+
url: "https://registry.hub.docker.com/v2/namespaces/gitlab/repositories/gitlab-#{edition}/tags?page=#{page}&page_size=#{per_page}",
|
165
183
|
fail_on_error: false
|
166
184
|
)
|
167
185
|
|
168
186
|
unless response.code == 200
|
169
187
|
logger.error(" failed to fetch docker tags - code: #{response.code}, response: '#{response.body}'")
|
170
|
-
return
|
188
|
+
return nil
|
171
189
|
end
|
172
190
|
|
173
|
-
|
174
|
-
|
191
|
+
response = JSON.parse(response.body, symbolize_names: true)
|
192
|
+
matching_tags = response
|
175
193
|
.fetch(:results)
|
176
194
|
.map { |tag| tag[:name] }
|
177
|
-
.
|
195
|
+
.grep(VERSION_PATTERN)
|
196
|
+
more_data = response.fetch(:next)
|
197
|
+
|
198
|
+
[matching_tags, more_data]
|
178
199
|
end
|
179
|
-
# rubocop:enable Metrics/AbcSize
|
180
200
|
end
|
181
201
|
end
|
182
202
|
end
|
data/lib/gitlab/qa/version.rb
CHANGED
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: 10.3.0
|
4
|
+
version: 10.3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitLab Quality
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|