diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index cb3cdd83103..bc01f80007c 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -249,18 +249,56 @@ Dangerfile @gl-quality/eng-prod ^[Growth Experiments] /app/experiments/ @gitlab-org/growth/experiment-devs +/spec/experiments/ @gitlab-org/growth/experiment-devs /app/models/experiment.rb @gitlab-org/growth/experiment-devs +/spec/models/experiment.rb @gitlab-org/growth/experiment-devs /app/models/experiment_subject.rb @gitlab-org/growth/experiment-devs +/spec/models/experiment_subject.rb @gitlab-org/growth/experiment-devs /app/models/experiment_user.rb @gitlab-org/growth/experiment-devs +/spec/models/experiment_user.rb @gitlab-org/growth/experiment-devs /app/workers/experiments/ @gitlab-org/growth/experiment-devs +/spec/workers/experiments/ @gitlab-org/growth/experiment-devs +/config/initializers/gitlab_experiment.rb @gitlab-org/growth/experiment-devs /config/feature_flags/experiment/ @gitlab-org/growth/experiment-devs /ee/config/feature_flags/experiment/ @gitlab-org/growth/experiment-devs /ee/lib/api/experiments.rb @gitlab-org/growth/experiment-devs -/ee/lib/ee/api/entities/experiment.rb @gitlab-org/growth/experiment-devs -/lib/gitlab/experimentation/ @gitlab-org/growth/experiment-devs -/lib/gitlab/experimentation.rb @gitlab-org/growth/experiment-devs -/lib/gitlab/experimentation_logger.rb @gitlab-org/growth/experiment-devs /ee/spec/requests/api/experiments_spec.rb @gitlab-org/growth/experiment-devs +/ee/lib/ee/api/entities/experiment.rb @gitlab-org/growth/experiment-devs +/ee/spec/lib/ee/api/entities/experiment_spec.rb @gitlab-org/growth/experiment-devs +/lib/gitlab/experimentation/ @gitlab-org/growth/experiment-devs +/spec/lib/gitlab/experimentation/ @gitlab-org/growth/experiment-devs +/lib/gitlab/experimentation.rb @gitlab-org/growth/experiment-devs +/spec/lib/gitlab/experimentation_spec.rb @gitlab-org/growth/experiment-devs +/lib/gitlab/experimentation_logger.rb @gitlab-org/growth/experiment-devs + +^[Growth] +/ee/app/workers/onboarding/ @gitlab-org/growth/engineers +/ee/spec/workers/onboarding/ @gitlab-org/growth/engineers +/app/models/onboarding/ @gitlab-org/growth/engineers +/spec/models/onboarding/ @gitlab-org/growth/engineers +/app/services/onboarding/ @gitlab-org/growth/engineers +/spec/services/onboarding/ @gitlab-org/growth/engineers +/ee/app/controllers/registrations/ @gitlab-org/growth/engineers +/ee/app/components/namespaces/free_user_cap/ @gitlab-org/growth/engineers +/ee/spec/components/namespaces/free_user_cap/ @gitlab-org/growth/engineers +/ee/app/models/namespaces/free_user_cap/ @gitlab-org/growth/engineers +/ee/spec/models/namespaces/free_user_cap/ @gitlab-org/growth/engineers +/app/services/users/in_product_marketing_email_records.rb @gitlab-org/growth/engineers +/spec/services/users/in_product_marketing_email_records_spec.rb @gitlab-org/growth/engineers +/app/workers/namespaces/in_product_marketing_emails_worker.rb @gitlab-org/growth/engineers +/spec/workers/namespaces/in_product_marketing_emails_worker_spec.rb @gitlab-org/growth/engineers +/ee/app/workers/ee/namespaces/in_product_marketing_emails_worker.rb @gitlab-org/growth/engineers +/ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb @gitlab-org/growth/engineers +/app/models/users/in_product_marketing_email.rb @gitlab-org/growth/engineers +/spec/models/users/in_product_marketing_email_spec.rb @gitlab-org/growth/engineers +/app/services/namespaces/in_product_marketing_emails_service.rb @gitlab-org/growth/engineers +/spec/services/namespaces/in_product_marketing_emails_service_spec.rb @gitlab-org/growth/engineers +/ee/app/services/ee/namespaces/in_product_marketing_emails_service.rb @gitlab-org/growth/engineers +/ee/spec/services/namespaces/in_product_marketing_emails_service_spec.rb @gitlab-org/growth/engineers +/app/workers/projects/record_target_platforms_worker.rb @gitlab-org/growth/engineers +/spec/workers/projects/record_target_platforms_worker_spec.rb @gitlab-org/growth/engineers +/ee/app/controllers/groups/feature_discovery_moments_controller.rb @gitlab-org/growth/engineers +/ee/spec/requests/groups/feature_discovery_moments_spec.rb @gitlab-org/growth/engineers ^[Legal] /config/dependency_decisions.yml @gitlab-org/legal-reviewers diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 04bd44a24ae..3bd65b565e4 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -18,6 +18,7 @@ # Disable warnings in browserslist which can break on backports # https://github.com/browserslist/browserslist/blob/a287ec6/node.js#L367-L384 BROWSERSLIST_IGNORE_OLD_DATA: "true" + WEBPACK_COMPILE_LOG_PATH: "tmp/webpack-output.log" stage: prepare script: - *yarn-install @@ -31,7 +32,6 @@ compile-production-assets: variables: NODE_ENV: "production" RAILS_ENV: "production" - WEBPACK_REPORT: "true" artifacts: name: webpack-report expire_in: 31d @@ -40,7 +40,7 @@ compile-production-assets: # - in `build-assets-image` job to create assets image for packaging systems # - GitLab UI for integration tests: https://gitlab.com/gitlab-org/gitlab-ui/-/blob/e88493b3c855aea30bf60baee692a64606b0eb1e/.storybook/preview-head.pug#L1 - public/assets/ - - webpack-report/ + - "${WEBPACK_COMPILE_LOG_PATH}" when: always before_script: - !reference [.default-before_script, before_script] @@ -56,6 +56,7 @@ compile-test-assets: paths: - public/assets/ - node_modules/@gitlab/svgs/dist/icons.json # app/helpers/icons_helper.rb uses this file + - "${WEBPACK_COMPILE_LOG_PATH}" when: always compile-test-assets as-if-foss: @@ -321,24 +322,20 @@ webpack-dev-server: bundle-size-review: extends: - .default-retry + - .assets-compile-cache - .frontend:rules:bundle-size-review image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:danger stage: test - needs: ["compile-production-assets"] + needs: [] script: - - source scripts/utils.sh - - mkdir -p bundle-size-review - - cp webpack-report/index.html bundle-size-review/bundle-report.html - - yarn global add https://gitlab.com/gitlab-org/frontend/playground/webpack-memory-metrics.git - - | - danger_id=$(echo -n ${DANGER_GITLAB_API_TOKEN} | md5sum | awk '{print $1}' | cut -c5-10) - run_timed_command "danger --dangerfile=danger/Dangerfile-bundle_size --fail-on-errors=true --verbose --danger_id=bundle-size-review-${danger_id}" + - *yarn-install + - scripts/bundle_size_review artifacts: when: always name: bundle-size-review expire_in: 31d paths: - - bundle-size-review + - bundle-size-review/ .startup-css-check-base: extends: diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index f4fa94ba859..8c51b2cb61a 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -879,6 +879,9 @@ rules: - <<: *if-not-canonical-namespace when: never + - <<: *if-default-branch-refs + changes: *frontend-build-patterns + allow_failure: true - if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' changes: *frontend-build-patterns allow_failure: true diff --git a/.rubocop_todo/gitlab/feature_available_usage.yml b/.rubocop_todo/gitlab/feature_available_usage.yml index 68cc91a1839..0daacdfe2b1 100644 --- a/.rubocop_todo/gitlab/feature_available_usage.yml +++ b/.rubocop_todo/gitlab/feature_available_usage.yml @@ -140,6 +140,7 @@ Gitlab/FeatureAvailableUsage: - ee/lib/ee/gitlab/tree_summary.rb - ee/lib/gitlab/alert_management.rb - ee/lib/gitlab/ci/pipeline/chain/config/content/compliance.rb + - ee/lib/gitlab/ci/project_config/compliance.rb - ee/lib/gitlab/code_owners.rb - ee/lib/gitlab/incident_management.rb - ee/lib/gitlab/path_locks_finder.rb diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index ae600f6af32..bfb406f37a4 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -404,6 +404,7 @@ Gitlab/NamespacedClass: - 'app/policies/project_hook_policy.rb' - 'app/policies/prometheus_alert_policy.rb' - 'app/policies/protected_branch_policy.rb' + - 'app/policies/protected_branch_access_policy.rb' - 'app/policies/release_policy.rb' - 'app/policies/repository_policy.rb' - 'app/policies/resource_label_event_policy.rb' diff --git a/app/assets/javascripts/notes/components/note_header.vue b/app/assets/javascripts/notes/components/note_header.vue index 46669a752b2..f700802d6bc 100644 --- a/app/assets/javascripts/notes/components/note_header.vue +++ b/app/assets/javascripts/notes/components/note_header.vue @@ -186,27 +186,34 @@ export default { :data-username="author.username" > {{ authorName }} - +