diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-10-19 03:09:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-10-19 03:09:33 +0300 |
commit | 18e11db5dc1916003766af8a3e1675d2f4713a7a (patch) | |
tree | dad6fe90119172ac161f5f174b0ead8d3456408c | |
parent | cace5e8ff1f766b8098e35adc94abc4402aeb2a9 (diff) |
Add latest changes from gitlab-org/gitlab@master
53 files changed, 328 insertions, 104 deletions
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 0c4434b1d80..492f3406fd6 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -b72279fe5192513468d8fdc0648dc698231b7534 +1c2e1293595d2a28690e8e9377b246663b5380c0 diff --git a/Gemfile.checksum b/Gemfile.checksum index 32e51d14d92..dba18dfaa16 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -219,14 +219,14 @@ {"name":"gon","version":"6.4.0","platform":"ruby","checksum":"e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0"}, {"name":"google-api-client","version":"0.50.0","platform":"ruby","checksum":"3ae45e972f293f3a66e53950ecc0fd350d85d6347c06a430bb971bd1ae5ad617"}, {"name":"google-cloud-env","version":"1.6.0","platform":"ruby","checksum":"6179acb946975892c7908748df5722a4ebadfc8cf5bb7b0d8d933ca67183fa15"}, -{"name":"google-protobuf","version":"3.21.5","platform":"java","checksum":"f63a511439c6350823790d1c8d903a7b536549bbc3eec21160aff3ee5594dcc3"}, -{"name":"google-protobuf","version":"3.21.5","platform":"ruby","checksum":"c94bee502390041d0f5c6fd4b776118656c5b54521c2a5c7957686de6ba95bfb"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x64-mingw-ucrt","checksum":"cf17273c5d5d33fc4c4879ba8aa5973aa9e34f879d728c461facf5da24db7745"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x64-mingw32","checksum":"677a4c0770446e0b08828da6b8c021469551639cfb2b489f3d3f32da435bd6e8"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86-linux","checksum":"cdaa147bbb7e5fd59adc2aba167b7965221013a39830494f616974e97db02a42"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86-mingw32","checksum":"eda2bd51324e855a1593aa0c805d1c99a95dcc5161bc61eb6e8afb5d4e7bcb75"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86_64-darwin","checksum":"4e2c937e5dc991a5675e4b78d6132e818862f19479013c2edc2455c76b54be53"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86_64-linux","checksum":"ec2dabea012d31dd99f450174be461f9323b4e97460af13cc3a4f9426c2b0fc0"}, +{"name":"google-protobuf","version":"3.21.7","platform":"java","checksum":"e8a0d10014d18f741afc4882035badbd08558e6f46e09cd937b6ea254881314a"}, +{"name":"google-protobuf","version":"3.21.7","platform":"ruby","checksum":"8d501659c77d159fde20f983f7272ce4c28339f6412c480e4eb98c1ccb52cc62"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x64-mingw-ucrt","checksum":"35dc328caf1c843ae25ec1a4825ded8a71b8f4750449bd8d8e1664ae0dcdc240"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x64-mingw32","checksum":"c9ea241dc186823ceba2abf9952a609668d38a729dd92f0ec744ff67fb60ab30"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86-linux","checksum":"02a1212e6e62e5927649124bdc6315dd54256059b3a7aed119811ceaef85c310"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86-mingw32","checksum":"509529f9231a6b61c97c26e12938054007be8a1dacb83dcd3b3a385107ce60cc"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86_64-darwin","checksum":"93754c1366a3ecbd69bec241ab531a01aa05640577a2c0e52e671bdcb194f19f"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86_64-linux","checksum":"9c7a49bb1cdbb17c039297d9aff8515245868f3ad86ebf274e4c0fd6fd9263be"}, {"name":"googleapis-common-protos-types","version":"1.3.0","platform":"ruby","checksum":"c5411f3197cc3e02547ded1858303b1f830b4dc89c588c142ad6c8a231050671"}, {"name":"googleauth","version":"0.14.0","platform":"ruby","checksum":"4659b563d5b2727e775ba9231e75485c1b55ac8fc319e0bf1bc87d5e9705a632"}, {"name":"gpgme","version":"2.0.20","platform":"ruby","checksum":"fc194689cff40cd4ccafb3086031e930650b3efc15348bbfdf7a2f8b5a826f75"}, diff --git a/Gemfile.lock b/Gemfile.lock index 7913193127f..1b69ed4620d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -619,7 +619,7 @@ GEM signet (~> 0.12) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-protobuf (3.21.5) + google-protobuf (3.21.7) googleapis-common-protos-types (1.3.0) google-protobuf (~> 3.14) googleauth (0.14.0) diff --git a/app/assets/javascripts/clusters/agents/components/activity_history_item.vue b/app/assets/javascripts/clusters/agents/components/activity_history_item.vue index d057d61d9cd..ed11fe1130d 100644 --- a/app/assets/javascripts/clusters/agents/components/activity_history_item.vue +++ b/app/assets/javascripts/clusters/agents/components/activity_history_item.vue @@ -46,7 +46,7 @@ export default { </script> <template> <history-item :icon="eventDetails.eventTypeIcon" class="gl-my-0! gl-px-0! gl-pb-0!"> - <strong class="gl-pl-5 gl-font-lg"> + <strong class="gl-pl-3 gl-font-lg"> <gl-sprintf :message="eventDetails.title" ><template v-if="eventDetails.titleIcon" #titleIcon ><gl-icon @@ -61,7 +61,7 @@ export default { </strong> <template #body> - <p class="gl-mb-0 gl-pb-3 gl-ml-3 gl-text-secondary" :class="bodyClass"> + <p class="gl-mt-2 gl-mb-0 gl-ml-3 gl-pb-3 gl-text-secondary" :class="bodyClass"> <gl-sprintf :message="eventDetails.body"> <template #userName> <span class="gl-font-weight-bold gl-text-body">{{ eventDetails.user.name }}</span> diff --git a/app/assets/javascripts/members/components/table/members_table.vue b/app/assets/javascripts/members/components/table/members_table.vue index 460dc0041ab..0512bc04085 100644 --- a/app/assets/javascripts/members/components/table/members_table.vue +++ b/app/assets/javascripts/members/components/table/members_table.vue @@ -2,7 +2,7 @@ import { GlTable, GlBadge, GlPagination } from '@gitlab/ui'; import { mapState } from 'vuex'; import MembersTableCell from 'ee_else_ce/members/components/table/members_table_cell.vue'; -import { canOverride, canRemove, canResend, canUpdate } from 'ee_else_ce/members/utils'; +import { canUnban, canOverride, canRemove, canResend, canUpdate } from 'ee_else_ce/members/utils'; import { mergeUrlParams } from '~/lib/utils/url_utility'; import UserDate from '~/vue_shared/components/user_date.vue'; import { @@ -90,7 +90,8 @@ export default { canRemove(member) || canResend(member) || canUpdate(member, this.currentUserId) || - canOverride(member) + canOverride(member) || + canUnban(member) ); }, showField(field) { diff --git a/app/assets/javascripts/members/utils.js b/app/assets/javascripts/members/utils.js index 0da44b7d468..bf87ab53d36 100644 --- a/app/assets/javascripts/members/utils.js +++ b/app/assets/javascripts/members/utils.js @@ -105,9 +105,12 @@ export const buildSortHref = ({ return setUrlParams({ ...filterParams, sort: sortParam }, window.location.href, true); }; -// Defined in `ee/app/assets/javascripts/vue_shared/components/members/utils.js` +// Defined in `ee/app/assets/javascripts/members/utils.js` export const canOverride = () => false; +// Defined in `ee/app/assets/javascripts/members/utils.js` +export const canUnban = () => false; + export const parseDataAttributes = (el) => { const { membersData } = el.dataset; diff --git a/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue b/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue index a5ce56daf07..bc62d6d4465 100644 --- a/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue +++ b/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue @@ -176,7 +176,7 @@ export default { category="secondary" data-testid="remove-step-button" icon="remove" - @click="removeValue" + @click="() => removeValue(i)" /> </template> </gl-form-input-group> diff --git a/app/assets/stylesheets/page_bundles/cluster_agents.scss b/app/assets/stylesheets/page_bundles/cluster_agents.scss index 61d752afd7a..d1fab55738f 100644 --- a/app/assets/stylesheets/page_bundles/cluster_agents.scss +++ b/app/assets/stylesheets/page_bundles/cluster_agents.scss @@ -7,9 +7,7 @@ } } - &.issuable-discussion .main-notes-list::before { - @include gl-top-3; - @include gl-left-5; - height: calc(100% - 30px); + .timeline-entry::before { + @include gl-mt-4; } } diff --git a/config/feature_flags/development/indifferent_wal_location_keys.yml b/config/feature_flags/development/indifferent_wal_location_keys.yml new file mode 100644 index 00000000000..2d89ad82085 --- /dev/null +++ b/config/feature_flags/development/indifferent_wal_location_keys.yml @@ -0,0 +1,8 @@ +--- +name: indifferent_wal_location_keys +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/101096 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/377989 +milestone: '15.5' +type: development +group: group::source code +default_enabled: false diff --git a/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml b/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml index 79d9f062999..e84cad9b9a9 100644 --- a/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml +++ b/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_test_summary_count_view + event: view + widget: test_summary distribution: - ce - ee diff --git a/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml b/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml index b4887bbe219..92c5605f5fa 100644 --- a/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml +++ b/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_test_summary_count_full_report_clicked + event: full_report_clicked + widget: test_summary distribution: - ce - ee diff --git a/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml b/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml index 1898fa971fa..6501152e564 100644 --- a/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml +++ b/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_test_summary_count_expand + event: expand + widget: test_summary distribution: - ce - ee diff --git a/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml b/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml index 91cd4d7a232..4be50d63e30 100644 --- a/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml +++ b/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_test_summary_count_expand_success + event: expand_success + widget: test_summary distribution: - ce - ee diff --git a/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml b/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml index 970d843c58e..d5e36376b4a 100644 --- a/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml +++ b/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_test_summary_count_expand_warning + event: expand_warning + widget: test_summary distribution: - ce - ee diff --git a/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml b/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml index 9b7c5c61602..fbb2684fa11 100644 --- a/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml +++ b/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_test_summary_count_expand_failed + event: expand_failed + widget: test_summary distribution: - ce - ee diff --git a/config/metrics/counts_all/20220725205853_i_code_review_merge_request_widget_accessibility_count_view.yml b/config/metrics/counts_all/20220725205853_i_code_review_merge_request_widget_accessibility_count_view.yml index 215bf8f0a1b..235b5ed838a 100644 --- a/config/metrics/counts_all/20220725205853_i_code_review_merge_request_widget_accessibility_count_view.yml +++ b/config/metrics/counts_all/20220725205853_i_code_review_merge_request_widget_accessibility_count_view.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93232" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_accessibility_count_view + event: view + widget: accessibility distribution: - ce - ee diff --git a/config/metrics/counts_all/20220725205901_i_code_review_merge_request_widget_accessibility_count_full_report_clicked.yml b/config/metrics/counts_all/20220725205901_i_code_review_merge_request_widget_accessibility_count_full_report_clicked.yml index a8792444287..25f62dd0184 100644 --- a/config/metrics/counts_all/20220725205901_i_code_review_merge_request_widget_accessibility_count_full_report_clicked.yml +++ b/config/metrics/counts_all/20220725205901_i_code_review_merge_request_widget_accessibility_count_full_report_clicked.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93232" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_accessibility_count_full_report_clicked + event: full_report_clicked + widget: accessibility distribution: - ce - ee diff --git a/config/metrics/counts_all/20220725205908_i_code_review_merge_request_widget_accessibility_count_expand.yml b/config/metrics/counts_all/20220725205908_i_code_review_merge_request_widget_accessibility_count_expand.yml index d5679b65533..a747a6252e9 100644 --- a/config/metrics/counts_all/20220725205908_i_code_review_merge_request_widget_accessibility_count_expand.yml +++ b/config/metrics/counts_all/20220725205908_i_code_review_merge_request_widget_accessibility_count_expand.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93232" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_accessibility_count_expand + event: expand + widget: accessibility distribution: - ce - ee diff --git a/config/metrics/counts_all/20220725205915_i_code_review_merge_request_widget_accessibility_count_expand_success.yml b/config/metrics/counts_all/20220725205915_i_code_review_merge_request_widget_accessibility_count_expand_success.yml index 25ef6ab85ca..9d1b51a2bce 100644 --- a/config/metrics/counts_all/20220725205915_i_code_review_merge_request_widget_accessibility_count_expand_success.yml +++ b/config/metrics/counts_all/20220725205915_i_code_review_merge_request_widget_accessibility_count_expand_success.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93232" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_accessibility_count_expand_success + event: expand_success + widget: accessibility distribution: - ce - ee diff --git a/config/metrics/counts_all/20220725205922_i_code_review_merge_request_widget_accessibility_count_expand_warning.yml b/config/metrics/counts_all/20220725205922_i_code_review_merge_request_widget_accessibility_count_expand_warning.yml index 7939fb8ac7f..3d98561d8eb 100644 --- a/config/metrics/counts_all/20220725205922_i_code_review_merge_request_widget_accessibility_count_expand_warning.yml +++ b/config/metrics/counts_all/20220725205922_i_code_review_merge_request_widget_accessibility_count_expand_warning.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93232" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_accessibility_count_expand_warning + event: expand_warning + widget: accessibility distribution: - ce - ee diff --git a/config/metrics/counts_all/20220725205928_i_code_review_merge_request_widget_accessibility_count_expand_failed.yml b/config/metrics/counts_all/20220725205928_i_code_review_merge_request_widget_accessibility_count_expand_failed.yml index 9e348eb8e27..b3312480433 100644 --- a/config/metrics/counts_all/20220725205928_i_code_review_merge_request_widget_accessibility_count_expand_failed.yml +++ b/config/metrics/counts_all/20220725205928_i_code_review_merge_request_widget_accessibility_count_expand_failed.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93232" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_accessibility_count_expand_failed + event: expand_failed + widget: accessibility distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727004434_i_code_review_merge_request_widget_code_quality_count_view.yml b/config/metrics/counts_all/20220727004434_i_code_review_merge_request_widget_code_quality_count_view.yml index 1687d346e34..918ff9b362c 100644 --- a/config/metrics/counts_all/20220727004434_i_code_review_merge_request_widget_code_quality_count_view.yml +++ b/config/metrics/counts_all/20220727004434_i_code_review_merge_request_widget_code_quality_count_view.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93333" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_code_quality_count_view + event: view + widget: code_quality distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727004440_i_code_review_merge_request_widget_code_quality_count_full_report_clicked.yml b/config/metrics/counts_all/20220727004440_i_code_review_merge_request_widget_code_quality_count_full_report_clicked.yml index 21ff87b8e39..1fb7bbc070b 100644 --- a/config/metrics/counts_all/20220727004440_i_code_review_merge_request_widget_code_quality_count_full_report_clicked.yml +++ b/config/metrics/counts_all/20220727004440_i_code_review_merge_request_widget_code_quality_count_full_report_clicked.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93333" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_code_quality_count_full_report_clicked + event: full_report_clicked + widget: code_quality distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727004446_i_code_review_merge_request_widget_code_quality_count_expand.yml b/config/metrics/counts_all/20220727004446_i_code_review_merge_request_widget_code_quality_count_expand.yml index 49123b462d9..65315c78f2b 100644 --- a/config/metrics/counts_all/20220727004446_i_code_review_merge_request_widget_code_quality_count_expand.yml +++ b/config/metrics/counts_all/20220727004446_i_code_review_merge_request_widget_code_quality_count_expand.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93333" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_code_quality_count_expand + event: expand + widget: code_quality distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727004451_i_code_review_merge_request_widget_code_quality_count_expand_success.yml b/config/metrics/counts_all/20220727004451_i_code_review_merge_request_widget_code_quality_count_expand_success.yml index 8b349e04d21..a32d388e58d 100644 --- a/config/metrics/counts_all/20220727004451_i_code_review_merge_request_widget_code_quality_count_expand_success.yml +++ b/config/metrics/counts_all/20220727004451_i_code_review_merge_request_widget_code_quality_count_expand_success.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93333" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_code_quality_count_expand_success + event: expand_success + widget: code_quality distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727004457_i_code_review_merge_request_widget_code_quality_count_expand_warning.yml b/config/metrics/counts_all/20220727004457_i_code_review_merge_request_widget_code_quality_count_expand_warning.yml index e94c6999711..7287000128e 100644 --- a/config/metrics/counts_all/20220727004457_i_code_review_merge_request_widget_code_quality_count_expand_warning.yml +++ b/config/metrics/counts_all/20220727004457_i_code_review_merge_request_widget_code_quality_count_expand_warning.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93333" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_code_quality_count_expand_warning + event: expand_warning + widget: code_quality distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727004502_i_code_review_merge_request_widget_code_quality_count_expand_failed.yml b/config/metrics/counts_all/20220727004502_i_code_review_merge_request_widget_code_quality_count_expand_failed.yml index 5e49393afff..1e4d668ba98 100644 --- a/config/metrics/counts_all/20220727004502_i_code_review_merge_request_widget_code_quality_count_expand_failed.yml +++ b/config/metrics/counts_all/20220727004502_i_code_review_merge_request_widget_code_quality_count_expand_failed.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93333" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_code_quality_count_expand_failed + event: expand_failed + widget: code_quality distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727044257_i_code_review_merge_request_widget_terraform_count_view.yml b/config/metrics/counts_all/20220727044257_i_code_review_merge_request_widget_terraform_count_view.yml index f523b91b5d9..4f3c66162c3 100644 --- a/config/metrics/counts_all/20220727044257_i_code_review_merge_request_widget_terraform_count_view.yml +++ b/config/metrics/counts_all/20220727044257_i_code_review_merge_request_widget_terraform_count_view.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93340" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_terraform_count_view + event: view + widget: terraform distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727044304_i_code_review_merge_request_widget_terraform_count_full_report_clicked.yml b/config/metrics/counts_all/20220727044304_i_code_review_merge_request_widget_terraform_count_full_report_clicked.yml index 53eb5770ed5..f98b80e3741 100644 --- a/config/metrics/counts_all/20220727044304_i_code_review_merge_request_widget_terraform_count_full_report_clicked.yml +++ b/config/metrics/counts_all/20220727044304_i_code_review_merge_request_widget_terraform_count_full_report_clicked.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93340" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_terraform_count_full_report_clicked + event: full_report_clicked + widget: terraform distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727044310_i_code_review_merge_request_widget_terraform_count_expand.yml b/config/metrics/counts_all/20220727044310_i_code_review_merge_request_widget_terraform_count_expand.yml index 0406b84d457..9d4d25d5514 100644 --- a/config/metrics/counts_all/20220727044310_i_code_review_merge_request_widget_terraform_count_expand.yml +++ b/config/metrics/counts_all/20220727044310_i_code_review_merge_request_widget_terraform_count_expand.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93340" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_terraform_count_expand + event: expand + widget: terraform distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727044316_i_code_review_merge_request_widget_terraform_count_expand_success.yml b/config/metrics/counts_all/20220727044316_i_code_review_merge_request_widget_terraform_count_expand_success.yml index c497758b543..92f9e149377 100644 --- a/config/metrics/counts_all/20220727044316_i_code_review_merge_request_widget_terraform_count_expand_success.yml +++ b/config/metrics/counts_all/20220727044316_i_code_review_merge_request_widget_terraform_count_expand_success.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93340" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_terraform_count_expand_success + event: expand_success + widget: terraform distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727044322_i_code_review_merge_request_widget_terraform_count_expand_warning.yml b/config/metrics/counts_all/20220727044322_i_code_review_merge_request_widget_terraform_count_expand_warning.yml index 1a0a112dc89..aaece878b05 100644 --- a/config/metrics/counts_all/20220727044322_i_code_review_merge_request_widget_terraform_count_expand_warning.yml +++ b/config/metrics/counts_all/20220727044322_i_code_review_merge_request_widget_terraform_count_expand_warning.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93340" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_terraform_count_expand_warning + event: expand_warning + widget: terraform distribution: - ce - ee diff --git a/config/metrics/counts_all/20220727044329_i_code_review_merge_request_widget_terraform_count_expand_failed.yml b/config/metrics/counts_all/20220727044329_i_code_review_merge_request_widget_terraform_count_expand_failed.yml index 3e1ac7db1d5..1a382cc30ac 100644 --- a/config/metrics/counts_all/20220727044329_i_code_review_merge_request_widget_terraform_count_expand_failed.yml +++ b/config/metrics/counts_all/20220727044329_i_code_review_merge_request_widget_terraform_count_expand_failed.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93340" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_terraform_count_expand_failed + event: expand_failed + widget: terraform distribution: - ce - ee diff --git a/config/metrics/counts_all/20220825115210_i_merge_request_widget_license_compliance_count_view.yml b/config/metrics/counts_all/20220825115210_i_merge_request_widget_license_compliance_count_view.yml index 3542f4fd8ac..39d1bea3536 100644 --- a/config/metrics/counts_all/20220825115210_i_merge_request_widget_license_compliance_count_view.yml +++ b/config/metrics/counts_all/20220825115210_i_merge_request_widget_license_compliance_count_view.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96538" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_license_compliance_count_view + event: view + widget: license_compliance distribution: - ce - ee diff --git a/config/metrics/counts_all/20220825115217_i_merge_request_widget_license_compliance_count_full_report_clicked.yml b/config/metrics/counts_all/20220825115217_i_merge_request_widget_license_compliance_count_full_report_clicked.yml index 580d0d4dff3..1258a40add0 100644 --- a/config/metrics/counts_all/20220825115217_i_merge_request_widget_license_compliance_count_full_report_clicked.yml +++ b/config/metrics/counts_all/20220825115217_i_merge_request_widget_license_compliance_count_full_report_clicked.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96538" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_license_compliance_count_full_report_clicked + event: full_report_clicked + widget: license_compliance distribution: - ce - ee diff --git a/config/metrics/counts_all/20220825115224_i_merge_request_widget_license_compliance_count_expand.yml b/config/metrics/counts_all/20220825115224_i_merge_request_widget_license_compliance_count_expand.yml index 1829e1c87c0..07a8ac69ae1 100644 --- a/config/metrics/counts_all/20220825115224_i_merge_request_widget_license_compliance_count_expand.yml +++ b/config/metrics/counts_all/20220825115224_i_merge_request_widget_license_compliance_count_expand.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96538" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_license_compliance_count_expand + event: expand + widget: license_compliance distribution: - ce - ee diff --git a/config/metrics/counts_all/20220825115230_i_merge_request_widget_license_compliance_count_expand_success.yml b/config/metrics/counts_all/20220825115230_i_merge_request_widget_license_compliance_count_expand_success.yml index 4a8f35a7c5b..2785964ed25 100644 --- a/config/metrics/counts_all/20220825115230_i_merge_request_widget_license_compliance_count_expand_success.yml +++ b/config/metrics/counts_all/20220825115230_i_merge_request_widget_license_compliance_count_expand_success.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96538" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_license_compliance_count_expand_success + event: expand_success + widget: license_compliance distribution: - ce - ee diff --git a/config/metrics/counts_all/20220825115236_i_merge_request_widget_license_compliance_count_expand_warning.yml b/config/metrics/counts_all/20220825115236_i_merge_request_widget_license_compliance_count_expand_warning.yml index 1ebc20fca26..eabef1927c6 100644 --- a/config/metrics/counts_all/20220825115236_i_merge_request_widget_license_compliance_count_expand_warning.yml +++ b/config/metrics/counts_all/20220825115236_i_merge_request_widget_license_compliance_count_expand_warning.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96538" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_license_compliance_count_expand_warning + event: expand_warning + widget: license_compliance distribution: - ce - ee diff --git a/config/metrics/counts_all/20220825115242_i_merge_request_widget_license_compliance_count_expand_failed.yml b/config/metrics/counts_all/20220825115242_i_merge_request_widget_license_compliance_count_expand_failed.yml index 7fe8263a53e..39d252fa1b3 100644 --- a/config/metrics/counts_all/20220825115242_i_merge_request_widget_license_compliance_count_expand_failed.yml +++ b/config/metrics/counts_all/20220825115242_i_merge_request_widget_license_compliance_count_expand_failed.yml @@ -12,9 +12,10 @@ introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96538" time_frame: all data_source: redis data_category: optional +instrumentation_class: MergeRequestWidgetExtensionMetric options: - events: - - i_code_review_merge_request_widget_license_compliance_count_expand_failed + event: expand_failed + widget: license_compliance distribution: - ce - ee diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 1cf1051cb47..11a60671008 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -11354,6 +11354,7 @@ Represents a DAST Site Validation. | <a id="dastsitevalidationid"></a>`id` | [`DastSiteValidationID!`](#dastsitevalidationid) | Global ID of the site validation. | | <a id="dastsitevalidationnormalizedtargeturl"></a>`normalizedTargetUrl` | [`String`](#string) | Normalized URL of the target to be validated. | | <a id="dastsitevalidationstatus"></a>`status` | [`DastSiteProfileValidationStatusEnum!`](#dastsiteprofilevalidationstatusenum) | Status of the site validation. | +| <a id="dastsitevalidationvalidationstartedat"></a>`validationStartedAt` | [`Time`](#time) | Timestamp of when the validation started. | ### `DeleteJobsResponse` diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md index a2e03ac43b3..606847ee756 100644 --- a/doc/ci/variables/predefined_variables.md +++ b/doc/ci/variables/predefined_variables.md @@ -39,7 +39,7 @@ as it can cause the pipeline to behave unexpectedly. | `CI_COMMIT_SHA` | 9.0 | all | The commit revision the project is built for. | | `CI_COMMIT_SHORT_SHA` | 11.7 | all | The first eight characters of `CI_COMMIT_SHA`. | | `CI_COMMIT_TAG` | 9.0 | 0.5 | The commit tag name. Available only in pipelines for tags. | -| `CI_COMMIT_TAG_MESSAGE` | 15.5 | all | The commit tag message. Avaiable only in pipelines for tags. | +| `CI_COMMIT_TAG_MESSAGE` | 15.5 | all | The commit tag message. Available only in pipelines for tags. | | `CI_COMMIT_TIMESTAMP` | 13.4 | all | The timestamp of the commit in the ISO 8601 format. | | `CI_COMMIT_TITLE` | 10.8 | all | The title of the commit. The full first line of the message. | | `CI_CONCURRENT_ID` | all | 11.10 | The unique ID of build execution in a single executor. | diff --git a/doc/development/pipelines.md b/doc/development/pipelines.md index 5289f1aa3c3..01e42fda2c9 100644 --- a/doc/development/pipelines.md +++ b/doc/development/pipelines.md @@ -69,6 +69,7 @@ Later on in [the `rspec fail-fast` job](#fail-fast-job-in-merge-request-pipeline In addition, there are a few circumstances where we would always run the full RSpec tests: - when the `pipeline:run-all-rspec` label is set on the merge request +- when the `pipeline:run-full-rspec` label is set on the merge request, this label is assigned by triage automation when the merge request is approved by any reviewer - when the merge request is created by an automation (for example, Gitaly update or MR targeting a stable branch) - when the merge request is created in a security mirror - when any CI configuration file is changed (for example, `.gitlab-ci.yml` or `.gitlab/ci/**/*`) diff --git a/doc/user/compliance/license_compliance/index.md b/doc/user/compliance/license_compliance/index.md index 9d614251cd7..fb5ce37c563 100644 --- a/doc/user/compliance/license_compliance/index.md +++ b/doc/user/compliance/license_compliance/index.md @@ -869,30 +869,61 @@ A full list of variables can be found in [CI/CD variables](#available-cicd-varia To find out what tools are pre-installed in the `license_scanning` Docker image use the following command: ```shell -$ docker run --entrypoint='' registry.gitlab.com/security-products/license-finder:4 /bin/bash -lc 'asdf list' +$ docker run --entrypoint='' -ti --rm registry.gitlab.com/security-products/license-finder:4 \ + /bin/bash -c 'dpkg -i /opt/toolcache/*.deb && asdf list' +... +dotnet-core + 3.1.302 +elixir + 1.10.4 golang - 1.14 + 1.15.5 + 1.16.2 gradle - 6.3 +No versions installed java - adopt-openjdk-11.0.7+10 - adopt-openjdk-8u242-b08 + 11 + 14 + 15 + 8 maven - 3.6.3 +No versions installed nodejs - 10.20.1 - 12.16.3 + 10.21.0 + 12.18.2 + 14.17.1 php - 7.4.5 + 7.4.8 python 2.7.18 - 3.8.2 + 3.3.7 + 3.4.10 + 3.5.9 + 3.6.11 + 3.7.7 + 3.8.5 ruby + 2.4.10 + 2.4.5 + 2.4.9 + 2.5.8 + 2.6.0 + 2.6.1 + 2.6.2 + 2.6.3 + 2.6.4 + 2.6.5 2.6.6 -sbt - 1.3.8 + 2.7.0 + 2.7.1 + 2.7.2 +rust + 1.45.0 ``` +It might take more than 10 minutes to run the command above. +This is because it installs every single tool version available in the Docker image. + To interact with the `license_scanning` runtime environment use the following command: ```shell diff --git a/doc/user/group/saml_sso/troubleshooting.md b/doc/user/group/saml_sso/troubleshooting.md index 1beb2e028e3..bde5ed1762a 100644 --- a/doc/user/group/saml_sso/troubleshooting.md +++ b/doc/user/group/saml_sso/troubleshooting.md @@ -76,6 +76,19 @@ In a relevant log entry, the `json.params` should provide a valid response with: - `"key": "RelayState"` with `"value": "/group-path"`, and - `"key": "group_id"` with `"value": "group-path"`. +You should also check the decoded SAML response with the following filters +in case the customer has [configured SAML Group Sync](group_sync.md): + +- `json.class`: `GroupSamlGroupSyncWorker` +- `json.args`: `<user ID> or <group ID>` + +In the relevant log entry, the: + +- `json.args` are in the form `<userID>, <group ID>, + [group link ID 1, group link ID 2, ..., group link ID N]`. +- `json.extra.group_saml_group_sync_worker.stats.*` fields show how many times + this run of group sync `added`, `removed` or `changed` the user's membership. + In some cases, if the SAML response is lengthy, you may receive a `"key": "truncated"` with `"value":"..."`. In these cases, use one of the [SAML debugging tools](#saml-debugging-tools), or for SAML SSO for groups, a group owner can get a copy of the SAML response from when they select diff --git a/lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb b/lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb index 5d91292b8de..3180289ec69 100644 --- a/lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb +++ b/lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb @@ -97,8 +97,14 @@ module Gitlab end def databases_in_sync?(wal_locations) + locations = if Feature.enabled?(:indifferent_wal_location_keys) + wal_locations.with_indifferent_access + else + wal_locations + end + ::Gitlab::Database::LoadBalancing.each_load_balancer.all? do |lb| - if (location = wal_locations[lb.name]) + if (location = locations[lb.name]) lb.select_up_to_date_host(location) else # If there's no entry for a load balancer it means the Sidekiq diff --git a/lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb b/lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb new file mode 100644 index 00000000000..e2fdb3462c5 --- /dev/null +++ b/lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +module Gitlab + module Usage + module Metrics + module Instrumentations + # Usage example + # + # In metric YAML definition: + # + # instrumentation_class: MergeRequestWidgetExtensionMetric + # options: + # event: expand + # widget: terraform + # + class MergeRequestWidgetExtensionMetric < RedisMetric + extend ::Gitlab::Utils::Override + + def validate_options! + raise ArgumentError, "'event' option is required" unless metric_event.present? + raise ArgumentError, "'widget' option is required" unless widget_name.present? + end + + def widget_name + options[:widget] + end + + override :prefix + def prefix + 'i_code_review_merge_request_widget' + end + + private + + override :redis_key + def redis_key + "#{USAGE_PREFIX}#{prefix}_#{widget_name}_count_#{metric_event}".upcase + end + end + end + end + end +end diff --git a/lib/gitlab/usage/metrics/instrumentations/redis_metric.rb b/lib/gitlab/usage/metrics/instrumentations/redis_metric.rb index 9cb91676b77..ae3326fa845 100644 --- a/lib/gitlab/usage/metrics/instrumentations/redis_metric.rb +++ b/lib/gitlab/usage/metrics/instrumentations/redis_metric.rb @@ -22,6 +22,10 @@ module Gitlab def initialize(metric_definition) super + validate_options! + end + + def validate_options! raise ArgumentError, "'event' option is required" unless metric_event.present? raise ArgumentError, "'prefix' option is required" unless options.has_key?(OPTIONS_PREFIX_KEY) end diff --git a/lib/gitlab/usage_data_counters.rb b/lib/gitlab/usage_data_counters.rb index 6310edf3f9e..37c6e1af7c0 100644 --- a/lib/gitlab/usage_data_counters.rb +++ b/lib/gitlab/usage_data_counters.rb @@ -2,9 +2,7 @@ module Gitlab module UsageDataCounters - COUNTERS = [ - MergeRequestWidgetExtensionCounter - ].freeze + COUNTERS = [].freeze COUNTERS_MIGRATED_TO_INSTRUMENTATION_CLASSES = [ PackageEventCounter, @@ -20,7 +18,8 @@ module Gitlab SnippetCounter, CycleAnalyticsCounter, ProductivityAnalyticsCounter, - SourceCodeCounter + SourceCodeCounter, + MergeRequestWidgetExtensionCounter ].freeze UsageDataCounterError = Class.new(StandardError) diff --git a/package.json b/package.json index 12139224df6..667b423bad0 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@codesandbox/sandpack-client": "^1.2.2", "@gitlab/at.js": "1.5.7", "@gitlab/favicon-overlay": "2.0.0", - "@gitlab/svgs": "3.4.0", + "@gitlab/svgs": "3.5.0", "@gitlab/ui": "46.1.0", "@gitlab/visual-review-tools": "1.7.3", "@gitlab/web-ide": "0.0.1-dev-20220815034418", diff --git a/spec/frontend/pipeline_wizard/components/widgets/list_spec.js b/spec/frontend/pipeline_wizard/components/widgets/list_spec.js index 796356634bc..c9e9f5caebe 100644 --- a/spec/frontend/pipeline_wizard/components/widgets/list_spec.js +++ b/spec/frontend/pipeline_wizard/components/widgets/list_spec.js @@ -22,6 +22,9 @@ describe('Pipeline Wizard - List Widget', () => { const setValueOnInputField = (value, atIndex = 0) => { return findGlFormInputGroupByIndex(atIndex).vm.$emit('input', value); }; + const getValueOfInputField = (atIndex = 0) => { + return findGlFormInputGroupByIndex(atIndex).get('input').element.value; + }; const findAddStepButton = () => wrapper.findByTestId('add-step-button'); const addStep = () => findAddStepButton().vm.$emit('click'); @@ -103,6 +106,24 @@ describe('Pipeline Wizard - List Widget', () => { expect(addStepBtn.text()).toBe('add another step'); }); + it('deletes the correct input item', async () => { + createComponent({}, mountExtended); + + await addStep(); + await addStep(); + setValueOnInputField('foo', 0); + setValueOnInputField('bar', 1); + setValueOnInputField('baz', 2); + + const button = findAllGlFormInputGroups().at(1).find('[data-testid="remove-step-button"]'); + + button.vm.$emit('click'); + await nextTick(); + + expect(getValueOfInputField(0)).toBe('foo'); + expect(getValueOfInputField(1)).toBe('baz'); + }); + it('the "add step" button increases the number of input fields', async () => { createComponent(); diff --git a/spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb b/spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb index 8053bd57bba..88007de53d3 100644 --- a/spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb +++ b/spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb @@ -6,7 +6,7 @@ RSpec.describe Gitlab::Database::LoadBalancing::SidekiqServerMiddleware, :clean_ let(:middleware) { described_class.new } let(:worker) { worker_class.new } let(:location) { '0/D525E3A8' } - let(:wal_locations) { { Gitlab::Database::MAIN_DATABASE_NAME.to_sym => location } } + let(:wal_locations) { { Gitlab::Database::MAIN_DATABASE_NAME.to_s => location } } let(:job) { { "retry" => 3, "job_id" => "a180b47c-3fd6-41b8-81e9-34da61c3400e", 'wal_locations' => wal_locations } } before do @@ -315,6 +315,46 @@ RSpec.describe Gitlab::Database::LoadBalancing::SidekiqServerMiddleware, :clean_ expect(middleware.send(:databases_in_sync?, locations)) .to eq(false) end + + context 'when locations have string keys' do + it 'returns false when the load balancers are not in sync' do + locations = {} + + Gitlab::Database::LoadBalancing.each_load_balancer do |lb| + locations[lb.name.to_s] = 'foo' + + allow(lb) + .to receive(:select_up_to_date_host) + .with('foo') + .and_return(false) + end + + expect(middleware.send(:databases_in_sync?, locations)) + .to eq(false) + end + + context 'when "indifferent_wal_location_keys" FF is off' do + before do + stub_feature_flags(indifferent_wal_location_keys: false) + end + + it 'returns true when the load balancers are not in sync' do + locations = {} + + Gitlab::Database::LoadBalancing.each_load_balancer do |lb| + locations[lb.name.to_s] = 'foo' + + allow(lb) + .to receive(:select_up_to_date_host) + .with('foo') + .and_return(false) + end + + expect(middleware.send(:databases_in_sync?, locations)) + .to eq(true) + end + end + end end def process_job(job) diff --git a/spec/lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric_spec.rb b/spec/lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric_spec.rb new file mode 100644 index 00000000000..c0ac00c9cdd --- /dev/null +++ b/spec/lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Gitlab::Usage::Metrics::Instrumentations::MergeRequestWidgetExtensionMetric, + :clean_gitlab_redis_shared_state do + before do + 4.times do + Gitlab::UsageDataCounters::MergeRequestWidgetExtensionCounter.count(:terraform_count_expand) + end + end + + let(:expected_value) { 4 } + + it_behaves_like 'a correct instrumented metric value', { + options: { event: 'expand', widget: 'terraform' }, + time_frame: 'all' + } + + it 'raises an exception if widget option is not present' do + expect do + described_class.new(options: { event: 'expand' }, time_frame: 'all') + end.to raise_error(ArgumentError, /'widget' option is required/) + end +end diff --git a/yarn.lock b/yarn.lock index 1a66f91e703..1d8029ca500 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1066,10 +1066,10 @@ stylelint-declaration-strict-value "1.8.0" stylelint-scss "4.2.0" -"@gitlab/svgs@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.4.0.tgz#cfc8319e259e5914ad0f48ee0ab6e0eec75d03da" - integrity sha512-myCYbjViOI2k6oHGRqL1iKaMKbYvPqWL6tYZ07QkUKziVz5kYjECWk5c0Qp6yu9NsFAMWuow5PkR3oFTGBHmbg== +"@gitlab/svgs@3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.5.0.tgz#226240b7aa93db986f4c6f7738ca2a1846b5234d" + integrity sha512-/djPsJzUY7i/FaydRVt3ZyXiFf5HGNo1rg2mfLn1EpXvT4zc2ag5ECwnYcPb97KgqFCJX6Tk+Ndu8Wh3GoOW1g== "@gitlab/ui@46.1.0": version "46.1.0" |