Skip to content

Commit e97635e

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 6505e8e commit e97635e

File tree

23 files changed

+196
-46
lines changed

23 files changed

+196
-46
lines changed

GITALY_SERVER_VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9b1bb2480275c22dd2157e08a2ec2f7db835657b
1+
dfcd599808bc659ab4fdf0efaadb606e2fe95542

Gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ group :development, :test do
436436
end
437437

438438
group :development, :test, :danger do
439-
gem 'gitlab-dangerfiles', '~> 3.6.7', require: false
439+
gem 'gitlab-dangerfiles', '~> 3.7.0', require: false
440440
end
441441

442442
group :development, :test, :coverage do

Gemfile.checksum

+1-1
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
{"name":"gitaly","version":"15.9.0.pre.rc3","platform":"ruby","checksum":"6ac64320a70417131a4b97f5dd45d4e203d60703cc3cba156561e7f8c50a4abe"},
201201
{"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"},
202202
{"name":"gitlab-chronic","version":"0.10.5","platform":"ruby","checksum":"f80f18dc699b708870a80685243331290bc10cfeedb6b99c92219722f729c875"},
203-
{"name":"gitlab-dangerfiles","version":"3.6.7","platform":"ruby","checksum":"ebd898ec0e8ed3edea281b2f703000c502c6b412cbcadc1265ddbc31ffb0c579"},
203+
{"name":"gitlab-dangerfiles","version":"3.7.0","platform":"ruby","checksum":"35c5bc42e60c575ab5701192ca2384ab414b14c2963602b39e143b1aaeb7e54d"},
204204
{"name":"gitlab-experiment","version":"0.7.1","platform":"ruby","checksum":"166dddb3aa83428bcaa93c35684ed01dc4d61f321fd2ae40b020806dc54a7824"},
205205
{"name":"gitlab-fog-azure-rm","version":"1.4.0","platform":"ruby","checksum":"af4163c32b028aa5208814a3f4765a5817d50527e6c61931f766bf18a2e0eb7e"},
206206
{"name":"gitlab-labkit","version":"0.30.1","platform":"ruby","checksum":"bdedbd86014c83dfd6a50d20dbc1709697bba2bb9e3666383e5f28cbd312b113"},

Gemfile.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ GEM
570570
terminal-table (>= 1.5.1)
571571
gitlab-chronic (0.10.5)
572572
numerizer (~> 0.2)
573-
gitlab-dangerfiles (3.6.7)
573+
gitlab-dangerfiles (3.7.0)
574574
danger (>= 8.4.5)
575575
danger-gitlab (>= 8.0.0)
576576
rake
@@ -1676,7 +1676,7 @@ DEPENDENCIES
16761676
gettext_i18n_rails_js (~> 1.3)
16771677
gitaly (~> 15.9.0.pre.rc3)
16781678
gitlab-chronic (~> 0.10.5)
1679-
gitlab-dangerfiles (~> 3.6.7)
1679+
gitlab-dangerfiles (~> 3.7.0)
16801680
gitlab-experiment (~> 0.7.1)
16811681
gitlab-fog-azure-rm (~> 1.4.0)
16821682
gitlab-labkit (~> 0.30.1)

app/graphql/mutations/achievements/create.rb

-4
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ class Create < BaseMutation
2828
required: false,
2929
description: 'Description of or notes for the achievement.'
3030

31-
argument :revokeable, GraphQL::Types::Boolean,
32-
required: true,
33-
description: 'Revokeability for the achievement.'
34-
3531
authorize :admin_achievement
3632

3733
def resolve(args)

app/graphql/types/achievements/achievement_type.rb

-5
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@ class AchievementType < BaseObject
3232
null: true,
3333
description: 'Description or notes for the achievement.'
3434

35-
field :revokeable,
36-
GraphQL::Types::Boolean,
37-
null: false,
38-
description: 'Revokeability of the achievement.'
39-
4035
field :created_at,
4136
Types::TimeType,
4237
null: false,

app/models/achievements/achievement.rb

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ module Achievements
44
class Achievement < ApplicationRecord
55
include Avatarable
66
include StripAttribute
7+
include IgnorableColumns
8+
9+
ignore_column :revokable, remove_with: '15.11', remove_after: '2023-04-22'
710

811
belongs_to :namespace, inverse_of: :achievements, optional: false
912

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#
2+
# REQUIRED FIELDS
3+
#
4+
- title: "Secure analyzers major version update" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters."
5+
announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated.
6+
removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
7+
breaking_change: true # (required) Change to false if this is not a breaking change.
8+
reporter: gonzoyumo # (required) GitLab username of the person reporting the change
9+
stage: secure # (required) String value of the stage that the feature was created in. e.g., Growth
10+
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390912 # (required) Link to the deprecation issue in GitLab
11+
body: | # Do not modify this line, instead modify the lines below.
12+
The Secure stage will be bumping the major versions of its analyzers in tandem with the GitLab 16.0 release. This bump will enable a clear delineation for analyzers, between:
13+
14+
- Those released prior to May 22, 2023
15+
- Those released after May 22, 2023
16+
17+
If you are not using the default included templates, or have pinned your analyzer versions you will need to update your CI/CD job definition to either remove the pinned version or to update the latest major version.
18+
Users of GitLab 13.0-15.10 will continue to experience analyzer updates as normal until the release of GitLab 16.0, following which all newly fixed bugs and released features will be released only in the new major version of the analyzers. We do not backport bugs and features to deprecated versions as per our [maintenance policy](https://docs.gitlab.com/ee/policy/maintenance.html). As required, security patches will be backported within the latest 3 minor releases.
19+
Specifically, the following are being deprecated and will no longer be updated after 16.0 GitLab release:
20+
21+
- API Fuzzing: version 2
22+
- Container Scanning: version 5
23+
- Coverage-guided fuzz testing: version 3
24+
- Dependency Scanning: version 3
25+
- Dynamic Application Security Testing (DAST): version 3
26+
- DAST API: version 2
27+
- IaC Scanning: version 3
28+
- License Scanning: version 4
29+
- Secret Detection: version 4
30+
- Static Application Security Testing (SAST): version 3 of [all analyzers](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks)
31+
- `brakeman`: version 3
32+
- `flawfinder`: version 3
33+
- `kubesec`: version 3
34+
- `mobsf`: version 3
35+
- `nodejs-scan`: version 3
36+
- `phpcs-security-audit`: version 3
37+
- `pmd-apex`: version 3
38+
- `security-code-scan`: version 3
39+
- `semgrep`: version 3
40+
- `sobelow`: version 3
41+
- `spotbugs`: version 3
42+
#
43+
# OPTIONAL END OF SUPPORT FIELDS
44+
#
45+
# If an End of Support period applies, the announcement should be shared with GitLab Support
46+
# in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR.
47+
#
48+
end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
49+
#
50+
# OTHER OPTIONAL FIELDS
51+
#
52+
tiers: [Free, Silver, Gold, Core, Premium, Ultimate] # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
53+
documentation_url: # (optional) This is a link to the current documentation page
54+
image_url: # (optional) This is a link to a thumbnail image depicting the feature
55+
video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
- title: "Legacy URLs replaced or removed"
2+
announcement_milestone: "15.9"
3+
removal_milestone: "16.0"
4+
breaking_change: true
5+
reporter: tlinz
6+
stage: Create
7+
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/214217
8+
body: | # (required) Do not modify this line, instead modify the lines below.
9+
GitLab 16.0 removes legacy URLs from the GitLab application.
10+
11+
When subgroups were introduced in GitLab 9.0, a `/-/` delimiter was added to URLs to signify the end of a group path. All GitLab URLs now use this delimiter for project, group, and instance level features.
12+
13+
URLs that do not use the `/-/` delimiter are planned for removal in GitLab 16.0. For the full list of these URLs, along with their replacements, see [issue 28848](https://gitlab.com/gitlab-org/gitlab/-/issues/28848#release-notes).
14+
15+
Update any scripts or bookmarks that reference the legacy URLs. GitLab APIs are not affected by this change.
16+
17+
#
18+
# OPTIONAL END OF SUPPORT FIELDS
19+
#
20+
# If an End of Support period applies, the announcement should be shared with GitLab Support
21+
# in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR.
22+
#
23+
end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
24+
#
25+
# OTHER OPTIONAL FIELDS
26+
#
27+
tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
28+
documentation_url: # (optional) This is a link to the current documentation page
29+
image_url: # (optional) This is a link to a thumbnail image depicting the feature
30+
video_url:

doc/api/graphql/reference/index.md

-2
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,6 @@ Input type: `AchievementsCreateInput`
742742
| <a id="mutationachievementscreatedescription"></a>`description` | [`String`](#string) | Description of or notes for the achievement. |
743743
| <a id="mutationachievementscreatename"></a>`name` | [`String!`](#string) | Name for the achievement. |
744744
| <a id="mutationachievementscreatenamespaceid"></a>`namespaceId` | [`NamespaceID!`](#namespaceid) | Namespace for the achievement. |
745-
| <a id="mutationachievementscreaterevokeable"></a>`revokeable` | [`Boolean!`](#boolean) | Revokeability for the achievement. |
746745

747746
#### Fields
748747

@@ -10507,7 +10506,6 @@ Representation of a GitLab user.
1050710506
| <a id="achievementid"></a>`id` | [`AchievementsAchievementID!`](#achievementsachievementid) | ID of the achievement. |
1050810507
| <a id="achievementname"></a>`name` | [`String!`](#string) | Name of the achievement. |
1050910508
| <a id="achievementnamespace"></a>`namespace` | [`Namespace!`](#namespace) | Namespace of the achievement. |
10510-
| <a id="achievementrevokeable"></a>`revokeable` | [`Boolean!`](#boolean) | Revokeability of the achievement. |
1051110509
| <a id="achievementupdatedat"></a>`updatedAt` | [`Time!`](#time) | Timestamp the achievement was last updated. |
1051210510

1051310511
### `AgentConfiguration`

doc/api/projects.md

+1
Original file line numberDiff line numberDiff line change
@@ -2606,6 +2606,7 @@ POST /projects/:id/housekeeping
26062606
| Attribute | Type | Required | Description |
26072607
|-----------|----------------|------------------------|-------------|
26082608
| `id` | integer or string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding). |
2609+
| `task` | string | **{dotted-circle}** No | `prune` to trigger manual prune of unreachable objects or `eager` to trigger eager housekeeping. |
26092610

26102611
## Push rules **(PREMIUM)**
26112612

doc/development/contributing/merge_request_workflow.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ Commit messages should follow the guidelines below, for reasons explained by Chr
132132
- The commit subject or body must not contain Emojis.
133133
- Commits that change 30 or more lines across at least 3 files should
134134
describe these changes in the commit body.
135-
- Use issues and merge requests' full URLs instead of short references,
135+
- Use issues, milestones, and merge requests' full URLs instead of short references,
136136
as they are displayed as plain text outside of GitLab.
137137
- The merge request should not contain more than 10 commit messages.
138138
- The commit subject should contain at least 3 words.

doc/update/deprecations.md

+63
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,26 @@ To be prepared for this change, you should do the following before GitLab 16.0:
254254

255255
</div>
256256

257+
<div class="deprecation removal-160 breaking-change">
258+
259+
### Legacy URLs replaced or removed
260+
261+
Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span>
262+
263+
WARNING:
264+
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
265+
Review the details carefully before upgrading.
266+
267+
GitLab 16.0 removes legacy URLs from the GitLab application.
268+
269+
When subgroups were introduced in GitLab 9.0, a `/-/` delimiter was added to URLs to signify the end of a group path. All GitLab URLs now use this delimiter for project, group, and instance level features.
270+
271+
URLs that do not use the `/-/` delimiter are planned for removal in GitLab 16.0. For the full list of these URLs, along with their replacements, see [issue 28848](https://gitlab.com/gitlab-org/gitlab/-/issues/28848#release-notes).
272+
273+
Update any scripts or bookmarks that reference the legacy URLs. GitLab APIs are not affected by this change.
274+
275+
</div>
276+
257277
<div class="deprecation removal-170 breaking-change">
258278

259279
### Load Performance Testing is deprecated
@@ -322,6 +342,49 @@ that is available now. We recommend this alternative solution because it provide
322342

323343
</div>
324344

345+
<div class="deprecation removal-160 breaking-change">
346+
347+
### Secure analyzers major version update
348+
349+
Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span>
350+
351+
WARNING:
352+
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
353+
Review the details carefully before upgrading.
354+
355+
The Secure stage will be bumping the major versions of its analyzers in tandem with the GitLab 16.0 release. This bump will enable a clear delineation for analyzers, between:
356+
357+
- Those released prior to May 22, 2023
358+
- Those released after May 22, 2023
359+
360+
If you are not using the default included templates, or have pinned your analyzer versions you will need to update your CI/CD job definition to either remove the pinned version or to update the latest major version.
361+
Users of GitLab 13.0-15.10 will continue to experience analyzer updates as normal until the release of GitLab 16.0, following which all newly fixed bugs and released features will be released only in the new major version of the analyzers. We do not backport bugs and features to deprecated versions as per our [maintenance policy](https://docs.gitlab.com/ee/policy/maintenance.html). As required, security patches will be backported within the latest 3 minor releases.
362+
Specifically, the following are being deprecated and will no longer be updated after 16.0 GitLab release:
363+
364+
- API Fuzzing: version 2
365+
- Container Scanning: version 5
366+
- Coverage-guided fuzz testing: version 3
367+
- Dependency Scanning: version 3
368+
- Dynamic Application Security Testing (DAST): version 3
369+
- DAST API: version 2
370+
- IaC Scanning: version 3
371+
- License Scanning: version 4
372+
- Secret Detection: version 4
373+
- Static Application Security Testing (SAST): version 3 of [all analyzers](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks)
374+
- `brakeman`: version 3
375+
- `flawfinder`: version 3
376+
- `kubesec`: version 3
377+
- `mobsf`: version 3
378+
- `nodejs-scan`: version 3
379+
- `phpcs-security-audit`: version 3
380+
- `pmd-apex`: version 3
381+
- `security-code-scan`: version 3
382+
- `semgrep`: version 3
383+
- `sobelow`: version 3
384+
- `spotbugs`: version 3
385+
386+
</div>
387+
325388
<div class="deprecation removal-170 breaking-change">
326389

327390
### Single database connection is deprecated

lib/api/projects.rb

+4-1
Original file line numberDiff line numberDiff line change
@@ -868,11 +868,14 @@ def add_import_params(params)
868868
]
869869
tags %w[projects]
870870
end
871+
params do
872+
optional :task, type: Symbol, default: :eager, values: %i[eager prune], desc: '`prune` to trigger manual prune of unreachable objects or `eager` to trigger eager housekeeping.'
873+
end
871874
post ':id/housekeeping', feature_category: :source_code_management do
872875
authorize_admin_project
873876

874877
begin
875-
::Repositories::HousekeepingService.new(user_project, :eager).execute
878+
::Repositories::HousekeepingService.new(user_project, params[:task]).execute
876879
rescue ::Repositories::HousekeepingService::LeaseTaken => error
877880
conflict!(error.message)
878881
end

spec/bin/feature_flag_spec.rb

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# frozen_string_literal: true
22

3-
require 'fast_spec_helper'
4-
require 'rspec-parameterized'
3+
require 'spec_helper'
54

65
load File.expand_path('../../bin/feature-flag', __dir__)
76

8-
RSpec.describe 'bin/feature-flag' do
7+
RSpec.describe 'bin/feature-flag', feature_category: :feature_flags do
98
using RSpec::Parameterized::TableSyntax
109

1110
describe FeatureFlagCreator do

spec/graphql/types/achievements/achievement_type_spec.rb

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
name
1313
avatar_url
1414
description
15-
revokeable
1615
created_at
1716
updated_at
1817
]

spec/lib/gitlab/ci/build/rules/rule/clause/if_spec.rb

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# frozen_string_literal: true
22

3-
require 'fast_spec_helper'
4-
require 'support/helpers/stubbed_feature'
5-
require 'support/helpers/stub_feature_flags'
3+
require 'spec_helper'
64

7-
RSpec.describe Gitlab::Ci::Build::Rules::Rule::Clause::If do
5+
RSpec.describe Gitlab::Ci::Build::Rules::Rule::Clause::If, feature_category: :continuous_integration do
86
include StubFeatureFlags
97

108
subject(:if_clause) { described_class.new(expression) }

spec/lib/gitlab/ci/pipeline/expression/lexeme/matches_spec.rb

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
# frozen_string_literal: true
22

3-
require 'fast_spec_helper'
4-
require 'support/helpers/stubbed_feature'
5-
require 'support/helpers/stub_feature_flags'
6-
require_dependency 're2'
3+
require 'spec_helper'
74

8-
RSpec.describe Gitlab::Ci::Pipeline::Expression::Lexeme::Matches do
5+
RSpec.describe Gitlab::Ci::Pipeline::Expression::Lexeme::Matches, feature_category: :continuous_integration do
96
include StubFeatureFlags
107

118
let(:left) { double('left') }

spec/lib/gitlab/ci/pipeline/expression/lexeme/not_matches_spec.rb

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
# frozen_string_literal: true
22

3-
require 'fast_spec_helper'
4-
require 'support/helpers/stubbed_feature'
5-
require 'support/helpers/stub_feature_flags'
6-
require_dependency 're2'
3+
require 'spec_helper'
74

8-
RSpec.describe Gitlab::Ci::Pipeline::Expression::Lexeme::NotMatches do
5+
RSpec.describe Gitlab::Ci::Pipeline::Expression::Lexeme::NotMatches, feature_category: :continuous_integration do
96
include StubFeatureFlags
107

118
let(:left) { double('left') }

spec/requests/api/graphql/mutations/achievements/create_spec.rb

+2-5
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@
1313
let(:mutation) { graphql_mutation(:achievements_create, params) }
1414
let(:name) { 'Name' }
1515
let(:description) { 'Description' }
16-
let(:revokeable) { false }
1716
let(:avatar) { fixture_file_upload("spec/fixtures/dk.png") }
1817
let(:params) do
1918
{
2019
namespace_id: group.to_global_id,
2120
name: name,
2221
avatar: avatar,
23-
description: description,
24-
revokeable: revokeable
22+
description: description
2523
}
2624
end
2725

@@ -70,8 +68,7 @@ def mutation_response
7068
expect(graphql_data_at(:achievements_create, :achievement)).to match a_hash_including(
7169
'name' => name,
7270
'namespace' => a_hash_including('id' => group.to_global_id.to_s),
73-
'description' => description,
74-
'revokeable' => revokeable
71+
'description' => description
7572
)
7673
end
7774
end

0 commit comments

Comments
 (0)