From b35f7ce1f3f12bf7b673c9d29002e14d0c83f35f Mon Sep 17 00:00:00 2001
From: GitLab Bot
Date: Tue, 5 Dec 2023 12:07:48 +0000
Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master
---
.../components/secure_files_list.vue | 1 -
.../components/triggers_list.vue | 1 -
.../bubble_menus/media_bubble_menu.vue | 1 -
.../javascripts/graphql_shared/constants.js | 2 +-
.../organizations/index/components/app.vue | 2 +-
.../organizations_client.query.graphql | 14 -
.../javascripts/organizations/mock_data.js | 9 +-
.../fragments/organization.fragment.graphql | 7 +
.../queries/organization.query.graphql | 12 +-
.../queries}/organizations.query.graphql | 14 +-
.../organizations/shared/graphql/resolvers.js | 9 -
.../entity_select/organization_select.vue | 31 +-
.../stylesheets/framework/super_sidebar.scss | 4 +-
app/controllers/search_controller.rb | 29 +-
.../autocomplete/group_users_finder.rb | 15 +-
app/finders/autocomplete/users_finder.rb | 45 +--
.../project_feature_access_level_enum.rb | 12 +
.../project_feature_access_level_type.rb | 18 ++
app/graphql/types/project_type.rb | 23 ++
app/models/packages/nuget/symbol.rb | 3 +
...ion.yml => nuget_symbolfiles_endpoint.yml} | 8 +-
config/gitlab_loose_foreign_keys.yml | 4 +
...154701_remove_users_events_author_id_fk.rb | 21 ++
...ndex_id_partition_id_to_ci_job_artifact.rb | 16 +
...te_type_partition_id_to_ci_job_artifact.rb | 16 +
db/schema_migrations/20231129154701 | 1 +
db/schema_migrations/20231204090310 | 1 +
db/schema_migrations/20231204090413 | 1 +
db/structure.sql | 7 +-
doc/api/graphql/reference/index.md | 25 ++
.../ci_gcp_secrets_manager/index.md | 107 +++++++
doc/ci/variables/predefined_variables.md | 278 +++++++++---------
.../variables/where_variables_can_be_used.md | 16 +-
doc/ci/yaml/index.md | 3 +
.../database/loose_foreign_keys.md | 15 +-
.../documentation/styleguide/word_list.md | 2 +-
.../vulnerability_report/index.md | 12 +-
doc/user/group/saml_sso/troubleshooting.md | 4 +-
doc/user/profile/personal_access_tokens.md | 4 +-
.../packages/nuget/public_endpoints.rb | 52 ++++
lib/gitlab/internal_events.rb | 2 +-
qa/Gemfile | 2 +-
qa/Gemfile.lock | 4 +-
qa/qa/page/project/web_ide/vscode.rb | 7 +-
.../web_ide/add_first_file_in_web_ide_spec.rb | 49 +++
.../upload_new_file_in_web_ide_spec.rb | 6 +-
.../decomposition/generate-loose-foreign-key | 12 +-
scripts/verify-tff-mapping | 109 ++++---
spec/controllers/search_controller_spec.rb | 2 +
.../autocomplete/group_users_finder_spec.rb | 17 +-
.../finders/autocomplete/users_finder_spec.rb | 113 +------
.../index/components/app_spec.js | 2 +-
.../components/organizations_list_spec.js | 3 +-
.../entity_select/organization_select_spec.js | 123 +++++---
.../project_feature_access_level_enum_spec.rb | 11 +
.../project_feature_access_level_type_spec.rb | 14 +
spec/graphql/types/project_type_spec.rb | 61 +++-
spec/lib/gitlab/internal_events_spec.rb | 12 +-
spec/models/event_spec.rb | 7 +
spec/models/packages/nuget/symbol_spec.rb | 37 +++
.../requests/api/nuget_group_packages_spec.rb | 8 +
.../api/nuget_project_packages_spec.rb | 6 +
spec/support/rspec_run_time.rb | 4 +-
.../api/nuget_packages_shared_examples.rb | 58 ++++
.../lib/tooling/parallel_rspec_runner_spec.rb | 14 +-
tests.yml | 14 +-
tooling/lib/tooling/parallel_rspec_runner.rb | 6 +-
67 files changed, 1027 insertions(+), 521 deletions(-)
delete mode 100644 app/assets/javascripts/organizations/index/graphql/organizations_client.query.graphql
create mode 100644 app/assets/javascripts/organizations/shared/graphql/fragments/organization.fragment.graphql
rename app/assets/javascripts/organizations/{index/graphql => shared/graphql/queries}/organizations.query.graphql (61%)
create mode 100644 app/graphql/types/project_feature_access_level_enum.rb
create mode 100644 app/graphql/types/project_feature_access_level_type.rb
rename config/feature_flags/development/{group_users_autocomplete_using_batch_reduction.yml => nuget_symbolfiles_endpoint.yml} (64%)
create mode 100644 db/post_migrate/20231129154701_remove_users_events_author_id_fk.rb
create mode 100644 db/post_migrate/20231204090310_add_unique_index_id_partition_id_to_ci_job_artifact.rb
create mode 100644 db/post_migrate/20231204090413_add_unique_index_job_id_filte_type_partition_id_to_ci_job_artifact.rb
create mode 100644 db/schema_migrations/20231129154701
create mode 100644 db/schema_migrations/20231204090310
create mode 100644 db/schema_migrations/20231204090413
create mode 100644 doc/architecture/blueprints/ci_gcp_secrets_manager/index.md
create mode 100644 qa/qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb
create mode 100644 spec/graphql/types/project_feature_access_level_enum_spec.rb
create mode 100644 spec/graphql/types/project_feature_access_level_type_spec.rb
diff --git a/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue b/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue
index fb2e24e15f6..8ad599db6a7 100644
--- a/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue
+++ b/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue
@@ -223,7 +223,6 @@ export default {
ref="fileUpload"
type="file"
class="hidden"
- data-qa-selector="file_upload_field"
@change="uploadSecureFile"
/>
diff --git a/app/assets/javascripts/ci_settings_pipeline_triggers/components/triggers_list.vue b/app/assets/javascripts/ci_settings_pipeline_triggers/components/triggers_list.vue
index e1f6006fedf..d0675ba96fd 100644
--- a/app/assets/javascripts/ci_settings_pipeline_triggers/components/triggers_list.vue
+++ b/app/assets/javascripts/ci_settings_pipeline_triggers/components/triggers_list.vue
@@ -121,7 +121,6 @@ export default {
v-if="item.hasTokenExposed"
:text="item.token"
data-testid="clipboard-btn"
- data-qa-selector="clipboard_button"
:title="$options.i18n.copyTrigger"
css-class="gl-border-none gl-py-0 gl-px-2"
/>
diff --git a/app/assets/javascripts/content_editor/components/bubble_menus/media_bubble_menu.vue b/app/assets/javascripts/content_editor/components/bubble_menus/media_bubble_menu.vue
index 6ce6e731551..0818228e886 100644
--- a/app/assets/javascripts/content_editor/components/bubble_menus/media_bubble_menu.vue
+++ b/app/assets/javascripts/content_editor/components/bubble_menus/media_bubble_menu.vue
@@ -238,7 +238,6 @@ export default {
name="content_editor_image"
:accept="$options.acceptedMimes[mediaType]"
class="gl-display-none"
- data-qa-selector="file_upload_field"
@change="onFileSelect"
/>
This is where an organization can be explained in detail
',
@@ -15,7 +15,7 @@ export const organizations = [
__typename: 'Organization',
},
{
- id: 'gid://gitlab/Organization/2',
+ id: 'gid://gitlab/Organizations::Organization/2',
name: 'Vegetation Co.',
descriptionHtml:
' Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt Lorem ipsum dolor sit amet Lorem ipsum dolt
',
@@ -24,7 +24,7 @@ export const organizations = [
__typename: 'Organization',
},
{
- id: 'gid://gitlab/Organization/3',
+ id: 'gid://gitlab/Organizations::Organization/3',
name: 'Dude where is my car?',
descriptionHtml: null,
avatarUrl: null,
@@ -316,6 +316,7 @@ export const pageInfo = {
hasNextPage: true,
hasPreviousPage: true,
startCursor: 'eyJpZCI6IjEwNzIifQ',
+ __typename: 'PageInfo',
};
export const pageInfoOnePage = {
@@ -323,6 +324,7 @@ export const pageInfoOnePage = {
hasNextPage: false,
hasPreviousPage: false,
startCursor: 'eyJpZCI6IjEwNzIifQ',
+ __typename: 'PageInfo',
};
export const pageInfoEmpty = {
@@ -330,4 +332,5 @@ export const pageInfoEmpty = {
hasNextPage: false,
hasPreviousPage: false,
startCursor: null,
+ __typename: 'PageInfo',
};
diff --git a/app/assets/javascripts/organizations/shared/graphql/fragments/organization.fragment.graphql b/app/assets/javascripts/organizations/shared/graphql/fragments/organization.fragment.graphql
new file mode 100644
index 00000000000..c0bccdcc120
--- /dev/null
+++ b/app/assets/javascripts/organizations/shared/graphql/fragments/organization.fragment.graphql
@@ -0,0 +1,7 @@
+fragment Organization on Organization {
+ id
+ name
+ descriptionHtml
+ avatarUrl
+ webUrl
+}
diff --git a/app/assets/javascripts/organizations/shared/graphql/queries/organization.query.graphql b/app/assets/javascripts/organizations/shared/graphql/queries/organization.query.graphql
index 1d95786fcb0..a8d8d63c27a 100644
--- a/app/assets/javascripts/organizations/shared/graphql/queries/organization.query.graphql
+++ b/app/assets/javascripts/organizations/shared/graphql/queries/organization.query.graphql
@@ -1,9 +1,7 @@
-query getOrganization($id: ID!) {
- organization(id: $id) @client {
- id
- name
- descriptionHtml
- avatarUrl
- webUrl
+#import "../fragments/organization.fragment.graphql"
+
+query getOrganization($id: OrganizationsOrganizationID!) {
+ organization(id: $id) {
+ ...Organization
}
}
diff --git a/app/assets/javascripts/organizations/index/graphql/organizations.query.graphql b/app/assets/javascripts/organizations/shared/graphql/queries/organizations.query.graphql
similarity index 61%
rename from app/assets/javascripts/organizations/index/graphql/organizations.query.graphql
rename to app/assets/javascripts/organizations/shared/graphql/queries/organizations.query.graphql
index 0673acc5014..d69e7916512 100644
--- a/app/assets/javascripts/organizations/index/graphql/organizations.query.graphql
+++ b/app/assets/javascripts/organizations/shared/graphql/queries/organizations.query.graphql
@@ -1,19 +1,15 @@
+#import "~/graphql_shared/fragments/page_info.fragment.graphql"
+#import "../fragments/organization.fragment.graphql"
+
query getCurrentUserOrganizations($first: Int, $last: Int, $before: String, $after: String) {
currentUser {
id
organizations(first: $first, last: $last, before: $before, after: $after) {
nodes {
- id
- name
- descriptionHtml
- avatarUrl
- webUrl
+ ...Organization
}
pageInfo {
- endCursor
- hasNextPage
- hasPreviousPage
- startCursor
+ ...PageInfo
}
}
}
diff --git a/app/assets/javascripts/organizations/shared/graphql/resolvers.js b/app/assets/javascripts/organizations/shared/graphql/resolvers.js
index 9ed1be62352..f36ddc4ce4b 100644
--- a/app/assets/javascripts/organizations/shared/graphql/resolvers.js
+++ b/app/assets/javascripts/organizations/shared/graphql/resolvers.js
@@ -24,15 +24,6 @@ export default {
};
},
},
- UserCore: {
- organizations: async () => {
- await simulateLoading();
-
- return {
- nodes: organizations,
- };
- },
- },
Mutation: {
updateOrganization: async () => {
// Simulate API loading
diff --git a/app/assets/javascripts/vue_shared/components/entity_select/organization_select.vue b/app/assets/javascripts/vue_shared/components/entity_select/organization_select.vue
index ba89de36595..c509c5715dc 100644
--- a/app/assets/javascripts/vue_shared/components/entity_select/organization_select.vue
+++ b/app/assets/javascripts/vue_shared/components/entity_select/organization_select.vue
@@ -1,10 +1,11 @@