From d2ffc30fd583e86d4122bb5061098f4f3ca7b3f1 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 16 Oct 2019 12:06:32 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../javascripts/ide/stores/mutations.js | 7 +- .../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 + .../stylesheets/framework/variables.scss | 1 + .../stylesheets/pages/merge_requests.scss | 2 + app/helpers/application_helper.rb | 5 + app/models/container_repository.rb | 2 +- .../delete_tags_service.rb | 6 +- .../registry/repositories/index.html.haml | 3 + .../shared/_allow_request_access.html.haml | 4 +- ...ess-to-project-should-be-on-by-default.yml | 5 + .../29881-fix-ide-delete-and-readd.yml | 5 + ...-copy-to-empty-container-registry-view.yml | 5 + changelogs/unreleased/issue_11240.yml | 5 + config/initializers/7_prometheus_metrics.rb | 6 ++ ...925055714_default_request_access_groups.rb | 15 +++ ...5055902_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 +++++++ .../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 +- .../project_members_controller_spec.rb | 2 +- spec/factories/groups.rb | 4 +- spec/factories/projects.rb | 4 +- .../master_manages_access_requests_spec.rb | 2 +- .../groups/members/request_access_spec.rb | 2 +- .../projects/members/group_members_spec.rb | 4 +- ...r_cannot_request_access_to_project_spec.rb | 4 +- .../master_manages_access_requests_spec.rb | 2 +- .../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 +- .../mr_collapsible_extension_spec.js | 20 ++-- spec/helpers/members_helper_spec.rb | 8 +- .../gitlab/health_checks/puma_check_spec.rb | 65 ++++++++++++ .../health_checks/unicorn_check_spec.rb | 63 +++++++++++ .../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 +- .../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 +- .../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 {