diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index e786a6d6fcf..9acd1a82fe4 100644 --- a/.gitlab/ci/review-apps/qa.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/qa.gitlab-ci.yml @@ -26,6 +26,9 @@ - export CI_ENVIRONMENT_URL="$(cat environment_url.txt)" - echo "${CI_ENVIRONMENT_URL}" - cd qa + - if [ -n "$KNAPSACK_REPORT_PATH" ]; then + bundle exec rake knapsack:download; + fi artifacts: paths: - qa/tmp @@ -34,15 +37,22 @@ .parallel-qa-base: parallel: 5 + variables: + KNAPSACK_TEST_FILE_PATTERN: "qa/specs/features/**/*_spec.rb" script: - - export KNAPSACK_REPORT_PATH=knapsack/master_report.json - - export KNAPSACK_TEST_FILE_PATTERN=qa/specs/features/**/*_spec.rb - | bin/test "${QA_SCENARIO}" "${CI_ENVIRONMENT_URL}" \ -- \ --color --format documentation \ --format RspecJunitFormatter --out tmp/rspec.xml + after_script: + - if [ -n "$KNAPSACK_GENERATE_REPORT" ]; then + mv qa/${KNAPSACK_REPORT_PATH} qa/knapsack/gcs/regenerated-${CI_NODE_INDEX}.json; + fi artifacts: + paths: + - qa/tmp # we can't merge list so need to include explicitly once more + - qa/knapsack/gcs/regenerated-*.json reports: junit: qa/tmp/rspec.xml @@ -69,6 +79,16 @@ --ignore-missing-results \ --color +.knapsack-upload-base: + image: + name: ${QA_IMAGE} + entrypoint: [""] + stage: post-qa + before_script: + - cd qa + script: + - bundle exec rake 'knapsack:upload[knapsack/gcs/regenerated-*.json]' + review-qa-smoke: extends: - .review-qa-base @@ -88,6 +108,7 @@ review-qa-reliable: variables: QA_RUN_TYPE: review-qa-reliable QA_SCENARIO: Test::Instance::Reliable + KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-reliable.json review-qa-all: extends: @@ -97,6 +118,7 @@ review-qa-all: variables: QA_RUN_TYPE: review-qa-all QA_SCENARIO: Test::Instance::All + KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-all.json review-performance: extends: @@ -141,3 +163,19 @@ allure-report-qa-all: variables: ALLURE_REPORT_PATH_PREFIX: gitlab-review-all ALLURE_JOB_NAME: review-qa-all + +knapsack-report-qa-all: + extends: + - .knapsack-upload-base + - .review:rules:knapsack-report-qa-all + needs: ["review-qa-all"] + variables: + KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-all.json + +knapsack-report-qa-reliable: + extends: + - .knapsack-upload-base + - .review:rules:knapsack-report-qa-reliable + needs: ["review-qa-reliable"] + variables: + KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-reliable.json diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 77199174165..3782b0d11dd 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -648,6 +648,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *code-backstage-patterns + - <<: *if-security-merge-request + changes: *code-backstage-patterns - <<: *if-default-refs changes: *backend-patterns - <<: *if-merge-request-not-approved @@ -661,6 +663,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-jest when: never - <<: *if-default-refs @@ -815,6 +819,8 @@ changes: *db-patterns - <<: *if-automated-merge-request changes: *db-patterns + - <<: *if-security-merge-request + changes: *db-patterns - <<: *if-merge-request-not-approved when: never - changes: *db-patterns @@ -825,6 +831,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -860,6 +868,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns + - <<: *if-security-merge-request + changes: *backend-patterns - <<: *if-merge-request-not-approved when: never - changes: *backend-patterns @@ -870,6 +880,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -890,6 +902,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns + - <<: *if-security-merge-request + changes: *backend-patterns - <<: *if-merge-request-not-approved when: never - changes: *backend-patterns @@ -900,6 +914,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -920,6 +936,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *code-backstage-patterns + - <<: *if-security-merge-request + changes: *code-backstage-patterns - <<: *if-merge-request-not-approved when: never - changes: *code-backstage-patterns @@ -930,6 +948,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -950,6 +970,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: ["config/**/*"] + - <<: *if-security-merge-request + changes: ["config/**/*"] - <<: *if-merge-request-not-approved when: never - changes: ["config/**/*"] @@ -960,6 +982,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -989,6 +1013,8 @@ changes: *db-patterns - <<: *if-automated-merge-request changes: *db-patterns + - <<: *if-security-merge-request + changes: *db-patterns - <<: *if-merge-request-not-approved when: never - changes: *db-patterns @@ -1001,6 +1027,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -1024,6 +1052,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns + - <<: *if-security-merge-request + changes: *backend-patterns - <<: *if-merge-request-not-approved when: never - changes: *backend-patterns @@ -1036,6 +1066,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -1058,6 +1090,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns + - <<: *if-security-merge-request + changes: *backend-patterns - <<: *if-merge-request-not-approved when: never - changes: *backend-patterns @@ -1070,6 +1104,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -1092,6 +1128,8 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *code-backstage-patterns + - <<: *if-security-merge-request + changes: *code-backstage-patterns - <<: *if-merge-request-not-approved when: never - changes: *code-backstage-patterns @@ -1104,6 +1142,8 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request-labels-run-all-rspec when: never - <<: *if-merge-request @@ -1130,6 +1170,8 @@ changes: *db-patterns - <<: *if-automated-merge-request changes: *db-patterns + - <<: *if-security-merge-request + changes: *db-patterns - <<: *if-merge-request-not-approved when: never @@ -1141,15 +1183,14 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request changes: *core-backend-patterns when: never - <<: *if-merge-request changes: *ci-patterns when: never - - <<: *if-security-merge-request - changes: *db-patterns - when: never - <<: *if-merge-request-labels-as-if-foss changes: *db-patterns when: never @@ -1165,10 +1206,10 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns - - <<: *if-merge-request-not-approved - when: never - <<: *if-security-merge-request changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1180,14 +1221,14 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request changes: *core-backend-patterns when: never - <<: *if-merge-request changes: *ci-patterns when: never - - <<: *if-security-merge-request - changes: *backend-patterns - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1202,10 +1243,10 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns - - <<: *if-merge-request-not-approved - when: never - <<: *if-security-merge-request changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1217,14 +1258,14 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request changes: *core-backend-patterns when: never - <<: *if-merge-request changes: *ci-patterns when: never - - <<: *if-security-merge-request - changes: *backend-patterns - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1239,10 +1280,10 @@ changes: *ci-patterns - <<: *if-automated-merge-request changes: *code-backstage-patterns - - <<: *if-merge-request-not-approved - when: never - <<: *if-security-merge-request changes: *code-backstage-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-merge-request-labels-as-if-foss changes: *code-backstage-patterns @@ -1254,14 +1295,14 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-security-merge-request + when: never - <<: *if-merge-request changes: *core-backend-patterns when: never - <<: *if-merge-request changes: *ci-patterns when: never - - <<: *if-security-merge-request - changes: *code-backstage-patterns - <<: *if-merge-request-labels-as-if-foss changes: *code-backstage-patterns @@ -1621,6 +1662,10 @@ .review:rules:review-qa-reliable: rules: + - <<: *if-dot-com-ee-2-hourly-schedule + allow_failure: true + variables: + KNAPSACK_GENERATE_REPORT: "true" - when: on_success allow_failure: true @@ -1631,6 +1676,10 @@ changes: *code-patterns when: manual allow_failure: true # manual jobs needs to be allowd to fail, otherwise they block the pipeline + - <<: *if-dot-com-ee-2-hourly-schedule + allow_failure: true + variables: + KNAPSACK_GENERATE_REPORT: "true" - when: on_success allow_failure: true @@ -1646,6 +1695,20 @@ - when: on_failure allow_failure: true +# Generate knapsack report on successful runs only +# Reliable suite will pass most of the time so this should yield best distribution +.review:rules:knapsack-report-qa-reliable: + rules: + - <<: *if-dot-com-ee-2-hourly-schedule + when: on_success + allow_failure: true + +.review:rules:knapsack-report-qa-all: + rules: + - <<: *if-dot-com-ee-2-hourly-schedule + when: always + allow_failure: true + .review:rules:review-cleanup: rules: - <<: *if-not-ee diff --git a/Gemfile b/Gemfile index b0b9e58534f..2c96224d99b 100644 --- a/Gemfile +++ b/Gemfile @@ -185,7 +185,7 @@ gem 'rack', '~> 2.2.3' gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base' group :puma do - gem 'puma', '~> 5.3.1', require: false + gem 'puma', '~> 5.5.2', require: false gem 'puma_worker_killer', '~> 0.3.1', require: false gem 'sd_notify', '~> 0.1.0', require: false end diff --git a/Gemfile.lock b/Gemfile.lock index 7c85913ddd9..1089aa7e02f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -945,7 +945,7 @@ GEM tty-markdown tty-prompt public_suffix (4.0.6) - puma (5.3.2) + puma (5.5.2) nio4r (~> 2.0) puma_worker_killer (0.3.1) get_process_mem (~> 0.2) @@ -1581,7 +1581,7 @@ DEPENDENCIES pry-byebug pry-rails (~> 0.3.9) pry-shell (~> 0.5.0) - puma (~> 5.3.1) + puma (~> 5.5.2) puma_worker_killer (~> 0.3.1) rack (~> 2.2.3) rack-attack (~> 6.3.0) diff --git a/app/assets/javascripts/filtered_search/constants.js b/app/assets/javascripts/filtered_search/constants.js index 08736b09407..e2d6936acbd 100644 --- a/app/assets/javascripts/filtered_search/constants.js +++ b/app/assets/javascripts/filtered_search/constants.js @@ -11,3 +11,10 @@ export const FILTER_TYPE = { }; export const MAX_HISTORY_SIZE = 5; + +export const FILTERED_SEARCH = { + MERGE_REQUESTS: 'merge_requests', + ISSUES: 'issues', + ADMIN_RUNNERS: 'admin/runners', + GROUP_RUNNERS_ANCHOR: 'runners-settings', +}; diff --git a/app/assets/javascripts/issuable/constants.js b/app/assets/javascripts/issuable/constants.js index 9344f4a7c9a..5327f251fda 100644 --- a/app/assets/javascripts/issuable/constants.js +++ b/app/assets/javascripts/issuable/constants.js @@ -4,3 +4,8 @@ export const ISSUABLE_TYPE = { issues: 'issues', mergeRequests: 'merge-requests', }; + +export const ISSUABLE_INDEX = { + ISSUE: 'issue_', + MERGE_REQUEST: 'merge_request_', +}; diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list.vue index 3e19a646f53..2d32295b537 100644 --- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list.vue +++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list.vue @@ -1,7 +1,8 @@