Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-11-03 18:10:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-11-03 18:10:09 +0300
commitc2d0d27f7f36aa1ed10870fec6ff53ba6d89e3e4 (patch)
treefcba85600df8569fad605308842b90be464677e3
parentb4c39709e346f437a85829f985f6596cb6209d35 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.rubocop_todo/rspec/feature_category.yml1
-rw-r--r--app/helpers/graph_helper.rb6
-rw-r--r--app/models/network/graph.rb20
-rw-r--r--app/views/shared/wikis/show.html.haml3
-rw-r--r--config/feature_flags/development/print_wiki.yml8
-rw-r--r--config/feature_flags/experiment/disable_network_graph_notes_count.yml8
-rw-r--r--config/metrics/schema/internal_events.json32
-rw-r--r--config/metrics/schema/redis_hll.json38
-rw-r--r--doc/.vale/gitlab/LatinTerms.yml1
-rw-r--r--doc/.vale/gitlab/Wordy.yml1
-rw-r--r--doc/administration/monitoring/prometheus/gitlab_metrics.md7
-rw-r--r--doc/api/runners.md32
-rw-r--r--doc/development/dangerbot.md7
-rw-r--r--doc/user/project/wiki/index.md6
-rw-r--r--doc/user/reserved_names.md39
-rw-r--r--lib/gitlab/ci/yaml_processor/dag.rb6
-rw-r--r--package.json2
-rw-r--r--spec/features/projects/network_graph_spec.rb8
-rw-r--r--spec/lib/gitlab/ci/yaml_processor/dag_spec.rb4
-rw-r--r--spec/lib/gitlab/ci/yaml_processor_spec.rb4
-rw-r--r--spec/lib/gitlab/usage/metric_definition_spec.rb50
-rw-r--r--spec/models/network/graph_spec.rb11
-rw-r--r--yarn.lock78
23 files changed, 201 insertions, 171 deletions
diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml
index f37ad65e05e..330cdc4e8e5 100644
--- a/.rubocop_todo/rspec/feature_category.yml
+++ b/.rubocop_todo/rspec/feature_category.yml
@@ -3188,7 +3188,6 @@ RSpec/FeatureCategory:
- 'spec/lib/gitlab/ci/variables/collection/item_spec.rb'
- 'spec/lib/gitlab/ci/variables/collection/sort_spec.rb'
- 'spec/lib/gitlab/ci/variables/helpers_spec.rb'
- - 'spec/lib/gitlab/ci/yaml_processor/dag_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor/feature_flags_spec.rb'
- 'spec/lib/gitlab/ci_access_spec.rb'
- 'spec/lib/gitlab/class_attributes_spec.rb'
diff --git a/app/helpers/graph_helper.rb b/app/helpers/graph_helper.rb
index e74005cf77b..829e72d9055 100644
--- a/app/helpers/graph_helper.rb
+++ b/app/helpers/graph_helper.rb
@@ -4,12 +4,6 @@ module GraphHelper
def refs(repo, commit)
refs = [commit.ref_names(repo).join(' ')]
- # append note count
- unless Feature.enabled?(:disable_network_graph_notes_count, @project, type: :experiment)
- notes_count = @graph.notes[commit.id]
- refs << "[#{pluralize(notes_count, 'note')}]" if notes_count > 0
- end
-
refs.join
end
diff --git a/app/models/network/graph.rb b/app/models/network/graph.rb
index 0f410d4810d..f60e7682418 100644
--- a/app/models/network/graph.rb
+++ b/app/models/network/graph.rb
@@ -2,7 +2,7 @@
module Network
class Graph
- attr_reader :days, :commits, :map, :notes, :repo
+ attr_reader :days, :commits, :map, :repo
def self.max_count
@max_count ||= 650
@@ -17,28 +17,10 @@ module Network
@commits = collect_commits
@days = index_commits
- @notes = collect_notes
end
protected
- def collect_notes
- return {} if Feature.enabled?(:disable_network_graph_notes_count, @project, type: :experiment)
-
- h = Hash.new(0)
-
- @project
- .notes
- .where(noteable_type: 'Commit')
- .group('notes.commit_id')
- .select('notes.commit_id, count(notes.id) as note_count')
- .each do |item|
- h[item.commit_id] = item.note_count.to_i
- end
-
- h
- end
-
# Get commits from repository
#
def collect_commits
diff --git a/app/views/shared/wikis/show.html.haml b/app/views/shared/wikis/show.html.haml
index 9537d6fec15..2cd03c20080 100644
--- a/app/views/shared/wikis/show.html.haml
+++ b/app/views/shared/wikis/show.html.haml
@@ -12,8 +12,7 @@
.nav-controls.pb-md-3.pb-lg-0
= render 'shared/wikis/main_links'
- - if Feature.enabled?(:print_wiki, current_user)
- #js-export-actions{ data: { options: { target: '.js-wiki-page-content', title: @page.human_title, stylesheet: [stylesheet_path('application')] }.to_json } }
+ #js-export-actions{ data: { options: { target: '.js-wiki-page-content', title: @page.human_title, stylesheet: [stylesheet_path('application')] }.to_json } }
- if @page.historical?
= render Pajamas::AlertComponent.new(variant: :warning,
diff --git a/config/feature_flags/development/print_wiki.yml b/config/feature_flags/development/print_wiki.yml
deleted file mode 100644
index 75305425deb..00000000000
--- a/config/feature_flags/development/print_wiki.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: print_wiki
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125260
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414691
-milestone: '16.3'
-type: development
-group: group::knowledge
-default_enabled: true
diff --git a/config/feature_flags/experiment/disable_network_graph_notes_count.yml b/config/feature_flags/experiment/disable_network_graph_notes_count.yml
deleted file mode 100644
index fa4e5b4e104..00000000000
--- a/config/feature_flags/experiment/disable_network_graph_notes_count.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: disable_network_graph_notes_count
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103636"
-rollout_issue_url:
-milestone: '15.6'
-type: experiment
-group: group::source code
-default_enabled: false
diff --git a/config/metrics/schema/internal_events.json b/config/metrics/schema/internal_events.json
index d925b8af1eb..75378db054d 100644
--- a/config/metrics/schema/internal_events.json
+++ b/config/metrics/schema/internal_events.json
@@ -63,9 +63,41 @@
"properties": {
"instrumentation_class": {
"const": "TotalCountMetric"
+ },
+ "options": {
+ "type": "object",
+ "properties": {
+ "events": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "events"
+ ],
+ "additionalProperties": false
+ },
+ "events": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
}
},
"required": [
+ "events",
+ "options",
"instrumentation_class"
]
}
diff --git a/config/metrics/schema/redis_hll.json b/config/metrics/schema/redis_hll.json
index 31de5d27e40..35d520a5833 100644
--- a/config/metrics/schema/redis_hll.json
+++ b/config/metrics/schema/redis_hll.json
@@ -38,10 +38,46 @@
"properties": {
"instrumentation_class": {
"const": "AggregatedMetric"
+ },
+ "options": {
+ "type": "object",
+ "properties": {
+ "aggregate": {
+ "type": "object",
+ "properties": {
+ "operator": {
+ "enum": [
+ "OR",
+ "AND"
+ ]
+ },
+ "attribute": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "operator",
+ "attribute"
+ ],
+ "additionalProperties": false
+ },
+ "events": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "aggregate",
+ "events"
+ ],
+ "additionalProperties": false
}
},
"required": [
- "instrumentation_class"
+ "instrumentation_class",
+ "options"
]
},
{
diff --git a/doc/.vale/gitlab/LatinTerms.yml b/doc/.vale/gitlab/LatinTerms.yml
index 0bac0448bb1..0f098979b16 100644
--- a/doc/.vale/gitlab/LatinTerms.yml
+++ b/doc/.vale/gitlab/LatinTerms.yml
@@ -15,3 +15,4 @@ swap:
e\. g\.: for example
i\.e\.: that is
i\. e\.: that is
+ via: "Use 'with', 'through', or 'by using' instead."
diff --git a/doc/.vale/gitlab/Wordy.yml b/doc/.vale/gitlab/Wordy.yml
index 808bedad35a..9c472f66570 100644
--- a/doc/.vale/gitlab/Wordy.yml
+++ b/doc/.vale/gitlab/Wordy.yml
@@ -10,6 +10,7 @@ link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.
level: suggestion
ignorecase: true
swap:
+ a number of: "Specify the number or remove the phrase."
as well as: "Use 'and' instead of 'as well as'."
note that: "Remove the phrase 'note that'."
please: "Use 'please' only if we've inconvenienced the user."
diff --git a/doc/administration/monitoring/prometheus/gitlab_metrics.md b/doc/administration/monitoring/prometheus/gitlab_metrics.md
index f6ee2961ce2..2eb482cae69 100644
--- a/doc/administration/monitoring/prometheus/gitlab_metrics.md
+++ b/doc/administration/monitoring/prometheus/gitlab_metrics.md
@@ -383,7 +383,12 @@ configuration option in `gitlab.yml`. These metrics are served from the
| `geo_project_repositories_verification_total` | Gauge | 16.2 | Number of Project Repositories to attempt to verify on secondary | `url` |
| `geo_project_repositories_verified` | Gauge | 16.2 | Number of Project Repositories successfully verified on secondary | `url` |
| `geo_project_repositories_verification_failed` | Gauge | 16.2 | Number of Project Repositories that failed verification on secondary | `url` |
-
+| `geo_repositories_synced` | Gauge | 10.2 | Deprecated for removal in 17.0. Missing in 16.3 and 16.4. Replaced by `geo_project_repositories_synced`. Number of repositories synced on secondary | `url` |
+| `geo_repositories_failed` | Gauge | 10.2 | Deprecated for removal in 17.0. Missing in 16.3 and 16.4. Replaced by `geo_project_repositories_failed`. Number of repositories failed to sync on secondary | `url` |
+| `geo_repositories_checksummed` | Gauge | 10.7 | Deprecated for removal in 17.0. Missing in 16.3 and 16.4. Replaced by `geo_project_repositories_checksummed`. Number of repositories checksummed on primary | `url` |
+| `geo_repositories_checksum_failed` | Gauge | 10.7 | Deprecated for removal in 17.0. Missing in 16.3 and 16.4. Replaced by `geo_project_repositories_checksum_failed`. Number of repositories failed to calculate the checksum on primary | `url` |
+| `geo_repositories_verified` | Gauge | 10.7 | Deprecated for removal in 17.0. Missing in 16.3 and 16.4. Replaced by `geo_project_repositories_verified`. Number of repositories successfully verified on secondary | `url` |
+| `geo_repositories_verification_failed` | Gauge | 10.7 | Deprecated for removal in 17.0. Missing in 16.3 and 16.4. Replaced by `geo_project_repositories_verification_failed`. Number of repositories that failed verification on secondary | `url` |
| `gitlab_memwd_violations_total` | Counter | 15.9 | Total number of times a Sidekiq process violated a memory threshold | |
| `gitlab_memwd_violations_handled_total` | Counter | 15.9 | Total number of times Sidekiq process memory violations were handled | |
| `sidekiq_watchdog_running_jobs_total` | Counter | 15.9 | Current running jobs when RSS limit was reached | `worker_class` |
diff --git a/doc/api/runners.md b/doc/api/runners.md
index dba37edcb01..ea7016fa1a2 100644
--- a/doc/api/runners.md
+++ b/doc/api/runners.md
@@ -56,7 +56,7 @@ GET /runners?tag_list=tag1,tag2
|------------|--------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `scope` | string | no | Deprecated: Use `type` or `status` instead. The scope of runners to return, one of: `active`, `paused`, `online` and `offline`; showing all runners if none provided |
| `type` | string | no | The type of runners to return, one of: `instance_type`, `group_type`, `project_type` |
-| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in GitLab 16.0 |
+| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in a future version of the REST API |
| `paused` | boolean | no | Whether to include only runners that are accepting or ignoring new jobs |
| `tag_list` | string array | no | A list of runner tags |
@@ -66,11 +66,11 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a
NOTE:
The `active` and `paused` values in the `status` query parameter were deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
NOTE:
The `active` attribute in the response was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
Example response:
@@ -121,7 +121,7 @@ GET /runners/all?tag_list=tag1,tag2
|------------|--------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `scope` | string | no | Deprecated: Use `type` or `status` instead. The scope of runners to return, one of: `specific`, `shared`, `active`, `paused`, `online` and `offline`; showing all runners if none provided |
| `type` | string | no | The type of runners to return, one of: `instance_type`, `group_type`, `project_type` |
-| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in GitLab 16.0 |
+| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in a future version of the REST API |
| `paused` | boolean | no | Whether to include only runners that are accepting or ignoring new jobs |
| `tag_list` | string array | no | A list of runner tags |
@@ -131,11 +131,11 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a
NOTE:
The `active` and `paused` values in the `status` query parameter were deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
NOTE:
The `active` attribute in the response was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
Example response:
@@ -221,7 +221,7 @@ and removed in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/21432
NOTE:
The `active` attribute in the response was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
Example response:
@@ -291,7 +291,7 @@ and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/214322) in GitLab 13
NOTE:
The `active` query parameter was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
Example response:
@@ -361,7 +361,7 @@ curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
NOTE:
The `active` form attribute was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
## List runner's jobs
@@ -473,7 +473,7 @@ GET /projects/:id/runners?tag_list=tag1,tag2
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
| `scope` | string | no | Deprecated: Use `type` or `status` instead. The scope of runners to return, one of: `active`, `paused`, `online` and `offline`; showing all runners if none provided |
| `type` | string | no | The type of runners to return, one of: `instance_type`, `group_type`, `project_type` |
-| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in GitLab 16.0 |
+| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in a future version of the REST API |
| `paused` | boolean | no | Whether to include only runners that are accepting or ignoring new jobs |
| `tag_list` | string array | no | A list of runner tags |
@@ -483,11 +483,11 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a
NOTE:
The `active` and `paused` values in the `status` query parameter were deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
NOTE:
The `active` attribute in the response was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
Example response:
@@ -588,8 +588,8 @@ GET /groups/:id/runners?tag_list=tag1,tag2
| Attribute | Type | Required | Description |
|------------|----------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer | yes | The ID of the group owned by the authenticated user |
-| `type` | string | no | The type of runners to return, one of: `instance_type`, `group_type`, `project_type`. The `project_type` value is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/351466) and will be removed in GitLab 15.0 |
-| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in GitLab 16.0 |
+| `type` | string | no | The type of runners to return, one of: `instance_type`, `group_type`, `project_type`. The `project_type` value is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/351466) and will be removed in a future version of the REST API |
+| `status` | string | no | The status of runners to return, one of: `online`, `offline`, `stale`, and `never_contacted`. `active` and `paused` are also possible values which were deprecated in GitLab 14.8 and will be removed in a future version of the REST API |
| `paused` | boolean | no | Whether to include only runners that are accepting or ignoring new jobs |
| `tag_list` | string array | no | A list of runner tags |
@@ -599,11 +599,11 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a
NOTE:
The `active` and `paused` values in the `status` query parameter were deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). They are replaced by the `paused` query parameter.
NOTE:
The `active` attribute in the response was deprecated [in GitLab 14.8](https://gitlab.com/gitlab-org/gitlab/-/issues/347211).
-and will be removed in [GitLab 16.0](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
+and will be removed in [a future version of the REST API](https://gitlab.com/gitlab-org/gitlab/-/issues/351109). It is replaced by the `paused` attribute.
Example response:
diff --git a/doc/development/dangerbot.md b/doc/development/dangerbot.md
index ef1e563b668..6ef8bdfb80e 100644
--- a/doc/development/dangerbot.md
+++ b/doc/development/dangerbot.md
@@ -158,10 +158,9 @@ To enable the Dangerfile on another existing GitLab project, complete the follow
- if: $CI_SERVER_HOST == "gitlab.com"
```
-1. If your project is in the `gitlab-org` group, you don't need to set up any token as the `DANGER_GITLAB_API_TOKEN`
- variable is available at the group level. If not, follow these last steps:
- 1. Create a [Project access tokens](../user/project/settings/project_access_tokens.md).
- 1. Add the token as a CI/CD project variable named `DANGER_GITLAB_API_TOKEN`.
+1. Create a [Project access tokens](../user/project/settings/project_access_tokens.md) with the `api` scope,
+ `Reporter` permission (so that it can add labels), and no expiration date (which actually means one year).
+1. Add the token as a CI/CD project variable named `DANGER_GITLAB_API_TOKEN`.
You should add the ~"Danger bot" label to the merge request before sending it
for review.
diff --git a/doc/user/project/wiki/index.md b/doc/user/project/wiki/index.md
index a80c699eab7..fd543263ebd 100644
--- a/doc/user/project/wiki/index.md
+++ b/doc/user/project/wiki/index.md
@@ -181,11 +181,7 @@ You need at least the Developer role to move a wiki page:
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/414691) in GitLab 16.3 [with a flag](../../../administration/feature_flags.md) named `print_wiki`. Disabled by default.
> - [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134251/) in GitLab 16.5.
-
-FLAG:
-On self-managed GitLab, by default this feature is available.
-To hide the feature, an administrator can [disable the feature flag](../../../administration/feature_flags.md) named `print_wiki`.
-On GitLab.com, this feature is available.
+> - Feature flag `print_wiki` removed in GitLab 16.6.
You can export a wiki page as a PDF file:
diff --git a/doc/user/reserved_names.md b/doc/user/reserved_names.md
index b9c64739de0..697f5711396 100644
--- a/doc/user/reserved_names.md
+++ b/doc/user/reserved_names.md
@@ -6,31 +6,30 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Reserved project and group names **(FREE ALL)**
-Not all project & group names are allowed because they would conflict with
-existing routes used by GitLab.
+To not conflict with existing routes used by GitLab, some words cannot be used as project or group names.
+These words are listed in the
+[`path_regex.rb` file](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/path_regex.rb),
+where:
-For a list of words that are not allowed to be used as group or project names, see the
-[`path_regex.rb` file](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/path_regex.rb)
-under the `TOP_LEVEL_ROUTES`, `PROJECT_WILDCARD_ROUTES` and `GROUP_ROUTES` lists:
-
-- `TOP_LEVEL_ROUTES`: are names that are reserved as usernames or top level groups
-- `PROJECT_WILDCARD_ROUTES`: are names that are reserved for child groups or projects.
-- `GROUP_ROUTES`: are names that are reserved for all groups or projects.
+- `TOP_LEVEL_ROUTES` are names reserved as usernames or top-level groups.
+- `PROJECT_WILDCARD_ROUTES` are names reserved for child groups or projects.
+- `GROUP_ROUTES` are names reserved for all groups or projects.
## Limitations on project and group names
-- Project or group names must start with a letter, digit, emoji, or "_".
-- Project names can only contain letters, digits, emoji, "_", ".", "+", dashes, or spaces.
-- Group names can only contain letters, digits, emoji, "_", ".", parenthesis, dashes, or spaces.
-- Project or group slugs must start with a letter or digit.
-- Project or group slugs can only contain letters, digits, '_', '.', or dashes.
-- Project or group slugs must not contain consecutive special characters.
-- Project or group slugs cannot start or end with a special character.
-- Project or group slugs cannot end in `.git` or `.atom`.
+- Project or group names must start with a letter (`a-zA-Z`), digit (`0-9`), emoji, or underscore (`_`). Additionally:
+ - Project names can contain only letters (`a-zA-Z`), digits (`0-9`), emoji, underscores (`_`), dots (`.`), pluses (`+`), dashes (`-`), or spaces.
+ - Group names can contain only letters (`a-zA-Z`), digits (`0-9`), emoji, underscores (`_`), dots (`.`), parentheses (`()`), dashes (`-`), or spaces.
+- Project or group slugs:
+ - Must start with a letter (`a-zA-Z`) or digit (`0-9`).
+ - Must not contain consecutive special characters.
+ - Cannot start or end with a special character.
+ - Cannot end in `.git` or `.atom`.
+ - Can contain only letters (`a-zA-Z`), digits (`0-9`), underscores (`_`), dots (`.`), or dashes (`-`).
## Reserved project names
-It is not possible to create a project with the following names:
+You cannot create projects with the following names:
- `\-`
- `badges`
@@ -56,7 +55,7 @@ It is not possible to create a project with the following names:
## Reserved group names
-The following names are reserved as top level groups:
+You cannot create groups with the following names, because they are reserved for top-level groups:
- `\-`
- `.well-known`
@@ -98,6 +97,6 @@ The following names are reserved as top level groups:
- `users`
- `v2`
-These group names are unavailable as subgroup names:
+You cannot create subgroups with the following names:
- `\-`
diff --git a/lib/gitlab/ci/yaml_processor/dag.rb b/lib/gitlab/ci/yaml_processor/dag.rb
index ad78277080b..d3047385c99 100644
--- a/lib/gitlab/ci/yaml_processor/dag.rb
+++ b/lib/gitlab/ci/yaml_processor/dag.rb
@@ -17,14 +17,14 @@ module Gitlab
def self.check_circular_dependencies!(jobs)
new(jobs).tsort
- rescue TSort::Cyclic
- raise ValidationError, 'The pipeline has circular dependencies'
+ rescue TSort::Cyclic => e
+ raise ValidationError, "The pipeline has circular dependencies: #{e.message}"
end
def tsort_each_child(node, &block)
return unless @nodes[node]
- raise TSort::Cyclic, /topological sort failed/ if @nodes[node].include?(node)
+ raise TSort::Cyclic, "self-dependency: #{node}" if @nodes[node].include?(node)
@nodes[node].each(&block)
end
diff --git a/package.json b/package.json
index 4954e17ae8f..192aa370cee 100644
--- a/package.json
+++ b/package.json
@@ -190,7 +190,7 @@
"remark-rehype": "^10.1.0",
"scrollparent": "^2.0.1",
"semver": "^7.3.4",
- "sentrybrowser": "npm:@sentry/browser@7.75.1",
+ "sentrybrowser": "npm:@sentry/browser@7.76.0",
"sentrybrowser5": "npm:@sentry/browser@5.30.0",
"sortablejs": "^1.10.2",
"string-hash": "1.1.3",
diff --git a/spec/features/projects/network_graph_spec.rb b/spec/features/projects/network_graph_spec.rb
index eff0335c891..e84bbf382ad 100644
--- a/spec/features/projects/network_graph_spec.rb
+++ b/spec/features/projects/network_graph_spec.rb
@@ -124,12 +124,4 @@ RSpec.describe 'Project Network Graph', :js, feature_category: :groups_and_proje
end
it_behaves_like 'network graph'
-
- context 'when disable_network_graph_notes_count is disabled' do
- before do
- stub_feature_flags(disable_network_graph_notes_count: false)
- end
-
- it_behaves_like 'network graph'
- end
end
diff --git a/spec/lib/gitlab/ci/yaml_processor/dag_spec.rb b/spec/lib/gitlab/ci/yaml_processor/dag_spec.rb
index 3c1e0264ff1..496d89403d5 100644
--- a/spec/lib/gitlab/ci/yaml_processor/dag_spec.rb
+++ b/spec/lib/gitlab/ci/yaml_processor/dag_spec.rb
@@ -3,7 +3,7 @@
require 'fast_spec_helper'
require 'tsort'
-RSpec.describe Gitlab::Ci::YamlProcessor::Dag do
+RSpec.describe Gitlab::Ci::YamlProcessor::Dag, feature_category: :pipeline_composition do
let(:nodes) { {} }
subject(:result) { described_class.new(nodes).tsort }
@@ -33,7 +33,7 @@ RSpec.describe Gitlab::Ci::YamlProcessor::Dag do
end
it 'raises TSort::Cyclic error' do
- expect { result }.to raise_error(TSort::Cyclic, /topological sort failed/)
+ expect { result }.to raise_error(TSort::Cyclic, "self-dependency: job_a")
end
end
end
diff --git a/spec/lib/gitlab/ci/yaml_processor_spec.rb b/spec/lib/gitlab/ci/yaml_processor_spec.rb
index 326515883b2..f01c1c7d053 100644
--- a/spec/lib/gitlab/ci/yaml_processor_spec.rb
+++ b/spec/lib/gitlab/ci/yaml_processor_spec.rb
@@ -3433,7 +3433,7 @@ module Gitlab
YAML
end
- it_behaves_like 'returns errors', 'The pipeline has circular dependencies'
+ it_behaves_like 'returns errors', 'The pipeline has circular dependencies: topological sort failed: ["job_a", "job_c", "job_b"]'
context 'when a job has a self-dependency' do
let(:config) do
@@ -3449,7 +3449,7 @@ module Gitlab
YAML
end
- it_behaves_like 'returns errors', 'The pipeline has circular dependencies'
+ it_behaves_like 'returns errors', 'The pipeline has circular dependencies: self-dependency: job'
end
end
end
diff --git a/spec/lib/gitlab/usage/metric_definition_spec.rb b/spec/lib/gitlab/usage/metric_definition_spec.rb
index 871891d864a..08adc031631 100644
--- a/spec/lib/gitlab/usage/metric_definition_spec.rb
+++ b/spec/lib/gitlab/usage/metric_definition_spec.rb
@@ -223,19 +223,26 @@ RSpec.describe Gitlab::Usage::MetricDefinition, feature_category: :service_ping
end
where(:instrumentation_class, :options, :events, :is_valid) do
- 'TotalCountMetric' | {} | [] | true
- 'AnotherClass' | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | false
- nil | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | false
- 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | true
- 'RedisHLLMetric' | { events: ['a'] } | nil | false
- 'RedisHLLMetric' | nil | [{ name: 'a', unique: 'user.id' }] | false
- 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a', unique: 'a' }] | false
- 'RedisHLLMetric' | { events: 'a' } | [{ name: 'a', unique: 'user.id' }] | false
- 'RedisHLLMetric' | { events: [2] } | [{ name: 'a', unique: 'user.id' }] | false
- 'RedisHLLMetric' | { events: ['a'], a: 'b' } | [{ name: 'a', unique: 'user.id' }] | false
- 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a', unique: 'user.id', b: 'c' }] | false
- 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a' }] | false
- 'RedisHLLMetric' | { events: ['a'] } | [{ unique: 'user.id' }] | false
+ 'AnotherClass' | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | false
+ nil | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | false
+ 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | true
+ 'RedisHLLMetric' | { events: ['a'] } | nil | false
+ 'RedisHLLMetric' | nil | [{ name: 'a', unique: 'user.id' }] | false
+ 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a', unique: 'a' }] | false
+ 'RedisHLLMetric' | { events: 'a' } | [{ name: 'a', unique: 'user.id' }] | false
+ 'RedisHLLMetric' | { events: [2] } | [{ name: 'a', unique: 'user.id' }] | false
+ 'RedisHLLMetric' | { events: ['a'], a: 'b' } | [{ name: 'a', unique: 'user.id' }] | false
+ 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a', unique: 'user.id', b: 'c' }] | false
+ 'RedisHLLMetric' | { events: ['a'] } | [{ name: 'a' }] | false
+ 'RedisHLLMetric' | { events: ['a'] } | [{ unique: 'user.id' }] | false
+ 'TotalCountMetric' | { events: ['a'] } | [{ name: 'a' }] | true
+ 'TotalCountMetric' | { events: ['a'] } | [{ name: 'a', unique: 'user.id' }] | false
+ 'TotalCountMetric' | { events: ['a'] } | nil | false
+ 'TotalCountMetric' | nil | [{ name: 'a' }] | false
+ 'TotalCountMetric' | { events: [2] } | [{ name: 'a' }] | false
+ 'TotalCountMetric' | { events: ['a'] } | [{}] | false
+ 'TotalCountMetric' | 'a' | [{ name: 'a' }] | false
+ 'TotalCountMetric' | { events: ['a'], a: 'b' } | [{ name: 'a' }] | false
end
with_them do
@@ -300,11 +307,26 @@ RSpec.describe Gitlab::Usage::MetricDefinition, feature_category: :service_ping
where(:instrumentation_class, :options, :is_valid) do
'AnotherClass' | { events: ['a'] } | false
'RedisHLLMetric' | { events: ['a'] } | true
+ 'RedisHLLMetric' | nil | false
+ 'RedisHLLMetric' | {} | false
'RedisHLLMetric' | { events: ['a'], b: 'c' } | false
'RedisHLLMetric' | { events: [2] } | false
'RedisHLLMetric' | { events: 'a' } | false
'RedisHLLMetric' | { event: ['a'] } | false
- 'AggregatedMetric' | {} | true
+ 'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' }, events: ['a'] } | true
+ 'AggregatedMetric' | { aggregate: { operator: 'AND', attribute: 'project_id' }, events: %w[b c] } | true
+ 'AggregatedMetric' | nil | false
+ 'AggregatedMetric' | {} | false
+ 'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' }, events: ['a'], event: 'a' } | false
+ 'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' } } | false
+ 'AggregatedMetric' | { events: ['a'] } | false
+ 'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' }, events: 'a' } | false
+ 'AggregatedMetric' | { aggregate: 'a', events: ['a'] } | false
+ 'AggregatedMetric' | { aggregate: { operator: 'OR' }, events: ['a'] } | false
+ 'AggregatedMetric' | { aggregate: { attribute: 'user_id' }, events: ['a'] } | false
+ 'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id', a: 'b' }, events: ['a'] } | false
+ 'AggregatedMetric' | { aggregate: { operator: '???', attribute: 'user_id' }, events: ['a'] } | false
+ 'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: ['user_id'] }, events: ['a'] } | false
end
with_them do
diff --git a/spec/models/network/graph_spec.rb b/spec/models/network/graph_spec.rb
index d0c73d6285c..3bee7225df5 100644
--- a/spec/models/network/graph_spec.rb
+++ b/spec/models/network/graph_spec.rb
@@ -4,7 +4,6 @@ require 'spec_helper'
RSpec.describe Network::Graph, feature_category: :source_code_management do
let(:project) { create(:project, :repository) }
- let!(:note_on_commit) { create(:note_on_commit, project: project) }
describe '#initialize' do
let(:graph) do
@@ -14,16 +13,6 @@ RSpec.describe Network::Graph, feature_category: :source_code_management do
it 'has initialized' do
expect(graph).to be_a(described_class)
end
-
- context 'when disable_network_graph_note_counts is disabled' do
- before do
- stub_feature_flags(disable_network_graph_notes_count: false)
- end
-
- it 'initializes the notes hash' do
- expect(graph.notes).to eq({ note_on_commit.commit_id => 1 })
- end
- end
end
describe '#commits' do
diff --git a/yarn.lock b/yarn.lock
index f35a635e1d8..0da503168ee 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1913,14 +1913,14 @@
estree-walker "^2.0.2"
picomatch "^2.3.1"
-"@sentry-internal/tracing@7.75.1":
- version "7.75.1"
- resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.75.1.tgz#978c5ec58a704c423a9b33a58ca3e3e6521725f8"
- integrity sha512-nynV+7iVcF8k3CqhvI2K7iA8h4ovJhgYHKnXR8RDDevQOqNG2AEX9+hjCj9fZM4MhKHYFqf1od2oO9lTr38kwg==
+"@sentry-internal/tracing@7.76.0":
+ version "7.76.0"
+ resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.76.0.tgz#36c54425bc20c08e569e6da52e13d325611cad66"
+ integrity sha512-QQVIv+LS2sbGf/e5P2dRisHzXpy02dAcLqENLPG4sZ9otRaFNjdFYEqnlJ4qko+ORpJGQEQp/BX7Q/qzZQHlAg==
dependencies:
- "@sentry/core" "7.75.1"
- "@sentry/types" "7.75.1"
- "@sentry/utils" "7.75.1"
+ "@sentry/core" "7.76.0"
+ "@sentry/types" "7.76.0"
+ "@sentry/utils" "7.76.0"
"@sentry/core@5.30.0":
version "5.30.0"
@@ -1933,13 +1933,13 @@
"@sentry/utils" "5.30.0"
tslib "^1.9.3"
-"@sentry/core@7.75.1":
- version "7.75.1"
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.75.1.tgz#f48cc424990ee4f31541e93f2c0277bfd5be9ed3"
- integrity sha512-Kw4KyKBxbxbh8OKO0S11Tm0gWP+6AaXXYrsq3hp8H338l/wOmIzyckmCbUrc/XJeoRqaFLJbdcCrcUEDZUvsVQ==
+"@sentry/core@7.76.0":
+ version "7.76.0"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.76.0.tgz#b0d1dc399a862ea8a1c8a1c60a409e92eaf8e9e1"
+ integrity sha512-M+ptkCTeCNf6fn7p2MmEb1Wd9/JXUWxIT/0QEc+t11DNR4FYy1ZP2O9Zb3Zp2XacO7ORrlL3Yc+VIfl5JTgjfw==
dependencies:
- "@sentry/types" "7.75.1"
- "@sentry/utils" "7.75.1"
+ "@sentry/types" "7.76.0"
+ "@sentry/utils" "7.76.0"
"@sentry/hub@5.30.0":
version "5.30.0"
@@ -1959,25 +1959,25 @@
"@sentry/types" "5.30.0"
tslib "^1.9.3"
-"@sentry/replay@7.75.1":
- version "7.75.1"
- resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.75.1.tgz#7790e80f7cb4dc856f5e72f70a51febd5898e04d"
- integrity sha512-MKQTDWNYs9QXCJ+irGX5gu8Kxdk/Ds5puhILy8+DnCoXgXuPFRMGob1Sxt8qXmbQmcGeogsx221MNTselsRS6g==
+"@sentry/replay@7.76.0":
+ version "7.76.0"
+ resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.76.0.tgz#bccf9ea4a6efc332a79d6a78f923697b9b283371"
+ integrity sha512-OACT7MfMHC/YGKnKST8SF1d6znr3Yu8fpUpfVVh2t9TNeh3+cQJVTOliHDqLy+k9Ljd5FtitgSn4IHtseCHDLQ==
dependencies:
- "@sentry-internal/tracing" "7.75.1"
- "@sentry/core" "7.75.1"
- "@sentry/types" "7.75.1"
- "@sentry/utils" "7.75.1"
+ "@sentry-internal/tracing" "7.76.0"
+ "@sentry/core" "7.76.0"
+ "@sentry/types" "7.76.0"
+ "@sentry/utils" "7.76.0"
"@sentry/types@5.30.0":
version "5.30.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402"
integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==
-"@sentry/types@7.75.1":
- version "7.75.1"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.75.1.tgz#48b11336a0e70433d41bbe41c617dd339d4992ea"
- integrity sha512-km+ygqgMDaFfTrbQwdhrptFqx0Oq15jZABqIoIpbaOCkCAMm+tyCqrFS8dTfaq5wpCktqWOy2qU/DOpppO99Cg==
+"@sentry/types@7.76.0":
+ version "7.76.0"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.76.0.tgz#628c9899bfa82ea762708314c50fd82f2138587d"
+ integrity sha512-vj6z+EAbVrKAXmJPxSv/clpwS9QjPqzkraMFk2hIdE/kii8s8kwnkBwTSpIrNc8GnzV3qYC4r3qD+BXDxAGPaw==
"@sentry/utils@5.30.0":
version "5.30.0"
@@ -1987,12 +1987,12 @@
"@sentry/types" "5.30.0"
tslib "^1.9.3"
-"@sentry/utils@7.75.1":
- version "7.75.1"
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.75.1.tgz#169040ba13ff4d4ecccb7b7aa23f84724d108b97"
- integrity sha512-QzW2eRjY20epD//9/tQ0FTNwdAL6XZi+LyJNUQIeK3NMnc5NgHrgpxId87gmFq8cNx47utH1Blub8RuMbKqiwQ==
+"@sentry/utils@7.76.0":
+ version "7.76.0"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.76.0.tgz#6b540b387d3ac539abd20978f4d3ae235114f6ab"
+ integrity sha512-40jFD+yfQaKpFYINghdhovzec4IEpB7aAuyH/GtE7E0gLpcqnC72r55krEIVILfqIR2Mlr5OKUzyeoCyWAU/yw==
dependencies:
- "@sentry/types" "7.75.1"
+ "@sentry/types" "7.76.0"
"@sinclair/typebox@^0.24.1":
version "0.24.40"
@@ -11775,16 +11775,16 @@ send@0.17.2:
"@sentry/utils" "5.30.0"
tslib "^1.9.3"
-"sentrybrowser@npm:@sentry/browser@7.75.1":
- version "7.75.1"
- resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.75.1.tgz#70422d26e2651443bcf15ea6bb5142774926c5ae"
- integrity sha512-0+jPfPA5P9HVYYRQraDokGCY2NiMknSfz11dggClK4VmjvG+hOXiEyf73SFVwLFnv/hwrkWySjoIrVCX65xXQA==
+"sentrybrowser@npm:@sentry/browser@7.76.0":
+ version "7.76.0"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.76.0.tgz#7d73573790023523f7d9c3757b8424b7ad60d664"
+ integrity sha512-83xA+cWrBhhkNuMllW5ucFsEO2NlUh2iBYtmg07lp3fyVW+6+b1yMKRnc4RFArJ+Wcq6UO+qk2ZEvrSAts1wEw==
dependencies:
- "@sentry-internal/tracing" "7.75.1"
- "@sentry/core" "7.75.1"
- "@sentry/replay" "7.75.1"
- "@sentry/types" "7.75.1"
- "@sentry/utils" "7.75.1"
+ "@sentry-internal/tracing" "7.76.0"
+ "@sentry/core" "7.76.0"
+ "@sentry/replay" "7.76.0"
+ "@sentry/types" "7.76.0"
+ "@sentry/utils" "7.76.0"
serialize-javascript@^2.1.2:
version "2.1.2"