From d2ffc30fd583e86d4122bb5061098f4f3ca7b3f1 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 16 Oct 2019 12:06:32 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- app/assets/javascripts/ide/stores/mutations.js | 7 +- app/assets/javascripts/registry/components/app.vue | 53 +++++++++-- app/assets/javascripts/registry/index.js | 14 ++- .../components/mr_collapsible_extension.vue | 51 ++++++----- app/assets/stylesheets/framework/common.scss | 3 + app/assets/stylesheets/framework/variables.scss | 1 + app/assets/stylesheets/pages/merge_requests.scss | 2 + app/helpers/application_helper.rb | 5 ++ app/models/container_repository.rb | 2 +- .../container_repository/delete_tags_service.rb | 6 +- .../projects/registry/repositories/index.html.haml | 3 + app/views/shared/_allow_request_access.html.haml | 4 +- ...t-access-to-project-should-be-on-by-default.yml | 5 ++ .../unreleased/29881-fix-ide-delete-and-readd.yml | 5 ++ ...-with-copy-to-empty-container-registry-view.yml | 5 ++ changelogs/unreleased/issue_11240.yml | 5 ++ config/initializers/7_prometheus_metrics.rb | 6 ++ ...20190925055714_default_request_access_groups.rb | 15 ++++ ...190925055902_default_request_access_projects.rb | 15 ++++ db/schema.rb | 4 +- doc/api/epics.md | 3 +- lib/container_registry/client.rb | 8 +- lib/gitlab/health_checks/gitaly_check.rb | 2 +- lib/gitlab/health_checks/probes/readiness.rb | 6 +- lib/gitlab/health_checks/puma_check.rb | 36 ++++++++ lib/gitlab/health_checks/simple_abstract_check.rb | 4 + lib/gitlab/health_checks/unicorn_check.rb | 41 +++++++++ lib/gitlab/metrics/exporter/base_exporter.rb | 20 +++-- lib/gitlab/metrics/exporter/web_exporter.rb | 10 +++ locale/gitlab.pot | 11 ++- scripts/review_apps/base-config.yaml | 3 +- .../groups/group_members_controller_spec.rb | 2 +- .../projects/project_members_controller_spec.rb | 2 +- spec/factories/groups.rb | 4 +- spec/factories/projects.rb | 4 +- .../members/master_manages_access_requests_spec.rb | 2 +- .../features/groups/members/request_access_spec.rb | 2 +- .../projects/members/group_members_spec.rb | 4 +- ...uester_cannot_request_access_to_project_spec.rb | 4 +- .../members/master_manages_access_requests_spec.rb | 2 +- .../projects/members/user_requests_access_spec.rb | 2 +- spec/finders/access_requests_finder_spec.rb | 4 +- spec/finders/group_members_finder_spec.rb | 2 +- spec/finders/members_finder_spec.rb | 4 +- spec/frontend/ide/stores/integration_spec.js | 100 +++++++++++++++++++++ spec/frontend/registry/components/app_spec.js | 13 ++- .../components/artifacts_list_app_spec.js | 8 +- .../components/mr_collapsible_extension_spec.js | 20 ++--- spec/helpers/members_helper_spec.rb | 8 +- spec/lib/gitlab/health_checks/puma_check_spec.rb | 65 ++++++++++++++ .../lib/gitlab/health_checks/unicorn_check_spec.rb | 63 +++++++++++++ .../gitlab/metrics/exporter/base_exporter_spec.rb | 12 +++ spec/mailers/notify_spec.rb | 8 +- spec/models/ci/build_metadata_spec.rb | 2 +- spec/models/ci/build_spec.rb | 2 +- spec/models/concerns/access_requestable_spec.rb | 8 +- spec/models/group_spec.rb | 4 +- spec/models/member_spec.rb | 6 +- spec/models/project_spec.rb | 2 +- spec/models/project_team_spec.rb | 8 +- spec/models/user_spec.rb | 6 +- spec/requests/api/access_requests_spec.rb | 4 +- spec/requests/api/badges_spec.rb | 4 +- spec/requests/api/members_spec.rb | 4 +- .../members/approve_access_request_service_spec.rb | 4 +- .../members/request_access_service_spec.rb | 4 +- spec/services/notification_service_spec.rb | 18 ++-- .../cleanup_tags_service_spec.rb | 2 +- .../delete_tags_service_spec.rb | 15 ++++ 69 files changed, 638 insertions(+), 145 deletions(-) create mode 100644 changelogs/unreleased/18217-request-access-to-project-should-be-on-by-default.yml create mode 100644 changelogs/unreleased/29881-fix-ide-delete-and-readd.yml create mode 100644 changelogs/unreleased/feature-add-copyable-login-with-copy-to-empty-container-registry-view.yml create mode 100644 changelogs/unreleased/issue_11240.yml create mode 100644 db/migrate/20190925055714_default_request_access_groups.rb create mode 100644 db/migrate/20190925055902_default_request_access_projects.rb create mode 100644 lib/gitlab/health_checks/puma_check.rb create mode 100644 lib/gitlab/health_checks/unicorn_check.rb create mode 100644 spec/frontend/ide/stores/integration_spec.js create mode 100644 spec/lib/gitlab/health_checks/puma_check_spec.rb create mode 100644 spec/lib/gitlab/health_checks/unicorn_check_spec.rb diff --git a/app/assets/javascripts/ide/stores/mutations.js b/app/assets/javascripts/ide/stores/mutations.js index 2587b57a817..e84e2782e46 100644 --- a/app/assets/javascripts/ide/stores/mutations.js +++ b/app/assets/javascripts/ide/stores/mutations.js @@ -73,16 +73,15 @@ export default { const entry = data.entries[key]; const foundEntry = state.entries[key]; + // NOTE: We can't clone `entry` in any of the below assignments because + // we need `state.entries` and the `entry.tree` to reference the same object. if (!foundEntry) { Object.assign(state.entries, { [key]: entry, }); } else if (foundEntry.deleted) { Object.assign(state.entries, { - [key]: { - ...entry, - replaces: true, - }, + [key]: Object.assign(entry, { replaces: true }), }); } else { const tree = entry.tree.filter( diff --git a/app/assets/javascripts/registry/components/app.vue b/app/assets/javascripts/registry/components/app.vue index 7ae06af02cf..a20bae9e37e 100644 --- a/app/assets/javascripts/registry/components/app.vue +++ b/app/assets/javascripts/registry/components/app.vue @@ -15,15 +15,19 @@ export default { GlLoadingIcon, }, props: { - endpoint: { - type: String, - required: true, - }, characterError: { type: Boolean, required: false, default: false, }, + containersErrorImage: { + type: String, + required: true, + }, + endpoint: { + type: String, + required: true, + }, helpPagePath: { type: String, required: true, @@ -32,7 +36,11 @@ export default { type: String, required: true, }, - containersErrorImage: { + personalAccessTokensHelpLink: { + type: String, + required: true, + }, + registryHostUrlWithPort: { type: String, required: true, }, @@ -40,6 +48,10 @@ export default { type: String, required: true, }, + twoFactorAuthHelpLink: { + type: String, + required: true, + }, }, store, computed: { @@ -79,6 +91,26 @@ export default { false, ); }, + notLoggedInToRegistryText() { + return sprintf( + s__(`ContainerRegistry|If you are not already logged in, you need to authenticate to + the Container Registry by using your GitLab username and password. If you have + %{twofaDocLinkStart}Two-Factor Authentication%{twofaDocLinkEnd} enabled, use a + %{personalAccessTokensDocLinkStart}Personal Access Token + %{personalAccessTokensDocLinkEnd}instead of a password.`), + { + twofaDocLinkStart: ``, + twofaDocLinkEnd: '', + personalAccessTokensDocLinkStart: ``, + personalAccessTokensDocLinkEnd: '', + }, + false, + ); + }, + dockerLoginCommand() { + // eslint-disable-next-line @gitlab/i18n/no-non-i18n-strings + return `docker login ${this.registryHostUrlWithPort}`; + }, dockerBuildCommand() { // eslint-disable-next-line @gitlab/i18n/no-non-i18n-strings return `docker build -t ${this.repositoryUrl} .`; @@ -130,6 +162,17 @@ export default {