From 229395d3af51cd46a9179f2eba142c027d08b208 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 15 Sep 2022 15:13:49 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../ci/package-and-test/main.gitlab-ci.yml | 7 +- .gitlab/ci/qa.gitlab-ci.yml | 22 ++ .gitlab/ci/review-apps/qa.gitlab-ci.yml | 9 +- .gitlab/ci/review.gitlab-ci.yml | 24 ++ .gitlab/ci/rules.gitlab-ci.yml | 6 + .gitlab/ci/vendored-gems.gitlab-ci.yml | 8 + .rubocop_todo/style/bare_percent_literals.yml | 15 +- Gemfile | 2 + Gemfile.lock | 8 + .../diffs/components/commit_widget.vue | 2 +- .../components/cells/runner_summary_cell.vue | 75 ------ .../runner/components/runner_list.vue | 49 +--- .../runner_stacked_layout_banner.vue | 15 +- .../stylesheets/_page_specific_files.scss | 1 + .../page_bundles/graph_charts.scss | 27 --- .../{page_bundles => pages}/tree.scss | 38 ++- app/controllers/admin/runners_controller.rb | 1 - app/controllers/groups/runners_controller.rb | 3 - .../track_artifact_report_service.rb | 3 +- app/views/projects/artifacts/browse.html.haml | 1 - app/views/projects/artifacts/file.html.haml | 1 - app/views/projects/blame/show.html.haml | 1 - app/views/projects/blob/show.html.haml | 1 - app/views/projects/commits/show.html.haml | 2 +- app/views/projects/find_file/show.html.haml | 1 - app/views/projects/graphs/charts.html.haml | 1 - app/views/projects/show.html.haml | 1 - app/views/projects/tree/show.html.haml | 1 - app/views/shared/_commit_well.html.haml | 4 + config/application.rb | 2 - .../runner_list_stacked_layout.yml | 8 - .../runner_list_stacked_layout_admin.yml | 8 - config/gitlab.yml.example | 16 ++ config/initializers/1_settings.rb | 12 + config/initializers/microsoft_graph_mailer.rb | 14 ++ ...6145113_backfill_namespace_id_on_issues.rb | 28 +++ db/schema_migrations/20220706145113 | 1 + doc/.vale/gitlab/Uppercase.yml | 1 + doc/api/resource_state_events.md | 106 ++++++++- doc/ci/jobs/ci_job_token.md | 6 - doc/development/feature_flags/controls.md | 2 +- doc/development/feature_flags/index.md | 4 +- doc/raketasks/backup_gitlab.md | 48 ++++ lib/api/helpers/resource_events_helpers.rb | 17 ++ .../helpers/resource_label_events_helpers.rb | 18 -- lib/api/resource_label_events.rb | 12 +- lib/api/resource_state_events.rb | 30 +-- .../backfill_project_namespace_on_issues.rb | 25 ++ lib/gitlab/git/repository.rb | 4 +- qa/qa/support/api.rb | 1 + qa/qa/tools/ci/helpers.rb | 36 ++- qa/qa/tools/ci/test_results.rb | 78 +++++++ qa/tasks/ci.rake | 5 + spec/config/settings_spec.rb | 12 + .../list/components/issues_list_app_spec.js | 5 +- .../cells/runner_summary_cell_spec.js | 99 -------- .../runner/components/runner_list_spec.js | 124 ++-------- .../runner_stacked_layout_banner_spec.js | 46 ++-- .../components/issuable_edit_form_spec.js | 6 +- .../microsoft_graph_mailer_spec.rb | 56 +++++ ...ckfill_project_namespace_on_issues_spec.rb | 57 +++++ spec/lib/gitlab/git/repository_spec.rb | 20 ++ .../backfill_namespace_id_on_issues_spec.rb | 32 +++ spec/models/ci/pipeline_spec.rb | 2 +- .../api/resource_state_events_spec.rb | 83 +------ .../track_artifact_report_service_spec.rb | 58 ++++- spec/spec_helper.rb | 19 -- spec/support/helpers/html_escaped_helpers.rb | 24 ++ spec/support/helpers/stub_configuration.rb | 4 + .../views/html_safe_render_shared_context.rb | 39 ++++ ...source_state_events_api_shared_examples.rb | 82 +++++++ ...synthetic_notes_builder_shared_examples.rb | 2 +- .../helpers/html_escaped_helpers_spec.rb | 43 ++++ .../projects/imports/new.html.haml_spec.rb | 2 +- .../microsoft_graph_mailer/.gitlab-ci.yml | 32 +++ vendor/gems/microsoft_graph_mailer/Gemfile | 5 + .../gems/microsoft_graph_mailer/Gemfile.lock | 217 ++++++++++++++++++ .../gems/microsoft_graph_mailer/LICENSE.txt | 21 ++ vendor/gems/microsoft_graph_mailer/README.md | 104 +++++++++ .../lib/microsoft_graph_mailer.rb | 16 ++ .../lib/microsoft_graph_mailer/client.rb | 51 ++++ .../lib/microsoft_graph_mailer/delivery.rb | 49 ++++ .../lib/microsoft_graph_mailer/railtie.rb | 11 + .../lib/microsoft_graph_mailer/version.rb | 5 + .../microsoft_graph_mailer.gemspec | 29 +++ .../spec/fixtures/attachments/gitlab.txt | 1 + .../spec/fixtures/attachments/gitlab_logo.png | Bin 0 -> 1528 bytes .../microsoft_graph_mailer/delivery_spec.rb | 128 +++++++++++ .../microsoft_graph_mailer/railtie_spec.rb | 140 +++++++++++ .../spec/lib/microsoft_graph_mailer_spec.rb | 29 +++ .../spec/spec_helper.rb | 60 +++++ 91 files changed, 1906 insertions(+), 618 deletions(-) delete mode 100644 app/assets/javascripts/runner/components/cells/runner_summary_cell.vue delete mode 100644 app/assets/stylesheets/page_bundles/graph_charts.scss rename app/assets/stylesheets/{page_bundles => pages}/tree.scss (85%) create mode 100644 app/views/shared/_commit_well.html.haml delete mode 100644 config/feature_flags/development/runner_list_stacked_layout.yml delete mode 100644 config/feature_flags/development/runner_list_stacked_layout_admin.yml create mode 100644 config/initializers/microsoft_graph_mailer.rb create mode 100644 db/post_migrate/20220706145113_backfill_namespace_id_on_issues.rb create mode 100644 db/schema_migrations/20220706145113 create mode 100644 lib/api/helpers/resource_events_helpers.rb delete mode 100644 lib/api/helpers/resource_label_events_helpers.rb create mode 100644 lib/gitlab/background_migration/backfill_project_namespace_on_issues.rb create mode 100644 qa/qa/tools/ci/test_results.rb delete mode 100644 spec/frontend/runner/components/cells/runner_summary_cell_spec.js create mode 100644 spec/initializers/microsoft_graph_mailer_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_project_namespace_on_issues_spec.rb create mode 100644 spec/migrations/backfill_namespace_id_on_issues_spec.rb create mode 100644 spec/support/helpers/html_escaped_helpers.rb create mode 100644 spec/support/shared_contexts/views/html_safe_render_shared_context.rb create mode 100644 spec/support/shared_examples/requests/api/resource_state_events_api_shared_examples.rb create mode 100644 spec/support_specs/helpers/html_escaped_helpers_spec.rb create mode 100644 vendor/gems/microsoft_graph_mailer/.gitlab-ci.yml create mode 100644 vendor/gems/microsoft_graph_mailer/Gemfile create mode 100644 vendor/gems/microsoft_graph_mailer/Gemfile.lock create mode 100644 vendor/gems/microsoft_graph_mailer/LICENSE.txt create mode 100644 vendor/gems/microsoft_graph_mailer/README.md create mode 100644 vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer.rb create mode 100644 vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer/client.rb create mode 100644 vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer/delivery.rb create mode 100644 vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer/railtie.rb create mode 100644 vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer/version.rb create mode 100644 vendor/gems/microsoft_graph_mailer/microsoft_graph_mailer.gemspec create mode 100644 vendor/gems/microsoft_graph_mailer/spec/fixtures/attachments/gitlab.txt create mode 100644 vendor/gems/microsoft_graph_mailer/spec/fixtures/attachments/gitlab_logo.png create mode 100644 vendor/gems/microsoft_graph_mailer/spec/lib/microsoft_graph_mailer/delivery_spec.rb create mode 100644 vendor/gems/microsoft_graph_mailer/spec/lib/microsoft_graph_mailer/railtie_spec.rb create mode 100644 vendor/gems/microsoft_graph_mailer/spec/lib/microsoft_graph_mailer_spec.rb create mode 100644 vendor/gems/microsoft_graph_mailer/spec/spec_helper.rb diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index 9fe9a8c307c..ea5a7f3a7e5 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -519,7 +519,7 @@ ee:registry-object-storage-tls: # ========================================== # Post test stage # ========================================== -allure-report: +e2e-test-report: extends: - .generate-allure-report-base - .rules:report:allure-report @@ -530,6 +530,11 @@ allure-report: ALLURE_MERGE_REQUEST_IID: $CI_MERGE_REQUEST_IID ALLURE_JOB_NAME: e2e-package-and-test GIT_STRATEGY: none + artifacts: # save rspec results for displaying in parent pipeline + expire_in: 1 day + when: always + paths: + - gitlab-qa-run-*/**/rspec-*.xml upload-knapsack-report: extends: diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 6134b201c23..c5a182b055a 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -81,3 +81,25 @@ e2e:package-and-test: include: - artifact: package-and-test-pipeline.yml job: e2e-test-pipeline-generate + +# Fetch child pipeline test results and store in parent pipeline +# workaround until natively implemented: https://gitlab.com/groups/gitlab-org/-/epics/8205 +e2e:package-and-test-results: + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3 + extends: + - .qa-job-base + - .qa:rules:package-and-test + stage: qa + needs: + - e2e:package-and-test + variables: + COLORIZED_LOGS: "true" + QA_LOG_LEVEL: "debug" + when: always + allow_failure: true + script: + - bundle exec rake "ci:download_test_results[e2e:package-and-test,e2e-test-report,${CI_PROJECT_DIR}]" + artifacts: + when: always + reports: + junit: gitlab-qa-run-*/**/rspec-*.xml diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index ee094a131f7..95bbbffcfbf 100644 --- a/.gitlab/ci/review-apps/qa.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/qa.gitlab-ci.yml @@ -36,7 +36,7 @@ include: variables: GIT_LFS_SKIP_SMUDGE: 1 WD_INSTALL_DIR: /usr/local/bin - RSPEC_REPORT_OPTS: --force-color --order random --format documentation --format RspecJunitFormatter --out tmp/rspec.xml + RSPEC_REPORT_OPTS: --force-color --order random --format documentation --format RspecJunitFormatter --out tmp/rspec-${CI_JOB_ID}.xml script: - export EE_LICENSE="$(cat $REVIEW_APPS_EE_LICENSE_FILE)" - QA_COMMAND="bundle exec bin/qa ${QA_SCENARIO} ${QA_GITLAB_URL} -- ${QA_TESTS} ${RSPEC_REPORT_OPTS}" @@ -50,7 +50,7 @@ include: paths: - qa/tmp reports: - junit: qa/tmp/rspec.xml + junit: qa/tmp/rspec-*.xml expire_in: 7 days when: always @@ -145,6 +145,11 @@ e2e-test-report: GIT_STRATEGY: none allow_failure: true when: always + artifacts: # re-save rspec results for displaying in parent pipeline + expire_in: 1 day + when: always + paths: + - qa/tmp/rspec-*.xml upload-knapsack-report: extends: diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index 967f8c82158..46e62829394 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -45,6 +45,30 @@ start-review-app-pipeline: - artifact: review-app-pipeline.yml job: e2e-test-pipeline-generate +# Fetch child pipeline test results and store in parent pipeline +# workaround until natively implemented: https://gitlab.com/groups/gitlab-org/-/epics/8205 +review-app-test-results: + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3 + stage: review + extends: + - .qa-cache + - .review:rules:start-review-app-pipeline + needs: + - start-review-app-pipeline + variables: + COLORIZED_LOGS: "true" + QA_LOG_LEVEL: "debug" + before_script: + - cd qa && bundle install + script: + - bundle exec rake "ci:download_test_results[start-review-app-pipeline,e2e-test-report,${CI_PROJECT_DIR}]" + when: always + allow_failure: true + artifacts: + when: always + reports: + junit: qa/tmp/rspec-*.xml + danger-review: extends: - .default-retry diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 6181aefae12..eeacff51454 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -1496,6 +1496,12 @@ changes: ["vendor/gems/mail-smtp_pool/**/*"] - <<: *if-merge-request-labels-run-all-rspec +.vendor:rules:microsoft_graph_mailer: + rules: + - <<: *if-merge-request + changes: ["vendor/gems/microsoft_graph_mailer/**/*"] + - <<: *if-merge-request-labels-run-all-rspec + .vendor:rules:ipynbdiff: rules: - <<: *if-merge-request diff --git a/.gitlab/ci/vendored-gems.gitlab-ci.yml b/.gitlab/ci/vendored-gems.gitlab-ci.yml index de314df298f..577bd37ca9e 100644 --- a/.gitlab/ci/vendored-gems.gitlab-ci.yml +++ b/.gitlab/ci/vendored-gems.gitlab-ci.yml @@ -6,6 +6,14 @@ vendor mail-smtp_pool: include: vendor/gems/mail-smtp_pool/.gitlab-ci.yml strategy: depend +vendor microsoft_graph_mailer: + extends: + - .vendor:rules:microsoft_graph_mailer + needs: [] + trigger: + include: vendor/gems/microsoft_graph_mailer/.gitlab-ci.yml + strategy: depend + vendor ipynbdiff: extends: - .vendor:rules:ipynbdiff diff --git a/.rubocop_todo/style/bare_percent_literals.yml b/.rubocop_todo/style/bare_percent_literals.yml index 104ead817d5..1a155e3cca0 100644 --- a/.rubocop_todo/style/bare_percent_literals.yml +++ b/.rubocop_todo/style/bare_percent_literals.yml @@ -1,16 +1,13 @@ --- # Cop supports --auto-correct. Style/BarePercentLiterals: - # Offense count: 220 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/models/commit.rb' - 'app/models/concerns/storage/legacy_namespace.rb' - 'app/models/integrations/datadog.rb' - 'app/services/feature_flags/base_service.rb' - 'app/services/repositories/base_service.rb' - - 'app/services/repositories/destroy_service.rb' - 'ee/app/services/jira/jql_builder_service.rb' - 'ee/lib/ee/gitlab/checks/push_rules/file_size_check.rb' - 'ee/spec/features/projects/environments/environments_spec.rb' @@ -41,17 +38,15 @@ Style/BarePercentLiterals: - 'qa/qa/ee/page/project/show.rb' - 'qa/qa/ee/page/project/snippet/index.rb' - 'qa/qa/ee/page/project/wiki/show.rb' - - 'qa/qa/page/component/design_management.rb' - 'qa/qa/page/component/select2.rb' - 'qa/qa/page/element.rb' - 'qa/qa/page/file/form.rb' - 'qa/qa/page/project/web_ide/edit.rb' - 'qa/qa/resource/events/project.rb' - - 'qa/qa/resource/members.rb' + - 'qa/qa/resource/personal_access_token_cache.rb' - 'qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_enforced_sso_new_account_spec.rb' + - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb' - - 'qa/qa/support/page/logging.rb' - 'qa/spec/runtime/feature_spec.rb' - 'scripts/regenerate-schema' - 'scripts/trigger-build.rb' @@ -79,6 +74,7 @@ Style/BarePercentLiterals: - 'spec/lib/banzai/filter/references/label_reference_filter_spec.rb' - 'spec/lib/banzai/filter/references/milestone_reference_filter_spec.rb' - 'spec/lib/banzai/pipeline/full_pipeline_spec.rb' + - 'spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb' - 'spec/lib/banzai/pipeline/plain_markdown_pipeline_spec.rb' - 'spec/lib/banzai/reference_parser/commit_parser_spec.rb' - 'spec/lib/banzai/reference_parser/issue_parser_spec.rb' @@ -95,6 +91,7 @@ Style/BarePercentLiterals: - 'spec/mailers/emails/releases_spec.rb' - 'spec/mailers/emails/service_desk_spec.rb' - 'spec/models/deployment_spec.rb' + - 'spec/models/incident_management/timeline_event_spec.rb' - 'spec/models/integrations/drone_ci_spec.rb' - 'spec/models/integrations/teamcity_spec.rb' - 'spec/models/project_label_spec.rb' @@ -102,6 +99,8 @@ Style/BarePercentLiterals: - 'spec/requests/api/ci/job_artifacts_spec.rb' - 'spec/requests/api/deployments_spec.rb' - 'spec/requests/api/graphql/mutations/snippets/destroy_spec.rb' + - 'spec/requests/api/graphql/project/incident_management/timeline_events_spec.rb' + - 'spec/requests/projects/packages/package_files_controller_spec.rb' - 'spec/rubocop/cop/gitlab/mark_used_feature_flags_spec.rb' - 'spec/services/prometheus/proxy_variable_substitution_service_spec.rb' - 'spec/support/banzai/reference_filter_shared_examples.rb' diff --git a/Gemfile b/Gemfile index 8d2f7915efb..dcca4729c1e 100644 --- a/Gemfile +++ b/Gemfile @@ -527,6 +527,8 @@ gem 'erubi', '~> 1.9.0' gem 'mail', '= 2.7.1' gem 'mail-smtp_pool', '~> 0.1.0', path: 'vendor/gems/mail-smtp_pool', require: false +gem 'microsoft_graph_mailer', '~> 0.1.0', path: 'vendor/gems/microsoft_graph_mailer' + # File encryption gem 'lockbox', '~> 0.6.2' diff --git a/Gemfile.lock b/Gemfile.lock index 2ec930c3296..e98c21a7fb5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -30,6 +30,13 @@ PATH connection_pool (~> 2.0) mail (~> 2.7) +PATH + remote: vendor/gems/microsoft_graph_mailer + specs: + microsoft_graph_mailer (0.1.0) + mail (~> 2.7) + oauth2 (>= 1.4.4, < 3) + PATH remote: vendor/gems/omniauth-azure-oauth2 specs: @@ -1670,6 +1677,7 @@ DEPENDENCIES mail-smtp_pool (~> 0.1.0)! marginalia (~> 1.10.0) memory_profiler (~> 0.9) + microsoft_graph_mailer (~> 0.1.0)! mini_magick (~> 4.10.1) minitest (~> 5.11.0) multi_json (~> 1.14.1) diff --git a/app/assets/javascripts/diffs/components/commit_widget.vue b/app/assets/javascripts/diffs/components/commit_widget.vue index facfc553053..b1a2b2a72ea 100644 --- a/app/assets/javascripts/diffs/components/commit_widget.vue +++ b/app/assets/javascripts/diffs/components/commit_widget.vue @@ -22,7 +22,7 @@ export default {