gitlab-qa 10.3.0 → 10.3.0.1
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 +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
|