summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2019-05-21 17:08:07 +0000
committerYorick Peterse <yorickpeterse@gmail.com>2019-05-21 17:08:07 +0000
commit9742e6ef8db6a2cc83eea0336221f8196930fc3f (patch)
tree0ce763564cbf84ddd61c0daadceed05829c3a132
parent406fe0e9f2908d1fb1736ff75686434a73576ad6 (diff)
parent9f7af69bebc63c8e44922d8c92e69384f68c3fa1 (diff)
downloadgitlab-ce-9742e6ef8db6a2cc83eea0336221f8196930fc3f.tar.gz
Merge branch '11-11-stable-prepare-rc5' into '11-11-stable'
Prepare 11.11.0-rc5 release See merge request gitlab-org/gitlab-ce!28537
-rw-r--r--app/assets/javascripts/main.js2
-rw-r--r--app/views/ci/variables/_variable_row.html.haml2
-rw-r--r--app/views/layouts/header/_default.html.haml5
-rw-r--r--changelogs/unreleased/55127-add-delay-after-mr-creation-for-async-tasks-to-complete.yml5
-rw-r--r--changelogs/unreleased/62038-chevron-down.yml5
-rw-r--r--changelogs/unreleased/fl-fix-next-flag-for-good.yml5
-rw-r--r--changelogs/unreleased/sh-fix-rugged-get-tree-entries-recursive.yml5
-rw-r--r--doc/ci/merge_request_pipelines/index.md9
-rw-r--r--doc/ci/pipelines.md13
-rw-r--r--doc/user/application_security/security_dashboard/img/dashboard.pngbin66467 -> 58585 bytes
-rw-r--r--doc/user/group/clusters/index.md8
-rw-r--r--doc/user/instance/clusters/index.md23
-rw-r--r--doc/user/project/clusters/index.md12
-rw-r--r--doc/user/project/integrations/prometheus.md2
-rw-r--r--lib/api/merge_requests.rb4
-rw-r--r--lib/gitlab/git/rugged_impl/tree.rb2
-rw-r--r--spec/lib/gitlab/git/tree_spec.rb4
-rw-r--r--spec/requests/api/merge_requests_spec.rb27
18 files changed, 79 insertions, 54 deletions
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index 213d5c6521a..b503c746801 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -147,7 +147,7 @@ function deferredInitialisation() {
const canaryBadge = document.querySelector('.js-canary-badge');
const canaryLink = document.querySelector('.js-canary-link');
if (canaryBadge) {
- canaryBadge.classList.add('hidden');
+ canaryBadge.classList.remove('hidden');
}
if (canaryLink) {
canaryLink.classList.add('hidden');
diff --git a/app/views/ci/variables/_variable_row.html.haml b/app/views/ci/variables/_variable_row.html.haml
index b4930b41c09..89bd7b31352 100644
--- a/app/views/ci/variables/_variable_row.html.haml
+++ b/app/views/ci/variables/_variable_row.html.haml
@@ -23,7 +23,7 @@
.ci-variable-row-body.border-bottom
%input.js-ci-variable-input-id{ type: "hidden", name: id_input_name, value: id }
%input.js-ci-variable-input-destroy{ type: "hidden", name: destroy_input_name }
- %select.js-ci-variable-input-variable-type.ci-variable-body-item.form-control.select-control.table-section.section-15{ name: variable_type_input_name }
+ %select.js-ci-variable-input-variable-type.ci-variable-body-item.form-control.select-control.custom-select.table-section.section-15{ name: variable_type_input_name }
= options_for_select(ci_variable_type_options, variable_type)
%input.js-ci-variable-input-key.ci-variable-body-item.qa-ci-variable-input-key.form-control.table-section.section-15{ type: "text",
name: key_input_name,
diff --git a/app/views/layouts/header/_default.html.haml b/app/views/layouts/header/_default.html.haml
index 724c9976954..f8b7d0c530a 100644
--- a/app/views/layouts/header/_default.html.haml
+++ b/app/views/layouts/header/_default.html.haml
@@ -18,8 +18,9 @@
%span.logo-text.d-none.d-lg-block.prepend-left-8
= logo_text
- if Gitlab.com?
- %span.js-canary-badge.badge.badge-pill.green-badge.align-self-center
- = _('Next')
+ = link_to 'https://next.gitlab.com', class: 'label-link js-canary-badge canary-badge bg-transparent hidden', target: :_blank do
+ %span.color-label.has-tooltip.badge.badge-pill.green-badge
+ = _('Next')
- if current_user
= render "layouts/nav/dashboard"
diff --git a/changelogs/unreleased/55127-add-delay-after-mr-creation-for-async-tasks-to-complete.yml b/changelogs/unreleased/55127-add-delay-after-mr-creation-for-async-tasks-to-complete.yml
deleted file mode 100644
index ac3bb596842..00000000000
--- a/changelogs/unreleased/55127-add-delay-after-mr-creation-for-async-tasks-to-complete.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Wait for pipeline creation to complete before accepting a MR via API
-merge_request: 27978
-author: kerrizor
-type: fixed
diff --git a/changelogs/unreleased/62038-chevron-down.yml b/changelogs/unreleased/62038-chevron-down.yml
new file mode 100644
index 00000000000..9d58c364bc9
--- /dev/null
+++ b/changelogs/unreleased/62038-chevron-down.yml
@@ -0,0 +1,5 @@
+---
+title: Adds arrow icons to select option in CI/CD settings
+merge_request:
+author:
+type: fixed
diff --git a/changelogs/unreleased/fl-fix-next-flag-for-good.yml b/changelogs/unreleased/fl-fix-next-flag-for-good.yml
new file mode 100644
index 00000000000..93f27824213
--- /dev/null
+++ b/changelogs/unreleased/fl-fix-next-flag-for-good.yml
@@ -0,0 +1,5 @@
+---
+title: Next badge must visible when canary flag is true
+merge_request:
+author:
+type: fixed
diff --git a/changelogs/unreleased/sh-fix-rugged-get-tree-entries-recursive.yml b/changelogs/unreleased/sh-fix-rugged-get-tree-entries-recursive.yml
new file mode 100644
index 00000000000..a9d46c6f460
--- /dev/null
+++ b/changelogs/unreleased/sh-fix-rugged-get-tree-entries-recursive.yml
@@ -0,0 +1,5 @@
+---
+title: Fix Rugged get_tree_entries recursive flag not working
+merge_request: 28494
+author:
+type: fixed
diff --git a/doc/ci/merge_request_pipelines/index.md b/doc/ci/merge_request_pipelines/index.md
index 3c26a38e3de..cb803cb4c3f 100644
--- a/doc/ci/merge_request_pipelines/index.md
+++ b/doc/ci/merge_request_pipelines/index.md
@@ -70,15 +70,18 @@ when a merge request was created or updated. For example:
## Pipelines for Merged Results **[PREMIUM]**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/7380) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.10.
+> This feature is disabled by default until we resolve issues with [contention handling](https://gitlab.com/gitlab-org/gitlab-ee/issues/9186), but [can be enabled manually](#enabling-pipelines-for-merged-results).
It's possible for your source and target branches to diverge, which can result
in the scenario that source branch's pipeline was green, the target's pipeline was green,
-but the combined output fails. By having your merge request pipeline automatically
+but the combined output fails.
+
+By having your merge request pipeline automatically
create a new ref that contains the merge result of the source and target branch
(then running a pipeline on that ref), we can better test that the combined result
is also valid.
-From GitLab 11.10, pipelines for merge requests run by default
+GitLab can run pipelines for merge requests
on this merged result. That is, where the source and target branches are combined into a
new ref and a pipeline for this ref validates the result prior to merging.
@@ -95,7 +98,7 @@ get out of WIP status or resolve merge conflicts as soon as possible.
### Enabling Pipelines for Merged Results
-This feature disabled by default until we resolve issues with [contention handling](https://gitlab.com/gitlab-org/gitlab-ee/issues/9186). It can be enabled at the project level:
+To enable pipelines on merged results at the project level:
1. Visit your project's **Settings > General** and expand **Merge requests**.
1. Check **Merge pipelines will try to validate the post-merge result prior to merging**.
diff --git a/doc/ci/pipelines.md b/doc/ci/pipelines.md
index 342c2ab972a..4dbe1a85588 100644
--- a/doc/ci/pipelines.md
+++ b/doc/ci/pipelines.md
@@ -330,6 +330,19 @@ GitLab provides API endpoints to:
- [Triggering pipelines through the API](triggers/README.md).
- [Pipeline triggers API](../api/pipeline_triggers.md).
+### Start multiple manual actions in a stage
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27188) in GitLab 11.11.
+
+Multiple manual actions in a single stage can be started at the same time using the "Play all manual" button.
+Once the user clicks this button, each individual manual action will be triggered and refreshed
+to an updated status.
+
+This functionality is only available:
+
+- For users with at least Developer access.
+- If the the stage contains [manual actions](#manual-actions-from-pipeline-graphs).
+
## Security on protected branches
A strict security model is enforced when pipelines are executed on
diff --git a/doc/user/application_security/security_dashboard/img/dashboard.png b/doc/user/application_security/security_dashboard/img/dashboard.png
index d52a6dacdbf..a75168b1ce4 100644
--- a/doc/user/application_security/security_dashboard/img/dashboard.png
+++ b/doc/user/application_security/security_dashboard/img/dashboard.png
Binary files differ
diff --git a/doc/user/group/clusters/index.md b/doc/user/group/clusters/index.md
index 53c82169e15..ff6aa4f5930 100644
--- a/doc/user/group/clusters/index.md
+++ b/doc/user/group/clusters/index.md
@@ -5,10 +5,10 @@
## Overview
-Similar to [project Kubernetes
-clusters](../../project/clusters/index.md), Group-level Kubernetes
-clusters allow you to connect a Kubernetes cluster to your group,
-enabling you to use the same cluster across multiple projects.
+Similar to [project-level](../../project/clusters/index.md) and
+[instance-level](../../instance/clusters/index.md) Kubernetes clusters,
+group-level Kubernetes clusters allow you to connect a Kubernetes cluster to
+your group, enabling you to use the same cluster across multiple projects.
## Installing applications
diff --git a/doc/user/instance/clusters/index.md b/doc/user/instance/clusters/index.md
new file mode 100644
index 00000000000..894f83d3c75
--- /dev/null
+++ b/doc/user/instance/clusters/index.md
@@ -0,0 +1,23 @@
+# Instance-level Kubernetes clusters
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/39840) in GitLab 11.11.
+> Instance-level cluster integration is currently in [Beta](https://about.gitlab.com/handbook/product/#alpha-beta-ga).
+
+## Overview
+
+Similar to [project-level](../../project/clusters/index.md)
+and [group-level](../../group/clusters/index.md) Kubernetes clusters,
+instance-level Kubernetes clusters allow you to connect a Kubernetes cluster to
+the GitLab instance, which enables you to use the same cluster across multiple
+projects.
+
+## Cluster precedence
+
+GitLab will try match to clusters in the following order:
+
+- Project-level clusters
+- Group-level clusters
+- Instance level
+
+To be selected, the cluster must be enabled and
+match the [environment selector](../../../ci/environments.md#scoping-environments-with-specs-premium).
diff --git a/doc/user/project/clusters/index.md b/doc/user/project/clusters/index.md
index 157afb3a78c..9e6d848b63e 100644
--- a/doc/user/project/clusters/index.md
+++ b/doc/user/project/clusters/index.md
@@ -19,8 +19,10 @@ or provide the credentials to an [existing Kubernetes cluster](#adding-an-existi
NOTE: **Note:**
From [GitLab 11.6](https://gitlab.com/gitlab-org/gitlab-ce/issues/34758) you
-can also associate a Kubernetes cluster to your groups. Learn more about
-[group Kubernetes clusters](../../group/clusters/index.md).
+can also associate a Kubernetes cluster to your groups and from
+[GitLab 11.11](https://gitlab.com/gitlab-org/gitlab-ce/issues/39840),
+to the GitLab instance. Learn more about [group-level](../../group/clusters/index.md)
+and [instance-level](../../instance/clusters/index.md) Kubernetes clusters.
## Adding and creating a new GKE cluster via GitLab
@@ -423,9 +425,9 @@ To uninstall an application:
1. Select your cluster.
1. Click the **Uninstall** button for the application.
-Support for uninstalling all applications will be progressively
-introduced (see [related
-epic](https://gitlab.com/groups/gitlab-org/-/epics/1201)).
+Support for uninstalling all applications is planned for progressive rollout.
+To follow progress, see [the relevant
+epic](https://gitlab.com/groups/gitlab-org/-/epics/1201).
### Troubleshooting applications
diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md
index 40113624430..751e8e44e60 100644
--- a/doc/user/project/integrations/prometheus.md
+++ b/doc/user/project/integrations/prometheus.md
@@ -168,7 +168,7 @@ Alerts can be used to trigger actions, like open an issue automatically. To conf
1. Optionally, select whether to send an email notification to the developers of the project.
1. Click **Save changes**.
-Once enabled, an issue will be opened automatically when an alert is triggered. To further customize the issue, you can add labels, mentions, or any other supported [quick action](../quick_actions.md) in the selected issue template.
+Once enabled, an issue will be opened automatically when an alert is triggered. The author of the issue will be the GitLab Alert Bot. To further customize the issue, you can add labels, mentions, or any other supported [quick action](../quick_actions.md) in the selected issue template.
If the metric exceeds the threshold of the alert for over 5 minutes, an email will be sent to all [Maintainers and Owners](../../permissions.md#project-members-permissions) of the project.
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index daa98c22e5e..ce85772e4ed 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -367,10 +367,6 @@ module API
merge_request = find_project_merge_request(params[:merge_request_iid])
merge_when_pipeline_succeeds = to_boolean(params[:merge_when_pipeline_succeeds])
- if merge_when_pipeline_succeeds || merge_request.merge_when_pipeline_succeeds
- render_api_error!('Not allowed: pipeline does not exist', 405) unless merge_request.head_pipeline
- end
-
# Merge request can not be merged
# because user dont have permissions to push into target branch
unauthorized! unless merge_request.can_be_merged_by?(current_user)
diff --git a/lib/gitlab/git/rugged_impl/tree.rb b/lib/gitlab/git/rugged_impl/tree.rb
index bb13d114d46..9c37bb01961 100644
--- a/lib/gitlab/git/rugged_impl/tree.rb
+++ b/lib/gitlab/git/rugged_impl/tree.rb
@@ -43,6 +43,8 @@ module Gitlab
ordered_entries.concat(tree_entries_from_rugged(repository, sha, entry.path, true))
end
end
+
+ ordered_entries
end
def rugged_populate_flat_path(repository, sha, path, entries)
diff --git a/spec/lib/gitlab/git/tree_spec.rb b/spec/lib/gitlab/git/tree_spec.rb
index 7ad3cde97f8..7e169cfe270 100644
--- a/spec/lib/gitlab/git/tree_spec.rb
+++ b/spec/lib/gitlab/git/tree_spec.rb
@@ -19,7 +19,9 @@ describe Gitlab::Git::Tree, :seed_helper do
it 'returns a list of tree objects' do
entries = described_class.where(repository, SeedRepo::Commit::ID, 'files', true)
- expect(entries.count).to be >= 5
+ expect(entries.map(&:path)).to include('files/html',
+ 'files/markdown/ruby-style-guide.md')
+ expect(entries.count).to be >= 10
expect(entries).to all(be_a(Gitlab::Git::Tree))
end
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb
index 007f3517e64..5c94a87529b 100644
--- a/spec/requests/api/merge_requests_spec.rb
+++ b/spec/requests/api/merge_requests_spec.rb
@@ -1495,33 +1495,6 @@ describe API::MergeRequests do
expect(json_response['merge_when_pipeline_succeeds']).to eq(true)
end
- context 'when the MR requires pipeline success' do
- it 'returns 405 if the pipeline is missing' do
- allow_any_instance_of(MergeRequest)
- .to receive(:merge_when_pipeline_succeeds).and_return(true)
- allow_any_instance_of(MergeRequest).to receive(:head_pipeline).and_return(nil)
-
- put api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/merge", user)
-
- expect(response).to have_gitlab_http_status(405)
- expect(json_response['message']).to eq('Not allowed: pipeline does not exist')
- end
- end
-
- context 'when the request requires pipeline success' do
- it 'returns 405 if the pipeline is missing' do
- allow_any_instance_of(MergeRequest)
- .to receive(:merge_when_pipeline_succeeds).and_return(true)
- allow_any_instance_of(MergeRequest).to receive(:head_pipeline).and_return(nil)
-
- put api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/merge", user),
- params: { merge_when_pipeline_succeeds: true }
-
- expect(response).to have_gitlab_http_status(405)
- expect(json_response['message']).to eq('Not allowed: pipeline does not exist')
- end
- end
-
it "returns 404 for an invalid merge request IID" do
put api("/projects/#{project.id}/merge_requests/12345/merge", user)