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>2022-10-31 15:11:25 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-10-31 15:11:25 +0300
commit004274926a034decf20948c34e290267dffbdfde (patch)
treed13d9a1520376138bc4aa041c9e1d93833eee741
parent5025412fc4ab16cc7049a38d43fdc2e4095a1f87 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--app/assets/javascripts/groups/components/overview_tabs.vue5
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/state_container.vue11
-rw-r--r--config/events/20210915205112_packages_delete_package.yml4
-rw-r--r--config/feature_flags/development/dast_api_scanner.yml2
-rw-r--r--data/deprecations/14-8-graphql-ids.yml2
-rw-r--r--data/deprecations/15-1-jira-github-enterprise-dvcs.yml2
-rw-r--r--doc/administration/raketasks/uploads/migrate.md2
-rw-r--r--doc/architecture/blueprints/pods/iteration0-organizations-introduction.pngbin326285 -> 67160 bytes
-rw-r--r--doc/architecture/blueprints/pods/term-cluster.pngbin271291 -> 63268 bytes
-rw-r--r--doc/architecture/blueprints/pods/term-organization.pngbin22575 -> 7150 bytes
-rw-r--r--doc/ci/yaml/index.md2
-rw-r--r--doc/development/sec/img/primary_identifier_changed_v15_6.pngbin36767 -> 12665 bytes
-rw-r--r--doc/user/application_security/dast/index.md6
-rw-r--r--doc/user/application_security/img/secure_tools_and_cicd_stages.pngbin42240 -> 11849 bytes
-rw-r--r--doc/user/discussions/index.md2
-rw-r--r--doc/user/group/roadmap/img/roadmap_blocked_icon_v15_5.pngbin25453 -> 8248 bytes
-rw-r--r--lib/tasks/gitlab/tw/codeowners.rake1
-rw-r--r--locale/gitlab.pot36
-rw-r--r--scripts/review_apps/base-config.yaml4
-rw-r--r--spec/frontend/groups/components/overview_tabs_spec.js48
-rw-r--r--spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap4
21 files changed, 72 insertions, 59 deletions
diff --git a/app/assets/javascripts/groups/components/overview_tabs.vue b/app/assets/javascripts/groups/components/overview_tabs.vue
index d0c5846ac88..46ab30367a0 100644
--- a/app/assets/javascripts/groups/components/overview_tabs.vue
+++ b/app/assets/javascripts/groups/components/overview_tabs.vue
@@ -15,6 +15,7 @@ import eventHub from '../event_hub';
import GroupsApp from './app.vue';
const [SORTING_ITEM_NAME] = OVERVIEW_TABS_SORTING_ITEMS;
+const MIN_SEARCH_LENGTH = 3;
export default {
components: { GlTabs, GlTab, GroupsApp, GlSearchBoxByType, GlSorting, GlSortingItem },
@@ -136,7 +137,9 @@ export default {
handleSearchInput(value) {
this.search = value;
- this.debouncedSearch();
+ if (!this.search || this.search.length >= MIN_SEARCH_LENGTH) {
+ this.debouncedSearch();
+ }
},
debouncedSearch: debounce(async function debouncedSearch() {
this.handleSearchOrSortChange();
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/state_container.vue b/app/assets/javascripts/vue_merge_request_widget/components/state_container.vue
index 932659f3c89..bc1f15be6a5 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/state_container.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/state_container.vue
@@ -50,7 +50,11 @@ export default {
</script>
<template>
- <div class="mr-widget-body media" :class="wrapperClasses" v-on="$listeners">
+ <div
+ class="mr-widget-body media mr-widget-body-line-height-1 gl-line-height-normal"
+ :class="wrapperClasses"
+ v-on="$listeners"
+ >
<div v-if="isLoading" class="gl-w-full mr-conflict-loader">
<slot name="loading">
<div class="gl-display-flex">
@@ -67,7 +71,10 @@ export default {
</slot>
<div class="gl-display-flex gl-w-full">
<div
- :class="{ 'gl-display-flex': actions.length, 'gl-md-display-flex': !actions.length }"
+ :class="{
+ 'gl-display-flex': actions.length,
+ 'gl-md-display-flex gl-align-items-center': !actions.length,
+ }"
class="media-body"
>
<slot></slot>
diff --git a/config/events/20210915205112_packages_delete_package.yml b/config/events/20210915205112_packages_delete_package.yml
index 568a800a8e6..ebbebd553bf 100644
--- a/config/events/20210915205112_packages_delete_package.yml
+++ b/config/events/20210915205112_packages_delete_package.yml
@@ -7,8 +7,8 @@ value_description: ""
extra_properties:
identifiers:
product_section: dev
-product_stage: create
-product_group: group::ecosystem
+product_stage: manage
+product_group: group::foundations
product_category:
milestone: "13.4"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41668
diff --git a/config/feature_flags/development/dast_api_scanner.yml b/config/feature_flags/development/dast_api_scanner.yml
index 8299004fecb..5cc268ee9b9 100644
--- a/config/feature_flags/development/dast_api_scanner.yml
+++ b/config/feature_flags/development/dast_api_scanner.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/345837
milestone: '14.7'
type: development
group: group::dynamic analysis
-default_enabled: false
+default_enabled: true
diff --git a/data/deprecations/14-8-graphql-ids.yml b/data/deprecations/14-8-graphql-ids.yml
index cd830a313b1..899ff323792 100644
--- a/data/deprecations/14-8-graphql-ids.yml
+++ b/data/deprecations/14-8-graphql-ids.yml
@@ -58,7 +58,7 @@
to one of the other two forms (using the correct appropriate type in the signature, or using
an inline argument expression).
# The following items are not published on the docs page, but may be used in the future.
- stage: ecosystem
+ stage: Manage
tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/257883'
documentation_url: # (optional) This is a link to the current documentation page
diff --git a/data/deprecations/15-1-jira-github-enterprise-dvcs.yml b/data/deprecations/15-1-jira-github-enterprise-dvcs.yml
index ac8b630c1ff..d35d06e006c 100644
--- a/data/deprecations/15-1-jira-github-enterprise-dvcs.yml
+++ b/data/deprecations/15-1-jira-github-enterprise-dvcs.yml
@@ -8,7 +8,7 @@
The [Jira DVCS Connector](https://docs.gitlab.com/ee/integration/jira/dvcs.html) (which enables the [Jira Development Panel](https://support.atlassian.com/jira-software-cloud/docs/view-development-information-for-an-issue/)), will no longer support Jira Cloud users starting with GitLab 16.0. The [GitLab for Jira App](https://docs.gitlab.com/ee/integration/jira/connect-app.html) has always been recommended for Jira Cloud users, and it will be required instead of the DVCS connector. If you are a Jira Cloud user, we recommended you begin migrating to the GitLab for Jira App.
Any Jira Server and Jira Data Center users will need to confirm they are not using the GitHub Enterprise Connector to enable the GitLab DVCS integration, but they may continue to use the [native GitLab DVCS integration](https://docs.gitlab.com/ee/integration/jira/dvcs.html) (supported in Jira 8.14 and later).
# The following items are not published on the docs page, but may be used in the future.
- stage: Ecosystem # (optional - may be required in the future) String value of the stage that the feature was created in. e.g., Growth
+ stage: Manage # (optional - may be required in the future) String value of the stage that the feature was created in. e.g., Growth
tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
issue_url: https://gitlab.com/groups/gitlab-org/-/epics/7508 # (optional) This is a link to the deprecation issue in GitLab
documentation_url: https://docs.gitlab.com/ee/integration/jira/dvcs.html # (optional) This is a link to the current documentation page
diff --git a/doc/administration/raketasks/uploads/migrate.md b/doc/administration/raketasks/uploads/migrate.md
index b6f14bc6fa4..99f6373af2c 100644
--- a/doc/administration/raketasks/uploads/migrate.md
+++ b/doc/administration/raketasks/uploads/migrate.md
@@ -42,7 +42,7 @@ gitlab-rake "gitlab:uploads:migrate:all"
sudo RAILS_ENV=production -u git -H bundle exec rake gitlab:uploads:migrate:all
```
-You can optionally track progress and verify that all packages migrated successfully using the
+You can optionally track progress and verify that all uploads migrated successfully using the
[PostgreSQL console](https://docs.gitlab.com/omnibus/settings/database.html#connecting-to-the-bundled-postgresql-database):
- `sudo gitlab-rails dbconsole` for Omnibus GitLab instances.
diff --git a/doc/architecture/blueprints/pods/iteration0-organizations-introduction.png b/doc/architecture/blueprints/pods/iteration0-organizations-introduction.png
index 5f5cad7b169..5725b0fa71f 100644
--- a/doc/architecture/blueprints/pods/iteration0-organizations-introduction.png
+++ b/doc/architecture/blueprints/pods/iteration0-organizations-introduction.png
Binary files differ
diff --git a/doc/architecture/blueprints/pods/term-cluster.png b/doc/architecture/blueprints/pods/term-cluster.png
index f52e31b52ad..87e4d631551 100644
--- a/doc/architecture/blueprints/pods/term-cluster.png
+++ b/doc/architecture/blueprints/pods/term-cluster.png
Binary files differ
diff --git a/doc/architecture/blueprints/pods/term-organization.png b/doc/architecture/blueprints/pods/term-organization.png
index f605adb124d..4c82c62b8f4 100644
--- a/doc/architecture/blueprints/pods/term-organization.png
+++ b/doc/architecture/blueprints/pods/term-organization.png
Binary files differ
diff --git a/doc/ci/yaml/index.md b/doc/ci/yaml/index.md
index cdb6dc88446..a23858c0980 100644
--- a/doc/ci/yaml/index.md
+++ b/doc/ci/yaml/index.md
@@ -4106,6 +4106,8 @@ successfully complete before starting.
shows **pending** (**{status_pending}**) if the downstream pipeline status is
**waiting for manual action** (**{status_manual}**) due to manual jobs. By default,
jobs in later stages do not start until the trigger job completes.
+- If the downstream pipeline has a failed job, but the job uses [`allow_failure: true`](#allow_failure),
+ the downstream pipeline is considered successful and the trigger job shows **success**.
#### `trigger:forward`
diff --git a/doc/development/sec/img/primary_identifier_changed_v15_6.png b/doc/development/sec/img/primary_identifier_changed_v15_6.png
index 6bdca5152f2..aa1a116c801 100644
--- a/doc/development/sec/img/primary_identifier_changed_v15_6.png
+++ b/doc/development/sec/img/primary_identifier_changed_v15_6.png
Binary files differ
diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md
index 4a6d3151437..f21e1312eef 100644
--- a/doc/user/application_security/dast/index.md
+++ b/doc/user/application_security/dast/index.md
@@ -1152,6 +1152,9 @@ To delete an on-demand scan:
## Site profile
+> - Scan method [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/345837) in GitLab 15.6.
+> - File URL [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/345837) in GitLab 15.6.
+
A site profile defines the attributes and configuration details of the deployed application,
website, or API to be scanned by DAST. A site profile can be referenced in `.gitlab-ci.yml` and
on-demand scans.
@@ -1172,6 +1175,9 @@ A site profile contains:
- **Password form field**: The name of password field at the sign-in HTML form.
- **Submit form field**: The `id` or `name` of the element that when selected submits the sign-in HTML form.
+- **Scan method**: A type of method to perform API testing. The supported methods are OpenAPI, Postman Collections, and HTTP Archive (HAR) documents.
+- **File URL**: The URL of the OpenAPI, Postman Collection, or HTTP Archive file.
+
When an API site type is selected, a [host override](#host-override) is used to ensure the API being scanned is on the same host as the target. This is done to reduce the risk of running an active scan against the wrong API.
When configured, request headers and password fields are encrypted using [`aes-256-gcm`](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) before being stored in the database.
diff --git a/doc/user/application_security/img/secure_tools_and_cicd_stages.png b/doc/user/application_security/img/secure_tools_and_cicd_stages.png
index 3dbfd835baf..3284b376adc 100644
--- a/doc/user/application_security/img/secure_tools_and_cicd_stages.png
+++ b/doc/user/application_security/img/secure_tools_and_cicd_stages.png
Binary files differ
diff --git a/doc/user/discussions/index.md b/doc/user/discussions/index.md
index 40a118e3f23..c0cf584f8c3 100644
--- a/doc/user/discussions/index.md
+++ b/doc/user/discussions/index.md
@@ -168,7 +168,7 @@ If an issue or merge request is locked and closed, you cannot reopen it.
> - [Renamed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87403) from "confidential comments" to "internal notes" in GitLab 15.0.
> - [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87383) in GitLab 15.0.
> - [Feature flag `confidential_notes`](https://gitlab.com/gitlab-org/gitlab/-/issues/362712) removed in GitLab 15.2.
-> - [Changed] permissions in GitLab 15.5 to at least the Reporter role. In GitLab 15.4 and earlier, issue or epic authors and assignees could also read and create internal notes.
+> - [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/363045) permissions in GitLab 15.5 to at least the Reporter role. In GitLab 15.4 and earlier, issue or epic authors and assignees could also read and create internal notes.
You can add an internal note **to an issue or an epic**. It's then visible only to project members who have at least the Reporter role.
diff --git a/doc/user/group/roadmap/img/roadmap_blocked_icon_v15_5.png b/doc/user/group/roadmap/img/roadmap_blocked_icon_v15_5.png
index 52130672e5a..625e4afc714 100644
--- a/doc/user/group/roadmap/img/roadmap_blocked_icon_v15_5.png
+++ b/doc/user/group/roadmap/img/roadmap_blocked_icon_v15_5.png
Binary files differ
diff --git a/lib/tasks/gitlab/tw/codeowners.rake b/lib/tasks/gitlab/tw/codeowners.rake
index 4dc129949c4..36441b35182 100644
--- a/lib/tasks/gitlab/tw/codeowners.rake
+++ b/lib/tasks/gitlab/tw/codeowners.rake
@@ -37,7 +37,6 @@ namespace :tw do
CodeOwnerRule.new('Distribution (Omnibus)', '@axil'),
CodeOwnerRule.new('Documentation Guidelines', '@sselhorn'),
CodeOwnerRule.new('Dynamic Analysis', '@rdickenson'),
- CodeOwnerRule.new('Ecosystem', '@kpaizee'),
CodeOwnerRule.new('Editor', '@ashrafkhamis'),
CodeOwnerRule.new('Foundations', '@rdickenson'),
CodeOwnerRule.new('Fuzz Testing', '@rdickenson'),
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index fcfb4f8ef26..c811cd8cbea 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -27129,9 +27129,6 @@ msgstr ""
msgid "No matching results for \"%{query}\""
msgstr ""
-msgid "No matching results..."
-msgstr ""
-
msgid "No members found"
msgstr ""
@@ -28104,12 +28101,6 @@ msgstr ""
msgid "OnDemandScans|Could not run the scan. Please try again."
msgstr ""
-msgid "OnDemandScans|Create new scanner profile"
-msgstr ""
-
-msgid "OnDemandScans|Create new site profile"
-msgstr ""
-
msgid "OnDemandScans|DAST configuration"
msgstr ""
@@ -28155,12 +28146,6 @@ msgstr ""
msgid "OnDemandScans|Keep editing"
msgstr ""
-msgid "OnDemandScans|Manage scanner profiles"
-msgstr ""
-
-msgid "OnDemandScans|Manage site profiles"
-msgstr ""
-
msgid "OnDemandScans|My daily scan"
msgstr ""
@@ -28182,12 +28167,6 @@ msgstr ""
msgid "OnDemandScans|No %{profileType} profiles found for DAST"
msgstr ""
-msgid "OnDemandScans|No profile yet. In order to create a new scan, you need to have at least one completed scanner profile."
-msgstr ""
-
-msgid "OnDemandScans|No profile yet. In order to create a new scan, you need to have at least one completed site profile."
-msgstr ""
-
msgid "OnDemandScans|On-demand Scans"
msgstr ""
@@ -28230,15 +28209,6 @@ msgstr ""
msgid "OnDemandScans|Scan type"
msgstr ""
-msgid "OnDemandScans|Scanner profile"
-msgstr ""
-
-msgid "OnDemandScans|Select one of the existing profiles"
-msgstr ""
-
-msgid "OnDemandScans|Site profile"
-msgstr ""
-
msgid "OnDemandScans|Start by creating a new profile. Profiles make it easy to save and reuse configuration details for GitLab’s security tools."
msgstr ""
@@ -28269,12 +28239,6 @@ msgstr ""
msgid "OnDemandScans|Timezone"
msgstr ""
-msgid "OnDemandScans|Use existing scanner profile"
-msgstr ""
-
-msgid "OnDemandScans|Use existing site profile"
-msgstr ""
-
msgid "OnDemandScans|View results"
msgstr ""
diff --git a/scripts/review_apps/base-config.yaml b/scripts/review_apps/base-config.yaml
index 954f1a7297d..3ee4ec66786 100644
--- a/scripts/review_apps/base-config.yaml
+++ b/scripts/review_apps/base-config.yaml
@@ -42,10 +42,10 @@ gitlab:
resources:
requests:
cpu: 200m
- memory: 450Mi
+ memory: 500Mi
limits:
cpu: 400m
- memory: 900Mi
+ memory: 1000Mi
gitlab-shell:
resources:
requests:
diff --git a/spec/frontend/groups/components/overview_tabs_spec.js b/spec/frontend/groups/components/overview_tabs_spec.js
index 93e087e10f2..b615679dcc5 100644
--- a/spec/frontend/groups/components/overview_tabs_spec.js
+++ b/spec/frontend/groups/components/overview_tabs_spec.js
@@ -67,6 +67,7 @@ describe('OverviewTabs', () => {
const findTabPanels = () => wrapper.findAllComponents(GlTab);
const findTab = (name) => wrapper.findByRole('tab', { name });
const findSelectedTab = () => wrapper.findByRole('tab', { selected: true });
+ const findSearchInput = () => wrapper.findByPlaceholderText(OverviewTabs.i18n.searchPlaceholder);
beforeEach(() => {
axiosMock = new AxiosMockAdapter(axios);
@@ -244,18 +245,39 @@ describe('OverviewTabs', () => {
};
describe('when search is typed in', () => {
- const search = 'Foo bar';
+ describe('when search is greater than or equal to 3 characters', () => {
+ const search = 'Foo bar';
- beforeEach(async () => {
- await setup();
- await wrapper.findByPlaceholderText(OverviewTabs.i18n.searchPlaceholder).setValue(search);
- });
+ beforeEach(async () => {
+ await setup();
+ await findSearchInput().setValue(search);
+ });
- it('updates query string with `filter` key', () => {
- expect(routerMock.push).toHaveBeenCalledWith({ query: { filter: search } });
+ it('updates query string with `filter` key', () => {
+ expect(routerMock.push).toHaveBeenCalledWith({ query: { filter: search } });
+ });
+
+ sharedAssertions({ search, sort: defaultProvide.initialSort });
});
- sharedAssertions({ search, sort: defaultProvide.initialSort });
+ describe('when search is less than 3 characters', () => {
+ const search = 'Fo';
+
+ beforeEach(async () => {
+ await setup();
+ await findSearchInput().setValue(search);
+ });
+
+ it('does not emit `fetchFilteredAndSortedGroups` event from `eventHub`', () => {
+ expect(eventHub.$emit).not.toHaveBeenCalledWith(
+ `${ACTIVE_TAB_SUBGROUPS_AND_PROJECTS}fetchFilteredAndSortedGroups`,
+ {
+ filterGroupsBy: search,
+ sortBy: defaultProvide.initialSort,
+ },
+ );
+ });
+ });
});
describe('when sort is changed', () => {
@@ -308,6 +330,16 @@ describe('OverviewTabs', () => {
).toBe('Foo bar');
});
+ describe('when search is cleared', () => {
+ it('removes `filter` key from query string', async () => {
+ await findSearchInput().setValue('');
+
+ expect(routerMock.push).toHaveBeenCalledWith({
+ query: { sort: SORTING_ITEM_UPDATED.desc },
+ });
+ });
+ });
+
it('sets sort dropdown', () => {
expect(wrapper.findComponent(GlSorting).props()).toMatchObject({
text: SORTING_ITEM_UPDATED.label,
diff --git a/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap b/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap
index 5f383c468d8..43f63d9fbf1 100644
--- a/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap
+++ b/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap
@@ -2,7 +2,7 @@
exports[`MRWidgetAutoMergeEnabled when graphql is disabled template should have correct elements 1`] = `
<div
- class="mr-widget-body media"
+ class="mr-widget-body media mr-widget-body-line-height-1 gl-line-height-normal"
>
<div
class="gl-w-6 gl-h-6 gl-display-flex gl-align-self-start gl-mr-3"
@@ -179,7 +179,7 @@ exports[`MRWidgetAutoMergeEnabled when graphql is disabled template should have
exports[`MRWidgetAutoMergeEnabled when graphql is enabled template should have correct elements 1`] = `
<div
- class="mr-widget-body media"
+ class="mr-widget-body media mr-widget-body-line-height-1 gl-line-height-normal"
>
<div
class="gl-w-6 gl-h-6 gl-display-flex gl-align-self-start gl-mr-3"