New upstream version 15.4.2+ds1
This commit is contained in:
parent
a37d4bddc0
commit
095190ed6e
6229 changed files with 211464 additions and 82597 deletions
|
@ -3,6 +3,7 @@ extends:
|
|||
- plugin:@gitlab/i18n
|
||||
- plugin:no-jquery/slim
|
||||
- plugin:no-jquery/deprecated-3.4
|
||||
- plugin:no-unsanitized/DOM
|
||||
- ./tooling/eslint-config/conditionally_ignore.js
|
||||
globals:
|
||||
__webpack_public_path__: true
|
||||
|
@ -116,6 +117,14 @@ rules:
|
|||
vue/multi-word-component-names: off
|
||||
unicorn/prefer-dom-node-dataset:
|
||||
- error
|
||||
no-unsanitized/method:
|
||||
- error
|
||||
- escape:
|
||||
methods: 'sanitize'
|
||||
no-unsanitized/property:
|
||||
- error
|
||||
- escape:
|
||||
methods: 'sanitize'
|
||||
overrides:
|
||||
- files:
|
||||
- '{,ee/,jh/}spec/frontend*/**/*'
|
||||
|
@ -134,6 +143,8 @@ overrides:
|
|||
message: 'Prefer explicit waitForPromises (or equivalent), or jest.runAllTimers (or equivalent) to vague setImmediate calls.'
|
||||
- selector: ImportSpecifier[imported.name='GlSkeletonLoading']
|
||||
message: 'Migrate to GlSkeletonLoader, or import GlDeprecatedSkeletonLoading.'
|
||||
no-unsanitized/method: off
|
||||
no-unsanitized/property: off
|
||||
- files:
|
||||
- 'config/**/*'
|
||||
- 'scripts/**/*'
|
||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -95,8 +95,6 @@ jsdoc/
|
|||
webpack-dev-server.json
|
||||
/.nvimrc
|
||||
.solargraph.yml
|
||||
/tmp/matching_foss_tests.txt
|
||||
/tmp/matching_tests.txt
|
||||
ee/changelogs/unreleased-ee
|
||||
/sitespeed-result
|
||||
tags.lock
|
||||
|
|
|
@ -35,17 +35,10 @@ workflow:
|
|||
# they serve no purpose and will run anyway when the changes are merged.
|
||||
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^release-tools\/\d+\.\d+\.\d+-rc\d+$/ && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/ && $CI_PROJECT_PATH == "gitlab-org/gitlab"'
|
||||
when: never
|
||||
# For merged result pipelines, set $QA_IMAGE, since $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is only available for merged result pipelines.
|
||||
# AND
|
||||
# For merge requests running exclusively in Ruby 3.0
|
||||
- if: '($CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train") && $CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3/'
|
||||
variables:
|
||||
QA_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA}"
|
||||
RUBY_VERSION: "3.0"
|
||||
# For merged result pipelines, set $QA_IMAGE, since $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is only available for merged result pipelines.
|
||||
- if: '($CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train")'
|
||||
variables:
|
||||
QA_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA}"
|
||||
# For merge requests running exclusively in Ruby 3.0
|
||||
- if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3/'
|
||||
variables:
|
||||
|
@ -74,7 +67,7 @@ variables:
|
|||
RAILS_ENV: "test"
|
||||
NODE_ENV: "test"
|
||||
BUNDLE_WITHOUT: "production:development"
|
||||
BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"
|
||||
BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3"
|
||||
BUNDLE_FROZEN: "true"
|
||||
# we override the max_old_space_size to prevent OOM errors
|
||||
NODE_OPTIONS: --max_old_space_size=3584
|
||||
|
@ -97,6 +90,8 @@ variables:
|
|||
RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json
|
||||
RSPEC_PROFILING_FOLDER_PATH: rspec/profiling
|
||||
FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json
|
||||
RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt
|
||||
RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt
|
||||
RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt
|
||||
JUNIT_RESULT_FILE: rspec/junit_rspec.xml
|
||||
JUNIT_RETRY_FILE: rspec/junit_rspec-retry.xml
|
||||
|
@ -122,11 +117,6 @@ variables:
|
|||
BUILD_ASSETS_IMAGE: "true" # Set it to "false" to disable assets image building, used in `build-assets-image`
|
||||
SIMPLECOV: "true"
|
||||
|
||||
# For the default QA image, we use $CI_COMMIT_SHA as tag since it's always available and we override it for specific workflow.rules (see above)
|
||||
QA_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}"
|
||||
# Default latest tag for particular branch
|
||||
QA_IMAGE_BRANCH: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_REF_SLUG}"
|
||||
|
||||
REGISTRY_HOST: "registry.gitlab.com"
|
||||
REGISTRY_GROUP: "gitlab-org"
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
1
.gitlab/agents/review-apps/config.yaml
Normal file
1
.gitlab/agents/review-apps/config.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
# This empty file is used for agent-based integration with Kubernetes
|
11
.gitlab/ci/_skip.yml
Normal file
11
.gitlab/ci/_skip.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
# no-op pipeline template for skipping whole child pipeline execution
|
||||
|
||||
no-op:
|
||||
image: ${GITLAB_DEPENDENCY_PROXY}alpine:latest
|
||||
stage: test
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- echo "${SKIP_MESSAGE:-no-op run, nothing will be executed!}"
|
||||
rules:
|
||||
- when: always
|
|
@ -2,15 +2,11 @@
|
|||
extends: .use-kaniko
|
||||
variables:
|
||||
GIT_LFS_SKIP_SMUDGE: 1
|
||||
script:
|
||||
- scripts/checkout-mr-source-sha
|
||||
retry: 2
|
||||
|
||||
# This image is used by:
|
||||
# - The `review-qa-*` jobs
|
||||
# - The downstream `omnibus-gitlab-mirror` pipeline triggered by `package-and-qa` so that it doesn't have to rebuild it again.
|
||||
# The downstream `omnibus-gitlab-mirror` pipeline itself passes the image name to the `gitlab-qa-mirror` pipeline so that
|
||||
# it can use it instead of inferring an end-to-end imag from the GitLab image built by the downstream `omnibus-gitlab-mirror` pipeline.
|
||||
# - The `e2e:package-and-test` child pipeline test stage jobs
|
||||
# See https://docs.gitlab.com/ee/development/testing_guide/end_to_end/index.html#testing-code-in-merge-requests for more details.
|
||||
build-qa-image:
|
||||
extends:
|
||||
|
@ -19,15 +15,23 @@ build-qa-image:
|
|||
stage: build-images
|
||||
needs: []
|
||||
script:
|
||||
- !reference [.base-image-build, script]
|
||||
# Tag with commit SHA by default
|
||||
- export QA_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}"
|
||||
# For branches, tag with slugified branch name. For tags, use the tag directly
|
||||
- export QA_IMAGE_BRANCH="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_TAG:-$CI_COMMIT_REF_SLUG}"
|
||||
# Auto-deploy tag format uses first 12 letters of commit SHA. Tag with that
|
||||
# reference also
|
||||
- export QA_IMAGE_FOR_AUTO_DEPLOY="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA:0:11}"
|
||||
- echo $QA_IMAGE
|
||||
- echo $QA_IMAGE_BRANCH
|
||||
- echo $QA_IMAGE_FOR_AUTO_DEPLOY
|
||||
- |
|
||||
/kaniko/executor \
|
||||
--context=${CI_PROJECT_DIR} \
|
||||
--dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile \
|
||||
--destination=${QA_IMAGE} \
|
||||
--destination=${QA_IMAGE_BRANCH} \
|
||||
--destination=${QA_IMAGE_FOR_AUTO_DEPLOY} \
|
||||
--build-arg=CHROME_VERSION=${CHROME_VERSION} \
|
||||
--build-arg=DOCKER_VERSION=${DOCKER_VERSION} \
|
||||
--build-arg=QA_BUILD_TARGET=${QA_BUILD_TARGET:-qa} \
|
||||
|
@ -35,7 +39,7 @@ build-qa-image:
|
|||
|
||||
# This image is used by:
|
||||
# - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335
|
||||
# - The `omnibus-gitlab` pipelines (via the `package-and-qa` job): https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/dfd1ad475868fc84e91ab7b5706aa03e46dc3a86/.gitlab-ci.yml#L130
|
||||
# - The `omnibus-gitlab` pipelines (via the `e2e:package-and-test` job): https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/dfd1ad475868fc84e91ab7b5706aa03e46dc3a86/.gitlab-ci.yml#L130
|
||||
build-assets-image:
|
||||
extends:
|
||||
- .base-image-build
|
||||
|
@ -43,7 +47,6 @@ build-assets-image:
|
|||
stage: build-images
|
||||
needs: ["compile-production-assets"]
|
||||
script:
|
||||
- !reference [.base-image-build, script]
|
||||
# TODO: Change the image tag to be the MD5 of assets files and skip image building if the image exists
|
||||
# We'll also need to pass GITLAB_ASSETS_TAG to the trigerred omnibus-gitlab pipeline similarly to how we do it for trigerred CNG pipelines
|
||||
# https://gitlab.com/gitlab-org/gitlab/issues/208389
|
||||
|
|
|
@ -44,7 +44,7 @@ docs-lint markdown:
|
|||
- .default-retry
|
||||
- .docs:rules:docs-lint
|
||||
# When updating the image version here, update it in /scripts/lint-doc.sh too.
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-markdown:alpine-3.16-vale-2.17.0-markdownlint-0.31.1
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-markdown:alpine-3.16-vale-2.20.1-markdownlint-0.32.2
|
||||
stage: lint
|
||||
needs: []
|
||||
script:
|
||||
|
|
|
@ -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,10 +40,9 @@ 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:
|
||||
- scripts/checkout-mr-source-sha
|
||||
- !reference [.default-before_script, before_script]
|
||||
after_script:
|
||||
- rm -f /etc/apt/sources.list.d/google*.list # We don't need to update Chrome here
|
||||
|
@ -57,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:
|
||||
|
@ -213,7 +213,15 @@ jest minimal:
|
|||
- !reference [jest, needs]
|
||||
- "detect-tests"
|
||||
script:
|
||||
- run_timed_command "yarn jest:ci:minimal"
|
||||
- if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi
|
||||
|
||||
jest as-if-foss:
|
||||
extends:
|
||||
- .jest-base
|
||||
- .frontend:rules:jest:as-if-foss
|
||||
- .as-if-foss
|
||||
needs: ["rspec-all frontend_fixture as-if-foss"]
|
||||
parallel: 2
|
||||
|
||||
jest minimal as-if-foss:
|
||||
extends:
|
||||
|
@ -224,7 +232,7 @@ jest minimal as-if-foss:
|
|||
- "rspec-all frontend_fixture as-if-foss"
|
||||
- "detect-tests"
|
||||
script:
|
||||
- run_timed_command "yarn jest:ci:minimal"
|
||||
- if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi
|
||||
|
||||
jest-integration:
|
||||
extends:
|
||||
|
@ -236,19 +244,11 @@ jest-integration:
|
|||
- job: "rspec-all frontend_fixture"
|
||||
- job: "graphql-schema-dump"
|
||||
|
||||
jest-as-if-foss:
|
||||
extends:
|
||||
- .jest-base
|
||||
- .frontend:rules:default-frontend-jobs-as-if-foss
|
||||
- .as-if-foss
|
||||
needs: ["rspec-all frontend_fixture as-if-foss"]
|
||||
parallel: 2
|
||||
|
||||
coverage-frontend:
|
||||
extends:
|
||||
- .default-retry
|
||||
- .yarn-cache
|
||||
- .frontend:rules:ee-mr-and-default-branch-only
|
||||
- .frontend:rules:coverage-frontend
|
||||
needs:
|
||||
- job: "jest"
|
||||
optional: true
|
||||
|
@ -260,7 +260,9 @@ coverage-frontend:
|
|||
script:
|
||||
- run_timed_command "yarn node scripts/frontend/merge_coverage_frontend.js"
|
||||
# Removing the individual coverage results, as we just merged them.
|
||||
- rm -r coverage-frontend/jest-*
|
||||
- if ls coverage-frontend/jest-* > /dev/null 2>&1; then
|
||||
rm -r coverage-frontend/jest-*;
|
||||
fi
|
||||
coverage: '/^Statements\s*:\s*?(\d+(?:\.\d+)?)%/'
|
||||
artifacts:
|
||||
name: coverage-frontend
|
||||
|
@ -320,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:
|
||||
|
|
|
@ -290,7 +290,7 @@
|
|||
- name: postgres:12
|
||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
||||
- name: redis:6.0-alpine
|
||||
- name: elasticsearch:8.2.0
|
||||
- name: elasticsearch:8.3.3
|
||||
variables:
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
PG_VERSION: "12"
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
MERGE_REQUEST_URL: ${CI_MERGE_REQUEST_PROJECT_URL}/-/merge_requests/${CI_MERGE_REQUEST_IID}
|
||||
before_script:
|
||||
- apk update && apk add git curl bash
|
||||
- echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL}"
|
||||
- echo "CI_PIPELINE_URL is ${CI_PIPELINE_URL}"
|
||||
|
||||
notify-update-gitaly:
|
||||
extends:
|
||||
|
@ -16,11 +18,9 @@ notify-update-gitaly:
|
|||
when: on_failure
|
||||
allow_failure: true
|
||||
variables:
|
||||
NOTIFY_CHANNEL: g_create_gitaly
|
||||
NOTIFY_CHANNEL: g_gitaly
|
||||
GITALY_UPDATE_BRANCH: release-tools/update-gitaly
|
||||
script:
|
||||
- echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL}"
|
||||
- echo "CI_PIPELINE_URL is ${CI_PIPELINE_URL}"
|
||||
- scripts/slack ${NOTIFY_CHANNEL} "☠️ \`${GITALY_UPDATE_BRANCH}\` failed! ☠️ See ${CI_PIPELINE_URL} (triggered from ${MERGE_REQUEST_URL})" ci_failing "GitLab QA Bot"
|
||||
|
||||
notify-security-pipeline:
|
||||
|
@ -30,7 +30,17 @@ notify-security-pipeline:
|
|||
variables:
|
||||
NOTIFY_CHANNEL: f_upcoming_release
|
||||
script:
|
||||
- echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL}"
|
||||
- echo "CI_PIPELINE_URL is ${CI_PIPELINE_URL}"
|
||||
# <!subteam^S0127FU8PDE> mentions the `@release-managers` group
|
||||
- scripts/slack ${NOTIFY_CHANNEL} "<!subteam^S0127FU8PDE> ☠️ Pipeline for merged result failed! ☠️ See ${CI_PIPELINE_URL} (triggered from ${MERGE_REQUEST_URL})" ci_failing "GitLab Release Tools Bot"
|
||||
|
||||
notify-pipeline-failure:
|
||||
extends:
|
||||
- .notify-slack
|
||||
rules:
|
||||
- if: '$NOTIFY_PIPELINE_FAILURE_CHANNEL'
|
||||
when: on_failure
|
||||
allow_failure: true
|
||||
variables:
|
||||
NOTIFY_CHANNEL: "${NOTIFY_PIPELINE_FAILURE_CHANNEL}"
|
||||
script:
|
||||
- scripts/slack ${NOTIFY_CHANNEL} "❌ \`${CI_COMMIT_REF_NAME}\` pipeline failed! See ${CI_PIPELINE_URL}" ci_failing "notify-pipeline-failure"
|
||||
|
|
600
.gitlab/ci/package-and-test/main.gitlab-ci.yml
Normal file
600
.gitlab/ci/package-and-test/main.gitlab-ci.yml
Normal file
|
@ -0,0 +1,600 @@
|
|||
# E2E tests pipeline loaded dynamically by script: scripts/generate-e2e-pipeline
|
||||
|
||||
include:
|
||||
- local: .gitlab/ci/global.gitlab-ci.yml
|
||||
- local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml
|
||||
- local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml
|
||||
- project: gitlab-org/quality/pipeline-common
|
||||
ref: 1.2.1
|
||||
file:
|
||||
- /ci/base.gitlab-ci.yml
|
||||
- /ci/allure-report.yml
|
||||
- /ci/knapsack-report.yml
|
||||
|
||||
stages:
|
||||
- test
|
||||
- report
|
||||
- notify
|
||||
|
||||
# ==========================================
|
||||
# Templates
|
||||
# ==========================================
|
||||
.parallel:
|
||||
parallel: 5
|
||||
variables:
|
||||
QA_KNAPSACK_REPORT_PATH: $CI_PROJECT_DIR/qa/knapsack
|
||||
|
||||
.ruby-image:
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3
|
||||
|
||||
.bundle-install:
|
||||
extends:
|
||||
- .gitlab-qa-install
|
||||
- .qa-cache
|
||||
variables:
|
||||
RUN_WITH_BUNDLE: "true" # installs and runs gitlab-qa via bundler
|
||||
QA_PATH: qa
|
||||
|
||||
.omnibus-env:
|
||||
variables:
|
||||
BUILD_ENV: build.env
|
||||
script:
|
||||
- |
|
||||
SECURITY_SOURCES=$([[ ! "$CI_PROJECT_NAMESPACE" =~ ^gitlab-org\/security ]] || echo "true")
|
||||
echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV
|
||||
echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV
|
||||
for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done
|
||||
echo "Built environment file for omnibus build:"
|
||||
cat $BUILD_ENV
|
||||
artifacts:
|
||||
reports:
|
||||
dotenv: $BUILD_ENV
|
||||
|
||||
.update-script:
|
||||
script:
|
||||
- export QA_COMMAND="bundle exec gitlab-qa Test::Omnibus::UpdateFromPrevious $RELEASE $GITLAB_VERSION $UPDATE_TYPE -- $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS"
|
||||
- echo "Running - '$QA_COMMAND'"
|
||||
- eval "$QA_COMMAND"
|
||||
|
||||
.qa:
|
||||
extends:
|
||||
- .qa-base
|
||||
- .bundle-install
|
||||
- .gitlab-qa-report
|
||||
stage: test
|
||||
tags:
|
||||
- e2e
|
||||
needs:
|
||||
- trigger-omnibus
|
||||
- download-knapsack-report
|
||||
variables:
|
||||
QA_GENERATE_ALLURE_REPORT: "true"
|
||||
QA_CAN_TEST_PRAEFECT: "false"
|
||||
QA_INTERCEPT_REQUESTS: "true"
|
||||
QA_RUN_TYPE: e2e-package-and-test
|
||||
TEST_LICENSE_MODE: $QA_TEST_LICENSE_MODE
|
||||
EE_LICENSE: $QA_EE_LICENSE
|
||||
GITHUB_ACCESS_TOKEN: $QA_GITHUB_ACCESS_TOKEN
|
||||
GITLAB_QA_ADMIN_ACCESS_TOKEN: $QA_ADMIN_ACCESS_TOKEN
|
||||
|
||||
# ==========================================
|
||||
# Prepare stage
|
||||
# ==========================================
|
||||
trigger-omnibus-env:
|
||||
extends:
|
||||
- .omnibus-env
|
||||
- .rules:prepare
|
||||
stage: .pre
|
||||
|
||||
trigger-omnibus:
|
||||
extends: .rules:prepare
|
||||
stage: .pre
|
||||
needs:
|
||||
- trigger-omnibus-env
|
||||
inherit:
|
||||
variables: false
|
||||
variables:
|
||||
GITALY_SERVER_VERSION: $GITALY_SERVER_VERSION
|
||||
GITLAB_ELASTICSEARCH_INDEXER_VERSION: $GITLAB_ELASTICSEARCH_INDEXER_VERSION
|
||||
GITLAB_KAS_VERSION: $GITLAB_KAS_VERSION
|
||||
GITLAB_METRICS_EXPORTER_VERSION: $GITLAB_METRICS_EXPORTER_VERSION
|
||||
GITLAB_PAGES_VERSION: $GITLAB_PAGES_VERSION
|
||||
GITLAB_SHELL_VERSION: $GITLAB_SHELL_VERSION
|
||||
GITLAB_WORKHORSE_VERSION: $GITLAB_WORKHORSE_VERSION
|
||||
GITLAB_VERSION: $CI_COMMIT_SHA
|
||||
IMAGE_TAG: $CI_COMMIT_SHA
|
||||
TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH
|
||||
SECURITY_SOURCES: $SECURITY_SOURCES
|
||||
CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE
|
||||
SKIP_QA_DOCKER: "true"
|
||||
SKIP_QA_TEST: "true"
|
||||
ee: "true"
|
||||
trigger:
|
||||
project: gitlab-org/build/omnibus-gitlab-mirror
|
||||
strategy: depend
|
||||
|
||||
download-knapsack-report:
|
||||
extends:
|
||||
- .bundle-install
|
||||
- .ruby-image
|
||||
- .rules:prepare
|
||||
stage: .pre
|
||||
script:
|
||||
- bundle exec rake "knapsack:download[test]"
|
||||
allow_failure: true
|
||||
artifacts:
|
||||
paths:
|
||||
- qa/knapsack/ee-*.json
|
||||
expire_in: 1 day
|
||||
|
||||
# e2e test jobs run on separate runner which has separate cache setup
|
||||
cache-gems:
|
||||
extends:
|
||||
- .bundle-install
|
||||
- .ruby-image
|
||||
- .qa-cache-push
|
||||
- .rules:prepare
|
||||
stage: .pre
|
||||
tags:
|
||||
- e2e
|
||||
script:
|
||||
- echo "Populated qa cache"
|
||||
|
||||
# ==========================================
|
||||
# Test stage
|
||||
# ==========================================
|
||||
|
||||
# ------------------------------------------
|
||||
# Manual jobs
|
||||
# ------------------------------------------
|
||||
|
||||
# Run manual quarantine job
|
||||
# this job requires passing QA_SCENARIO variable
|
||||
# and optionally QA_TESTS to run specific quarantined tests
|
||||
_ee:quarantine:
|
||||
extends:
|
||||
- .qa
|
||||
- .rules:test:quarantine
|
||||
needs:
|
||||
- trigger-omnibus
|
||||
stage: test
|
||||
allow_failure: true
|
||||
variables:
|
||||
QA_RSPEC_TAGS: --tag quarantine
|
||||
|
||||
# ------------------------------------------
|
||||
# FF changes
|
||||
# ------------------------------------------
|
||||
|
||||
# Run specs with feature flags set to the opposite of the default state
|
||||
ee:instance-parallel-ff-inverse:
|
||||
extends:
|
||||
- .qa
|
||||
- .parallel
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
QA_KNAPSACK_REPORT_NAME: ee-instance-parallel
|
||||
GITLAB_QA_OPTS: --set-feature-flags $QA_FEATURE_FLAGS
|
||||
rules:
|
||||
- !reference [.rules:test:feature-flags-deleted, rules] # skip job when only change is ff deletion
|
||||
- !reference [.rules:test:feature-flags-set, rules]
|
||||
|
||||
# ------------------------------------------
|
||||
# Jobs with parallel variant
|
||||
# ------------------------------------------
|
||||
ee:instance:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
ee:instance-parallel:
|
||||
extends:
|
||||
- .parallel
|
||||
- ee:instance
|
||||
rules:
|
||||
- !reference [.rules:test:feature-flags-set, rules] # always run instance-parallel to validate ff change
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
|
||||
ee:praefect:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::Praefect
|
||||
QA_CAN_TEST_PRAEFECT: "true"
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
ee:praefect-parallel:
|
||||
extends:
|
||||
- .parallel
|
||||
- ee:praefect
|
||||
rules:
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
|
||||
ee:relative-url:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::RelativeUrl
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
ee:relative-url-parallel:
|
||||
extends:
|
||||
- .parallel
|
||||
- ee:relative-url
|
||||
rules:
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
|
||||
ee:decomposition-single-db:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
GITLAB_QA_OPTS: --omnibus-config decomposition_single_db
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
ee:decomposition-single-db-parallel:
|
||||
extends:
|
||||
- .parallel
|
||||
- ee:decomposition-single-db
|
||||
rules:
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
|
||||
ee:decomposition-multiple-db:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
GITLAB_QA_OPTS: --omnibus-config decomposition_multiple_db
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
ee:decomposition-multiple-db-parallel:
|
||||
extends:
|
||||
- .parallel
|
||||
- ee:decomposition-multiple-db
|
||||
rules:
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::All/
|
||||
|
||||
ee:object-storage:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
QA_RSPEC_TAGS: --tag object_storage
|
||||
GITLAB_QA_OPTS: --omnibus-config object_storage
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::ObjectStorage/
|
||||
ee:object-storage-parallel:
|
||||
extends: ee:object-storage
|
||||
parallel: 2
|
||||
rules:
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::ObjectStorage/
|
||||
|
||||
ee:object-storage-aws:
|
||||
extends: ee:object-storage
|
||||
variables:
|
||||
AWS_S3_ACCESS_KEY: $QA_AWS_S3_ACCESS_KEY
|
||||
AWS_S3_BUCKET_NAME: $QA_AWS_S3_BUCKET_NAME
|
||||
AWS_S3_KEY_ID: $QA_AWS_S3_KEY_ID
|
||||
AWS_S3_REGION: $QA_AWS_S3_REGION
|
||||
GITLAB_QA_OPTS: --omnibus-config object_storage_aws
|
||||
ee:object-storage-aws-parallel:
|
||||
extends: ee:object-storage-aws
|
||||
parallel: 2
|
||||
rules:
|
||||
- !reference [ee:object-storage-parallel, rules]
|
||||
|
||||
ee:object-storage-gcs:
|
||||
extends: ee:object-storage
|
||||
variables:
|
||||
GCS_BUCKET_NAME: $QA_GCS_BUCKET_NAME
|
||||
GOOGLE_PROJECT: $QA_GOOGLE_PROJECT
|
||||
GOOGLE_JSON_KEY: $QA_GOOGLE_JSON_KEY
|
||||
GOOGLE_CLIENT_EMAIL: $QA_GOOGLE_CLIENT_EMAIL
|
||||
GITLAB_QA_OPTS: --omnibus-config object_storage_gcs
|
||||
ee:object-storage-gcs-parallel:
|
||||
extends: ee:object-storage-gcs
|
||||
parallel: 2
|
||||
rules:
|
||||
- !reference [ee:object-storage-parallel, rules]
|
||||
|
||||
ee:packages:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
QA_RSPEC_TAGS: --tag packages
|
||||
GITLAB_QA_OPTS: --omnibus-config packages
|
||||
rules:
|
||||
- !reference [.rules:test:qa-non-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::Packages/
|
||||
ee:packages-parallel:
|
||||
extends: ee:packages
|
||||
parallel: 2
|
||||
rules:
|
||||
- !reference [.rules:test:qa-parallel, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::Packages/
|
||||
|
||||
# ------------------------------------------
|
||||
# Non parallel jobs
|
||||
# ------------------------------------------
|
||||
ee:update-minor:
|
||||
extends:
|
||||
- .qa
|
||||
- .update-script
|
||||
variables:
|
||||
UPDATE_TYPE: minor
|
||||
QA_RSPEC_TAGS: --tag smoke
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::Smoke/
|
||||
|
||||
ee:update-major:
|
||||
extends:
|
||||
- .qa
|
||||
- .update-script
|
||||
variables:
|
||||
UPDATE_TYPE: major
|
||||
QA_RSPEC_TAGS: --tag smoke
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::Smoke/
|
||||
|
||||
ee:gitaly-cluster:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::GitalyCluster
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::GitalyCluster/
|
||||
|
||||
ee:group-saml:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::GroupSAML
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::GroupSAML/
|
||||
|
||||
ee:instance-saml:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::InstanceSAML
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::InstanceSAML/
|
||||
|
||||
ee:jira:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::Jira
|
||||
JIRA_ADMIN_USERNAME: $QA_JIRA_ADMIN_USERNAME
|
||||
JIRA_ADMIN_PASSWORD: $QA_JIRA_ADMIN_PASSWORD
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::Jira/
|
||||
|
||||
ee:ldap-no-server:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::LDAPNoServer
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::LDAPNoServer/
|
||||
|
||||
ee:ldap-tls:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::LDAPTLS
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::LDAPTLS/
|
||||
|
||||
ee:ldap-no-tls:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::LDAPNoTLS
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::LDAPNoTLS/
|
||||
|
||||
ee:mtls:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::MTLS
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::MTLS/
|
||||
|
||||
ee:mattermost:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::Mattermost
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::Mattermost/
|
||||
|
||||
ee:registry:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::Registry
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::Registry/
|
||||
|
||||
ee:registry-with-cdn:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::RegistryWithCDN
|
||||
GCS_CDN_BUCKET_NAME: $QA_GCS_CDN_BUCKET_NAME
|
||||
GOOGLE_CDN_LB: $QA_GOOGLE_CDN_LB
|
||||
GOOGLE_CDN_JSON_KEY: $QA_GOOGLE_CDN_JSON_KEY
|
||||
GOOGLE_CDN_SIGNURL_KEY: $QA_GOOGLE_CDN_SIGNURL_KEY
|
||||
GOOGLE_CDN_SIGNURL_KEY_NAME: $QA_GOOGLE_CDN_SIGNURL_KEY_NAME
|
||||
before_script:
|
||||
- unset GITLAB_QA_ADMIN_ACCESS_TOKEN
|
||||
- !reference [.qa, before_script]
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::RegistryWithCDN/
|
||||
|
||||
ee:repository-storage:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::RepositoryStorage
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::RepositoryStorage/
|
||||
|
||||
ee:service-ping-disabled:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::ServicePingDisabled
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::ServicePingDisabled/
|
||||
|
||||
ee:smtp:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::SMTP
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::SMTP/
|
||||
|
||||
ee:cloud-activation:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
QA_RSPEC_TAGS: --tag cloud_activation
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::CloudActivation/
|
||||
|
||||
ee:large-setup:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Image
|
||||
QA_RSPEC_TAGS: --tag can_use_large_setup
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::LargeSetup/
|
||||
|
||||
ee:metrics:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::Metrics
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Instance::Metrics/
|
||||
|
||||
ee:elasticsearch:
|
||||
extends: .qa
|
||||
variables:
|
||||
QA_SCENARIO: "Test::Integration::Elasticsearch"
|
||||
before_script:
|
||||
- unset ELASTIC_URL # unset url which is globally defined in .gitlab-ci.yml
|
||||
- !reference [.qa, before_script]
|
||||
rules:
|
||||
- !reference [.rules:test:qa, rules]
|
||||
- if: $QA_SUITES =~ /Test::Integration::Elasticsearch/
|
||||
|
||||
ee:registry-object-storage-tls:
|
||||
extends: ee:object-storage-aws
|
||||
variables:
|
||||
QA_SCENARIO: Test::Integration::RegistryTLS
|
||||
QA_RSPEC_TAGS: ""
|
||||
GITLAB_TLS_CERTIFICATE: $QA_GITLAB_TLS_CERTIFICATE
|
||||
GITLAB_QA_OPTS: --omnibus-config registry_object_storage
|
||||
|
||||
# ==========================================
|
||||
# Post test stage
|
||||
# ==========================================
|
||||
e2e-test-report:
|
||||
extends:
|
||||
- .generate-allure-report-base
|
||||
- .rules:report:allure-report
|
||||
stage: report
|
||||
variables:
|
||||
GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
|
||||
ALLURE_PROJECT_PATH: $CI_PROJECT_PATH
|
||||
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:
|
||||
- .generate-knapsack-report-base
|
||||
- .bundle-install
|
||||
- .ruby-image
|
||||
- .rules:report:process-results
|
||||
stage: report
|
||||
when: always
|
||||
|
||||
relate-test-failures:
|
||||
extends:
|
||||
- .bundle-install
|
||||
- .ruby-image
|
||||
- .rules:report:process-results
|
||||
stage: report
|
||||
variables:
|
||||
QA_FAILURES_REPORTING_PROJECT: gitlab-org/gitlab
|
||||
QA_FAILURES_MAX_DIFF_RATIO: "0.15"
|
||||
GITLAB_QA_ACCESS_TOKEN: $GITLAB_QA_PRODUCTION_ACCESS_TOKEN
|
||||
when: on_failure
|
||||
script:
|
||||
- |
|
||||
bundle exec gitlab-qa-report \
|
||||
--relate-failure-issue "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.json" \
|
||||
--project "$QA_FAILURES_REPORTING_PROJECT" \
|
||||
--max-diff-ratio "$QA_FAILURES_MAX_DIFF_RATIO"
|
||||
|
||||
generate-test-session:
|
||||
extends:
|
||||
- .bundle-install
|
||||
- .ruby-image
|
||||
- .rules:report:process-results
|
||||
stage: report
|
||||
variables:
|
||||
QA_TESTCASE_SESSIONS_PROJECT: gitlab-org/quality/testcase-sessions
|
||||
GITLAB_QA_ACCESS_TOKEN: $QA_TEST_SESSION_TOKEN
|
||||
GITLAB_CI_API_TOKEN: $QA_GITLAB_CI_TOKEN
|
||||
when: always
|
||||
script:
|
||||
- |
|
||||
bundle exec gitlab-qa-report \
|
||||
--generate-test-session "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.json" \
|
||||
--project "$QA_TESTCASE_SESSIONS_PROJECT"
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 1d
|
||||
paths:
|
||||
- qa/REPORT_ISSUE_URL
|
||||
|
||||
notify-slack:
|
||||
extends:
|
||||
- .notify-slack-qa
|
||||
- .bundle-install
|
||||
- .ruby-image
|
||||
- .rules:report:process-results
|
||||
stage: notify
|
||||
variables:
|
||||
ALLURE_JOB_NAME: e2e-package-and-test
|
||||
SLACK_ICON_EMOJI: ci_failing
|
||||
STATUS_SYM: ☠️
|
||||
STATUS: failed
|
||||
when: on_failure
|
||||
script:
|
||||
- bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.xml" # generate summary
|
||||
- !reference [.notify-slack-qa, script]
|
99
.gitlab/ci/package-and-test/rules.gitlab-ci.yml
Normal file
99
.gitlab/ci/package-and-test/rules.gitlab-ci.yml
Normal file
|
@ -0,0 +1,99 @@
|
|||
# Specific specs passed
|
||||
.specific-specs: &specific-specs
|
||||
if: $QA_TESTS != ""
|
||||
|
||||
# No specific specs passed
|
||||
.all-specs: &all-specs
|
||||
if: $QA_TESTS == ""
|
||||
|
||||
# FF changes
|
||||
.feature-flags-set: &feature-flags-set
|
||||
if: $QA_FEATURE_FLAGS != ""
|
||||
|
||||
# Only deleted feature flags
|
||||
.feature-flags-deleted: &feature-flags-deleted
|
||||
if: $QA_FEATURE_FLAGS != "" && $QA_FEATURE_FLAGS !~ /enabled|disabled/
|
||||
|
||||
# Manually trigger job on ff changes but with default ff state instead of inverted
|
||||
.feature-flags-set-manual: &feature-flags-set-manual
|
||||
<<: *feature-flags-set
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
# QA framework changes present
|
||||
.qa-framework-changes: &qa-framework-changes
|
||||
if: $QA_FRAMEWORK_CHANGES == "true"
|
||||
|
||||
# Process test results (notify failure to slack, create test session report, relate test failures)
|
||||
.process-test-results: &process-test-results
|
||||
if: $PROCESS_TEST_RESULTS == "true"
|
||||
|
||||
# Selective test execution against omnibus instance have following execution scenarios:
|
||||
# * only e2e spec files changed - runs only changed specs
|
||||
# * qa framework changes - runs full test suite
|
||||
# * feature flag changed - runs full test suite with base gitlab instance configuration with both ff states
|
||||
# * quarantined e2e spec - skips execution of e2e tests by creating a no-op pipeline
|
||||
|
||||
# ------------------------------------------
|
||||
# Prepare
|
||||
# ------------------------------------------
|
||||
.rules:prepare:
|
||||
rules:
|
||||
- when: always
|
||||
|
||||
# ------------------------------------------
|
||||
# Test
|
||||
# ------------------------------------------
|
||||
.rules:test:quarantine:
|
||||
rules:
|
||||
- when: manual
|
||||
variables:
|
||||
QA_TESTS: ""
|
||||
|
||||
.rules:test:feature-flags-set:
|
||||
rules:
|
||||
# unset specific specs if pipeline has feature flag changes and run full suite
|
||||
- <<: *feature-flags-set
|
||||
variables:
|
||||
QA_TESTS: ""
|
||||
|
||||
.rules:test:feature-flags-deleted:
|
||||
rules:
|
||||
- <<: *feature-flags-deleted
|
||||
when: never
|
||||
|
||||
# parallel and non parallel rules are used for jobs that require parallel execution and thus need to switch
|
||||
# between parallel and non parallel when only certain specs are executed
|
||||
.rules:test:qa-non-parallel:
|
||||
rules:
|
||||
# always run parallel with full suite when framework changes present or ff state changed
|
||||
- <<: *qa-framework-changes
|
||||
when: never
|
||||
- <<: *all-specs
|
||||
when: never
|
||||
- <<: *feature-flags-set
|
||||
when: never
|
||||
|
||||
.rules:test:qa-parallel:
|
||||
rules:
|
||||
- *qa-framework-changes
|
||||
- <<: *specific-specs
|
||||
when: never
|
||||
- *feature-flags-set-manual
|
||||
|
||||
# general qa job rule for jobs without the need to run in parallel
|
||||
.rules:test:qa:
|
||||
rules:
|
||||
- *qa-framework-changes
|
||||
- *feature-flags-set-manual
|
||||
|
||||
# ------------------------------------------
|
||||
# Report
|
||||
# ------------------------------------------
|
||||
.rules:report:allure-report:
|
||||
rules:
|
||||
- when: always
|
||||
|
||||
.rules:report:process-results:
|
||||
rules:
|
||||
- *process-test-results
|
9
.gitlab/ci/package-and-test/variables.gitlab-ci.yml
Normal file
9
.gitlab/ci/package-and-test/variables.gitlab-ci.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Default variables for package-and-test
|
||||
|
||||
variables:
|
||||
RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}"
|
||||
SKIP_REPORT_IN_ISSUES: "true"
|
||||
OMNIBUS_GITLAB_CACHE_UPDATE: "false"
|
||||
QA_LOG_LEVEL: "info"
|
||||
QA_TESTS: ""
|
||||
QA_FEATURE_FLAGS: ""
|
|
@ -1,5 +1,5 @@
|
|||
.qa-job-base:
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-chrome-103-docker-20.10.14
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}
|
||||
extends:
|
||||
- .default-retry
|
||||
- .qa-cache
|
||||
|
@ -57,7 +57,7 @@ qa:selectors-as-if-foss:
|
|||
- .qa:rules:as-if-foss
|
||||
- .as-if-foss
|
||||
|
||||
update-qa-cache:
|
||||
qa:update-qa-cache:
|
||||
extends:
|
||||
- .qa-job-base
|
||||
- .qa-cache-push
|
||||
|
@ -66,103 +66,40 @@ update-qa-cache:
|
|||
script:
|
||||
- echo "Cache has been updated and ready to be uploaded."
|
||||
|
||||
populate-qa-tests-var:
|
||||
e2e:package-and-test:
|
||||
extends:
|
||||
- .qa:rules:determine-qa-tests
|
||||
image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine
|
||||
stage: prepare
|
||||
script:
|
||||
- export QA_TESTS=$(scripts/determine-qa-tests --files $CHANGES_FILE --labels "$CI_MERGE_REQUEST_LABELS")
|
||||
- 'echo "QA_TESTS=$QA_TESTS" >> qa_tests_var.env'
|
||||
- 'echo "QA_TESTS: $QA_TESTS"'
|
||||
artifacts:
|
||||
expire_in: 2d
|
||||
reports:
|
||||
dotenv: qa_tests_var.env
|
||||
paths:
|
||||
- ${CHANGES_FILE}
|
||||
- qa_tests_var.env
|
||||
variables:
|
||||
CHANGES_FILE: tmp/changed_files.txt
|
||||
needs:
|
||||
- detect-tests
|
||||
|
||||
.package-and-qa-base:
|
||||
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine
|
||||
- .qa:rules:package-and-test
|
||||
stage: qa
|
||||
retry: 0
|
||||
before_script:
|
||||
- source scripts/utils.sh
|
||||
- install_gitlab_gem
|
||||
- tooling/bin/find_change_diffs ${CHANGES_DIFFS_DIR}
|
||||
script:
|
||||
- 'echo "QA_TESTS: $QA_TESTS"'
|
||||
- exit_code=0 && tooling/bin/qa/run_qa_check ${CHANGES_DIFFS_DIR} || exit_code=$?
|
||||
- echo $exit_code
|
||||
- |
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
./scripts/trigger-build.rb omnibus
|
||||
elif [ $exit_code -eq 1 ]; then
|
||||
exit 1
|
||||
else
|
||||
echo "Downstream jobs will not be triggered because run_qa_check exited with code: $exit_code"
|
||||
fi
|
||||
# These jobs often time out, so temporarily use private runners and a long timeout: https://gitlab.com/gitlab-org/gitlab/-/issues/238563
|
||||
tags:
|
||||
- prm
|
||||
timeout: 4h
|
||||
needs:
|
||||
- job: build-qa-image
|
||||
artifacts: false
|
||||
- job: build-assets-image
|
||||
artifacts: false
|
||||
- job: populate-qa-tests-var
|
||||
- detect-tests
|
||||
artifacts:
|
||||
expire_in: 7d
|
||||
paths:
|
||||
- ${CHANGES_DIFFS_DIR}/*
|
||||
- build-assets-image
|
||||
- build-qa-image
|
||||
- e2e-test-pipeline-generate
|
||||
variables:
|
||||
CHANGES_DIFFS_DIR: tmp/diffs
|
||||
ALLURE_JOB_NAME: $CI_JOB_NAME
|
||||
SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes!
|
||||
trigger:
|
||||
strategy: depend
|
||||
include:
|
||||
- artifact: package-and-test-pipeline.yml
|
||||
job: e2e-test-pipeline-generate
|
||||
|
||||
.package-and-qa-ff-base:
|
||||
# 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:
|
||||
- |
|
||||
feature_flags=$(scripts/changed-feature-flags --files $CHANGES_DIFFS_DIR --state $QA_FF_STATE)
|
||||
if [[ $feature_flags ]]; then
|
||||
export GITLAB_QA_OPTIONS="--set-feature-flags $feature_flags"
|
||||
echo $GITLAB_QA_OPTIONS
|
||||
./scripts/trigger-build.rb omnibus
|
||||
else
|
||||
echo "No changed feature flag found to test as $QA_FF_STATE."
|
||||
fi
|
||||
|
||||
package-and-qa:
|
||||
extends:
|
||||
- .package-and-qa-base
|
||||
- .qa:rules:package-and-qa
|
||||
|
||||
package-and-qa-ff-enabled:
|
||||
extends:
|
||||
- .package-and-qa-base
|
||||
- .package-and-qa-ff-base
|
||||
- .qa:rules:package-and-qa:feature-flags
|
||||
variables:
|
||||
QA_FF_STATE: "enabled"
|
||||
|
||||
package-and-qa-ff-disabled:
|
||||
extends:
|
||||
- .package-and-qa-base
|
||||
- .package-and-qa-ff-base
|
||||
- .qa:rules:package-and-qa:feature-flags
|
||||
variables:
|
||||
QA_FF_STATE: "disabled"
|
||||
|
||||
package-and-qa-ff-deleted:
|
||||
extends:
|
||||
- .package-and-qa-base
|
||||
- .package-and-qa-ff-base
|
||||
- .qa:rules:package-and-qa:feature-flags
|
||||
variables:
|
||||
QA_FF_STATE: "deleted"
|
||||
- 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
|
||||
|
|
|
@ -8,11 +8,13 @@
|
|||
|
||||
.base-script:
|
||||
script:
|
||||
- source ./scripts/rspec_helpers.sh
|
||||
# Only install knapsack after bundle install! Otherwise oddly some native
|
||||
# gems could not be found under some circumstance. No idea why, hours wasted.
|
||||
- run_timed_command "gem install knapsack --no-document"
|
||||
- run_timed_command "scripts/gitaly-test-spawn"
|
||||
- source ./scripts/rspec_helpers.sh
|
||||
- echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"
|
||||
- run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here
|
||||
- echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"
|
||||
|
||||
.minimal-rspec-tests:
|
||||
variables:
|
||||
|
@ -129,28 +131,28 @@
|
|||
############################
|
||||
# rspec job parallel configs
|
||||
.rspec-migration-parallel:
|
||||
parallel: 9
|
||||
parallel: 12
|
||||
|
||||
.rspec-ee-migration-parallel:
|
||||
parallel: 3
|
||||
|
||||
.rspec-unit-parallel:
|
||||
parallel: 22
|
||||
|
||||
.rspec-ee-unit-parallel:
|
||||
parallel: 16
|
||||
|
||||
.rspec-integration-parallel:
|
||||
parallel: 10
|
||||
|
||||
.rspec-ee-integration-parallel:
|
||||
parallel: 4
|
||||
|
||||
.rspec-unit-parallel:
|
||||
parallel: 28
|
||||
|
||||
.rspec-ee-unit-parallel:
|
||||
parallel: 18
|
||||
|
||||
.rspec-integration-parallel:
|
||||
parallel: 12
|
||||
|
||||
.rspec-ee-integration-parallel:
|
||||
parallel: 6
|
||||
|
||||
.rspec-system-parallel:
|
||||
parallel: 24
|
||||
parallel: 28
|
||||
|
||||
.rspec-ee-system-parallel:
|
||||
parallel: 6
|
||||
parallel: 10
|
||||
# rspec job parallel configs
|
||||
############################
|
||||
|
||||
|
@ -165,6 +167,7 @@ setup-test-env:
|
|||
variables:
|
||||
SETUP_DB: "false"
|
||||
script:
|
||||
- echo $CI_MERGE_REQUEST_APPROVED
|
||||
- source scripts/gitlab_workhorse_component_helpers.sh
|
||||
- run_timed_command "download_and_extract_gitlab_workhorse_package" || true
|
||||
- run_timed_command "scripts/setup-test-env"
|
||||
|
@ -175,14 +178,10 @@ setup-test-env:
|
|||
artifacts:
|
||||
expire_in: 7d
|
||||
paths:
|
||||
- config/secrets.yml
|
||||
- ${TMP_TEST_FOLDER}/gitaly/_build/bin/
|
||||
- ${TMP_TEST_FOLDER}/gitaly/_build/deps/git/install
|
||||
- ${TMP_TEST_FOLDER}/gitaly/config.toml
|
||||
- ${TMP_TEST_FOLDER}/gitaly/gitaly2.config.toml
|
||||
- ${TMP_TEST_FOLDER}/gitaly/internal/
|
||||
- ${TMP_TEST_FOLDER}/gitaly/run/
|
||||
- ${TMP_TEST_FOLDER}/gitaly/run2/
|
||||
- ${TMP_TEST_FOLDER}/gitaly/Makefile
|
||||
- ${TMP_TEST_FOLDER}/gitaly/praefect.config.toml
|
||||
- ${TMP_TEST_FOLDER}/gitaly/praefect-db.config.toml
|
||||
|
@ -379,51 +378,19 @@ db:migrate:reset single-db:
|
|||
- .single-db
|
||||
- .rails:rules:single-db
|
||||
|
||||
db:migrate-from-previous-major-version:
|
||||
extends: .db-job-base
|
||||
variables:
|
||||
USE_BUNDLE_INSTALL: "false"
|
||||
SETUP_DB: "false"
|
||||
PROJECT_TO_CHECKOUT: "gitlab-foss"
|
||||
TAG_TO_CHECKOUT: "v14.10.2"
|
||||
before_script:
|
||||
- !reference [.default-before_script, before_script]
|
||||
- '[[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab"'
|
||||
- '[[ -d "ee/" ]] || export TAG_TO_CHECKOUT="${TAG_TO_CHECKOUT}-ee"'
|
||||
- retry 'git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT'
|
||||
- git checkout -f FETCH_HEAD
|
||||
- SETUP_DB=false USE_BUNDLE_INSTALL=true ENABLE_BOOTSNAP=false bash scripts/prepare_build.sh
|
||||
- run_timed_command "ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu"
|
||||
- git checkout -f $CI_COMMIT_SHA
|
||||
- SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh
|
||||
script:
|
||||
- run_timed_command "scripts/db_tasks db:migrate"
|
||||
|
||||
db:migrate-from-previous-major-version-single-db:
|
||||
extends:
|
||||
- db:migrate-from-previous-major-version
|
||||
- .single-db
|
||||
- .rails:rules:single-db
|
||||
|
||||
.db:check-schema-base:
|
||||
extends:
|
||||
- .rails:rules:ee-mr-and-default-branch-only
|
||||
variables:
|
||||
TAG_TO_CHECKOUT: "v14.7.0" # this version updated grpc to 1.42.0, which supports Ruby 2 & 3
|
||||
script:
|
||||
- run_timed_command "scripts/db_tasks db:migrate"
|
||||
- scripts/schema_changed.sh
|
||||
- scripts/validate_migration_timestamps
|
||||
|
||||
db:check-schema:
|
||||
extends:
|
||||
- db:migrate-from-previous-major-version
|
||||
- .db:check-schema-base
|
||||
- .db-job-base
|
||||
- .rails:rules:ee-mr-and-default-branch-only
|
||||
script:
|
||||
- run_timed_command "bundle exec rake db:drop db:create"
|
||||
- run_timed_command "scripts/db_tasks db:migrate"
|
||||
|
||||
db:check-schema-single-db:
|
||||
extends:
|
||||
- db:migrate-from-previous-major-version-single-db
|
||||
- .db:check-schema-base
|
||||
- db:check-schema
|
||||
- .single-db
|
||||
- .rails:rules:single-db
|
||||
|
||||
db:check-migrations:
|
||||
extends:
|
||||
|
@ -624,7 +591,7 @@ rspec:feature-flags:
|
|||
stage: post-test
|
||||
needs:
|
||||
- job: "feature-flags-usage"
|
||||
- job: "haml-lint foss"
|
||||
- job: "haml-lint"
|
||||
- job: "haml-lint ee"
|
||||
optional: true
|
||||
script:
|
||||
|
@ -970,7 +937,7 @@ rspec fail-fast:
|
|||
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
|
||||
script:
|
||||
- !reference [.base-script, script]
|
||||
- rspec_fail_fast tmp/matching_tests.txt "--tag ~quarantine"
|
||||
- rspec_fail_fast "${RSPEC_MATCHING_TESTS_PATH}" "--tag ~quarantine"
|
||||
artifacts:
|
||||
expire_in: 7d
|
||||
paths:
|
||||
|
@ -980,10 +947,10 @@ rspec foss-impact:
|
|||
extends:
|
||||
- .rspec-base-pg12-as-if-foss
|
||||
- .rails:rules:rspec-foss-impact
|
||||
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests as-if-foss"]
|
||||
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"]
|
||||
script:
|
||||
- !reference [.base-script, script]
|
||||
- rspec_matched_foss_tests tmp/matching_foss_tests.txt "--tag ~quarantine"
|
||||
- rspec_matched_foss_tests "${RSPEC_MATCHING_TESTS_PATH}" "--tag ~quarantine"
|
||||
artifacts:
|
||||
expire_in: 7d
|
||||
paths:
|
||||
|
|
|
@ -8,6 +8,7 @@ stages:
|
|||
include:
|
||||
- local: .gitlab/ci/global.gitlab-ci.yml
|
||||
- local: .gitlab/ci/rules.gitlab-ci.yml
|
||||
- local: .gitlab/ci/review-apps/rules.gitlab-ci.yml
|
||||
- local: .gitlab/ci/review-apps/qa.gitlab-ci.yml
|
||||
- local: .gitlab/ci/review-apps/dast.gitlab-ci.yml
|
||||
|
||||
|
@ -94,6 +95,7 @@ review-deploy:
|
|||
- export GITALY_VERSION=$(<GITALY_SERVER_VERSION)
|
||||
- export GITLAB_WORKHORSE_VERSION=$(<GITLAB_WORKHORSE_VERSION)
|
||||
- echo "${CI_ENVIRONMENT_URL}" > environment_url.txt
|
||||
- echo "QA_GITLAB_URL=${CI_ENVIRONMENT_URL}" > environment.env
|
||||
- *base-before_script
|
||||
script:
|
||||
- check_kube_domain
|
||||
|
@ -102,7 +104,6 @@ review-deploy:
|
|||
- deploy || (display_deployment_debug && exit 1)
|
||||
- verify_deploy || exit 1
|
||||
- disable_sign_ups || (delete_release && exit 1)
|
||||
- create_sample_projects
|
||||
after_script:
|
||||
# Run seed-dast-test-data.sh only when DAST_RUN is set to true. This is to pupulate review app with data for DAST scan.
|
||||
# Set DAST_RUN to true when jobs are manually scheduled.
|
||||
|
@ -110,9 +111,27 @@ review-deploy:
|
|||
artifacts:
|
||||
paths:
|
||||
- environment_url.txt
|
||||
reports:
|
||||
dotenv: environment.env
|
||||
expire_in: 7 days
|
||||
when: always
|
||||
|
||||
review-deploy-sample-projects:
|
||||
extends:
|
||||
- .review-workflow-base
|
||||
- .review:rules:review-deploy
|
||||
stage: deploy
|
||||
needs: ["review-deploy"]
|
||||
before_script:
|
||||
- export GITLAB_SHELL_VERSION=$(<GITLAB_SHELL_VERSION)
|
||||
- export GITALY_VERSION=$(<GITALY_SERVER_VERSION)
|
||||
- export GITLAB_WORKHORSE_VERSION=$(<GITLAB_WORKHORSE_VERSION)
|
||||
- echo "${CI_ENVIRONMENT_URL}" > environment_url.txt
|
||||
- *base-before_script
|
||||
script:
|
||||
- date
|
||||
- create_sample_projects
|
||||
|
||||
.review-stop-base:
|
||||
extends: .review-workflow-base
|
||||
environment:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
include:
|
||||
- project: gitlab-org/quality/pipeline-common
|
||||
ref: 0.13.0
|
||||
ref: 1.2.2
|
||||
file:
|
||||
- /ci/allure-report.yml
|
||||
- /ci/knapsack-report.yml
|
||||
|
@ -8,85 +8,57 @@ include:
|
|||
.test-variables:
|
||||
variables:
|
||||
QA_GENERATE_ALLURE_REPORT: "true"
|
||||
COLORIZED_LOGS: "true"
|
||||
QA_CAN_TEST_PRAEFECT: "false"
|
||||
GITLAB_USERNAME: "root"
|
||||
GITLAB_PASSWORD: "${REVIEW_APPS_ROOT_PASSWORD}"
|
||||
GITLAB_ADMIN_USERNAME: "root"
|
||||
GITLAB_ADMIN_PASSWORD: "${REVIEW_APPS_ROOT_PASSWORD}"
|
||||
GITLAB_QA_ADMIN_ACCESS_TOKEN: "${REVIEW_APPS_ROOT_TOKEN}"
|
||||
GITHUB_ACCESS_TOKEN: "${REVIEW_APPS_QA_GITHUB_ACCESS_TOKEN}"
|
||||
GITHUB_ACCESS_TOKEN: "${QA_GITHUB_ACCESS_TOKEN}"
|
||||
|
||||
.bundle-base:
|
||||
extends:
|
||||
- .qa-cache
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3
|
||||
before_script:
|
||||
- export QA_GITLAB_URL="$(cat environment_url.txt)"
|
||||
- cd qa && bundle install
|
||||
|
||||
.review-qa-base:
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-git-2.33-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23
|
||||
extends:
|
||||
- .use-docker-in-docker
|
||||
- .bundle-base
|
||||
- .test-variables
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-git-2.33-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23
|
||||
stage: qa
|
||||
needs:
|
||||
- review-deploy
|
||||
- download-knapsack-report
|
||||
variables:
|
||||
DOCKER_HOST: tcp://docker:2376
|
||||
DOCKER_TLS_CERTDIR: /certs
|
||||
DOCKER_CERT_PATH: /certs/client
|
||||
DOCKER_TLS_VERIFY: 1
|
||||
GIT_LFS_SKIP_SMUDGE: 1
|
||||
WD_INSTALL_DIR: /usr/local/bin
|
||||
before_script:
|
||||
- scripts/checkout-mr-source-sha
|
||||
- !reference [.bundle-base, before_script]
|
||||
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_run_status=0
|
||||
- QA_COMMAND="bundle exec bin/qa ${QA_SCENARIO} ${QA_GITLAB_URL} -- ${QA_TESTS} ${RSPEC_REPORT_OPTS}"
|
||||
- echo "Running - '${QA_COMMAND}'"
|
||||
- eval "$QA_COMMAND"
|
||||
after_script:
|
||||
- |
|
||||
bundle exec rake "knapsack:rspec[\
|
||||
${RSPEC_TAGS} \
|
||||
--tag ~orchestrated \
|
||||
--tag ~transient \
|
||||
--tag ~skip_signup_disabled \
|
||||
--tag ~requires_git_protocol_v2 \
|
||||
--tag ~requires_praefect \
|
||||
--force-color \
|
||||
--order random \
|
||||
--format documentation \
|
||||
--format RspecJunitFormatter --out tmp/rspec.xml \
|
||||
]" || qa_run_status=$?
|
||||
- if [ ${qa_run_status} -ne 0 ]; then
|
||||
release_sha=$(echo "${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA:-${CI_COMMIT_SHA}}" | cut -c1-11);
|
||||
echo "Errors can be found at https://sentry.gitlab.net/gitlab/gitlab-review-apps/releases/${release_sha}/all-events/.";
|
||||
fi
|
||||
- exit ${qa_run_status}
|
||||
echo "Sentry errors for the current review-app test run can be found via following url:"
|
||||
echo "https://sentry.gitlab.net/gitlab/gitlab-review-apps/releases/$(echo "${CI_COMMIT_SHA}" | cut -c1-11)/all-events/."
|
||||
artifacts:
|
||||
paths:
|
||||
- qa/tmp
|
||||
reports:
|
||||
junit: qa/tmp/rspec.xml
|
||||
junit: qa/tmp/rspec-*.xml
|
||||
expire_in: 7 days
|
||||
when: always
|
||||
|
||||
.allure-report-base:
|
||||
extends: .generate-allure-report-base
|
||||
stage: post-qa
|
||||
variables:
|
||||
GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
|
||||
ALLURE_PROJECT_PATH: $CI_PROJECT_PATH
|
||||
ALLURE_MERGE_REQUEST_IID: $CI_MERGE_REQUEST_IID
|
||||
ALLURE_RESULTS_GLOB: qa/tmp/allure-results/*
|
||||
|
||||
# Store knapsack report as artifact so the same report is reused across all jobs
|
||||
download-knapsack-report:
|
||||
extends:
|
||||
- .bundle-base
|
||||
- .review:rules:review-qa-reliable
|
||||
- .rules:app-or-qa-framework-changes-or-review-scenarios
|
||||
stage: prepare
|
||||
script:
|
||||
- bundle exec rake "knapsack:download[qa]"
|
||||
|
@ -99,30 +71,39 @@ download-knapsack-report:
|
|||
review-qa-smoke:
|
||||
extends:
|
||||
- .review-qa-base
|
||||
- .review:rules:review-qa-smoke
|
||||
retry: 1
|
||||
- .rules:qa-smoke
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::Smoke
|
||||
QA_RUN_TYPE: review-qa-smoke
|
||||
RSPEC_TAGS: --tag smoke
|
||||
|
||||
review-qa-reliable:
|
||||
extends:
|
||||
- .review-qa-base
|
||||
- .review:rules:review-qa-reliable
|
||||
retry: 1
|
||||
parallel: 10
|
||||
variables:
|
||||
QA_RUN_TYPE: review-qa-reliable
|
||||
RSPEC_TAGS: --tag reliable --tag sanity_feature_flags
|
||||
|
||||
review-qa-all:
|
||||
review-qa-blocking:
|
||||
extends:
|
||||
- .review-qa-base
|
||||
- .review:rules:review-qa-all
|
||||
parallel: 5
|
||||
- .rules:qa-blocking
|
||||
variables:
|
||||
QA_RUN_TYPE: review-qa-all
|
||||
RSPEC_TAGS: --tag ~reliable --tag ~smoke --tag ~sanity_feature_flags
|
||||
QA_SCENARIO: Test::Instance::ReviewBlocking
|
||||
QA_RUN_TYPE: review-qa-blocking
|
||||
retry: 1
|
||||
review-qa-blocking-parallel:
|
||||
extends:
|
||||
- review-qa-blocking
|
||||
- .rules:qa-blocking-parallel
|
||||
parallel: 10
|
||||
|
||||
review-qa-non-blocking:
|
||||
extends:
|
||||
- .review-qa-base
|
||||
- .rules:qa-non-blocking
|
||||
variables:
|
||||
QA_SCENARIO: Test::Instance::ReviewNonBlocking
|
||||
QA_RUN_TYPE: review-qa-non-blocking
|
||||
allow_failure: true
|
||||
review-qa-non-blocking-parallel:
|
||||
extends:
|
||||
- review-qa-non-blocking
|
||||
- .rules:qa-non-blocking-parallel
|
||||
parallel: 5
|
||||
|
||||
review-performance:
|
||||
extends:
|
||||
|
@ -150,27 +131,25 @@ review-performance:
|
|||
performance: performance.json
|
||||
expire_in: 31d
|
||||
|
||||
# Generate single report for both smoke and reliable test jobs
|
||||
# Both job types are essentially the same:
|
||||
# * always executed
|
||||
# * always blocking
|
||||
allure-report-qa-blocking:
|
||||
e2e-test-report:
|
||||
extends:
|
||||
- .allure-report-base
|
||||
- .review:rules:review-qa-blocking-report
|
||||
needs:
|
||||
- review-qa-smoke
|
||||
- review-qa-reliable
|
||||
- .generate-allure-report-base
|
||||
- .rules:app-or-qa-framework-changes-or-review-scenarios
|
||||
stage: post-qa
|
||||
variables:
|
||||
ALLURE_JOB_NAME: review-qa-blocking
|
||||
|
||||
allure-report-qa-all:
|
||||
extends:
|
||||
- .allure-report-base
|
||||
- .review:rules:review-qa-all-report
|
||||
needs: ["review-qa-all"]
|
||||
variables:
|
||||
ALLURE_JOB_NAME: review-qa-all
|
||||
ALLURE_JOB_NAME: e2e-review-qa
|
||||
ALLURE_PROJECT_PATH: $CI_PROJECT_PATH
|
||||
ALLURE_RESULTS_GLOB: qa/tmp/allure-results/*
|
||||
ALLURE_MERGE_REQUEST_IID: $CI_MERGE_REQUEST_IID
|
||||
GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
|
||||
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:
|
||||
|
@ -183,13 +162,13 @@ upload-knapsack-report:
|
|||
delete-test-resources:
|
||||
extends:
|
||||
- .bundle-base
|
||||
- .review:rules:review-qa-cleanup
|
||||
- .rules:app-or-qa-framework-changes-or-review-scenarios
|
||||
stage: post-qa
|
||||
variables:
|
||||
QA_TEST_RESOURCES_FILE_PATTERN: $CI_PROJECT_DIR/qa/tmp/test-resources-*.json
|
||||
GITLAB_QA_ACCESS_TOKEN: $REVIEW_APPS_ROOT_TOKEN
|
||||
COLORIZED_LOGS: "true"
|
||||
script:
|
||||
- export GITLAB_ADDRESS="$QA_GITLAB_URL"
|
||||
- bundle exec rake "test_resources:delete[$QA_TEST_RESOURCES_FILE_PATTERN]"
|
||||
allow_failure: true
|
||||
when: always
|
||||
|
|
81
.gitlab/ci/review-apps/rules.gitlab-ci.yml
Normal file
81
.gitlab/ci/review-apps/rules.gitlab-ci.yml
Normal file
|
@ -0,0 +1,81 @@
|
|||
# Specific specs passed
|
||||
.specific-specs: &specific-specs
|
||||
if: $QA_TESTS != ""
|
||||
|
||||
# No specific specs passed
|
||||
.all-specs: &all-specs
|
||||
if: $QA_TESTS == ""
|
||||
|
||||
# No specific specs in mr pipeline
|
||||
.all-specs-mr: &all-specs-mr
|
||||
if: $CI_MERGE_REQUEST_IID && $QA_TESTS == ""
|
||||
when: manual
|
||||
|
||||
# Triggered by change pattern
|
||||
.app-changes: &app-changes
|
||||
if: $APP_CHANGE_TRIGGER == "true"
|
||||
|
||||
# QA framework changes present
|
||||
.qa-framework-changes: &qa-framework-changes
|
||||
if: $QA_FRAMEWORK_CHANGES == "true"
|
||||
|
||||
.never-when-qa-framework-changes-or-no-specific-specs:
|
||||
- <<: *qa-framework-changes
|
||||
when: never
|
||||
- <<: *all-specs
|
||||
when: never
|
||||
|
||||
.never-when-specific-specs-always-when-qa-framework-changes:
|
||||
- <<: *specific-specs
|
||||
when: never
|
||||
- *qa-framework-changes
|
||||
|
||||
# ------------------------------------------
|
||||
# Test
|
||||
# ------------------------------------------
|
||||
.rules:qa-smoke:
|
||||
rules:
|
||||
# always trigger smoke suite if review pipeline got triggered by specific changes in application code
|
||||
- <<: *app-changes
|
||||
variables:
|
||||
QA_TESTS: "" # unset QA_TESTS even if specific tests were inferred from stage label
|
||||
- *qa-framework-changes
|
||||
- if: $QA_SUITES =~ /Test::Instance::Smoke/
|
||||
|
||||
.rules:qa-blocking:
|
||||
rules:
|
||||
- <<: *app-changes
|
||||
when: never
|
||||
- !reference [.never-when-qa-framework-changes-or-no-specific-specs]
|
||||
- if: $QA_SUITES =~ /Test::Instance::ReviewBlocking/
|
||||
.rules:qa-blocking-parallel:
|
||||
rules:
|
||||
# always trigger blocking suite if review pipeline got triggered by specific changes in application code
|
||||
- <<: *app-changes
|
||||
variables:
|
||||
QA_TESTS: "" # unset QA_TESTS even if specific tests were inferred from stage label
|
||||
- !reference [.never-when-specific-specs-always-when-qa-framework-changes]
|
||||
- if: $QA_SUITES =~ /Test::Instance::ReviewBlocking/
|
||||
|
||||
.rules:qa-non-blocking:
|
||||
rules:
|
||||
- !reference [.never-when-qa-framework-changes-or-no-specific-specs]
|
||||
- if: $QA_SUITES =~ /Test::Instance::ReviewNonBlocking/
|
||||
.rules:qa-non-blocking-parallel:
|
||||
rules:
|
||||
- !reference [.never-when-specific-specs-always-when-qa-framework-changes]
|
||||
- *all-specs-mr # set full suite to manual when no specific specs passed in mr
|
||||
- if: $QA_SUITES =~ /Test::Instance::ReviewNonBlocking/
|
||||
|
||||
# ------------------------------------------
|
||||
# Prepare/Report
|
||||
# ------------------------------------------
|
||||
# if no rules for test execution are matched, pipeline will not have e2e test jobs
|
||||
# so we need to skip knapsack, allure and test resource deletion jobs as well
|
||||
.rules:app-or-qa-framework-changes-or-review-scenarios:
|
||||
rules:
|
||||
- *app-changes
|
||||
- *qa-framework-changes
|
||||
- if: $QA_SUITES =~ /Test::Instance::Smoke/
|
||||
- if: $QA_SUITES =~ /Test::Instance::ReviewBlocking/
|
||||
- if: $QA_SUITES =~ /Test::Instance::ReviewNonBlocking/
|
|
@ -1,13 +0,0 @@
|
|||
stages:
|
||||
- review
|
||||
|
||||
include:
|
||||
- local: .gitlab/ci/global.gitlab-ci.yml
|
||||
- local: .gitlab/ci/rules.gitlab-ci.yml
|
||||
|
||||
no-op:
|
||||
extends:
|
||||
- .review:rules:start-review-app-pipeline
|
||||
stage: review
|
||||
script:
|
||||
- echo "Skip Review App because the MR includes only quarantine changes"
|
|
@ -23,42 +23,13 @@ review-cleanup:
|
|||
- ruby -rrubygems scripts/review_apps/automated_cleanup.rb
|
||||
- gcp_cleanup
|
||||
|
||||
review-app-pipeline-generate:
|
||||
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}
|
||||
stage: prepare
|
||||
extends:
|
||||
- .review:rules:start-review-app-pipeline
|
||||
artifacts:
|
||||
expire_in: 7d
|
||||
paths:
|
||||
- ${CHANGES_DIFFS_DIR}/*
|
||||
- review-app-pipeline.yml
|
||||
variables:
|
||||
CHANGES_DIFFS_DIR: tmp/diffs
|
||||
before_script:
|
||||
- source scripts/utils.sh
|
||||
- install_gitlab_gem
|
||||
- tooling/bin/find_change_diffs ${CHANGES_DIFFS_DIR}
|
||||
script:
|
||||
- exit_code=0 && tooling/bin/qa/run_qa_check ${CHANGES_DIFFS_DIR} || exit_code=$?
|
||||
- |
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
echo "Review App will use the full pipeline"
|
||||
cp .gitlab/ci/review-apps/main.gitlab-ci.yml review-app-pipeline.yml
|
||||
elif [ $exit_code -eq 2 ]; then
|
||||
echo "Skip Review App because the MR includes only quarantine changes"
|
||||
cp .gitlab/ci/review-apps/skip-qa.gitlab-ci.yml review-app-pipeline.yml
|
||||
else
|
||||
exit $exit_code
|
||||
fi
|
||||
|
||||
start-review-app-pipeline:
|
||||
extends:
|
||||
- .review:rules:start-review-app-pipeline
|
||||
resource_group: review/${CI_COMMIT_REF_SLUG}${SCHEDULE_TYPE} # CI_ENVIRONMENT_SLUG is not available here and we want this to be the same as the environment
|
||||
stage: review
|
||||
needs:
|
||||
- review-app-pipeline-generate
|
||||
- job: e2e-test-pipeline-generate
|
||||
- job: build-assets-image
|
||||
artifacts: false
|
||||
# These variables are set in the pipeline schedules.
|
||||
|
@ -67,11 +38,36 @@ start-review-app-pipeline:
|
|||
variables:
|
||||
SCHEDULE_TYPE: $SCHEDULE_TYPE
|
||||
DAST_RUN: $DAST_RUN
|
||||
SKIP_MESSAGE: Skipping review-app due to mr containing only quarantine changes!
|
||||
trigger:
|
||||
strategy: depend
|
||||
include:
|
||||
- artifact: review-app-pipeline.yml
|
||||
job: review-app-pipeline-generate
|
||||
strategy: depend
|
||||
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:
|
||||
|
|
|
@ -20,13 +20,7 @@
|
|||
if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/ || $CI_COMMIT_REF_NAME =~ /^\d+-\d+-auto-deploy-\d+$/ || $CI_COMMIT_REF_NAME =~ /^security\// || $CI_MERGE_REQUEST_IID || $CI_COMMIT_TAG || $FORCE_GITLAB_CI'
|
||||
|
||||
.if-default-branch-refs: &if-default-branch-refs
|
||||
if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
|
||||
|
||||
.if-stable-branch-refs: &if-stable-branch-refs
|
||||
if: '$CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/'
|
||||
|
||||
.if-default-branch-push: &if-default-branch-push
|
||||
if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
|
||||
if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_MERGE_REQUEST_IID == null'
|
||||
|
||||
.if-auto-deploy-branches: &if-auto-deploy-branches
|
||||
if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/'
|
||||
|
@ -130,7 +124,7 @@
|
|||
.if-dot-com-gitlab-org-and-security-merge-request-and-qa-tests-specified: &if-dot-com-gitlab-org-and-security-merge-request-and-qa-tests-specified
|
||||
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_MERGE_REQUEST_IID && $QA_TESTS'
|
||||
|
||||
.if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa: &if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa
|
||||
.if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e: &if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e
|
||||
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_MERGE_REQUEST_IID && $QA_MANUAL_FF_PACKAGE_AND_QA'
|
||||
|
||||
.if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag
|
||||
|
@ -173,6 +167,9 @@
|
|||
- ".gitlab/ci/frontend.gitlab-ci.yml"
|
||||
- ".gitlab/ci/build-images.gitlab-ci.yml"
|
||||
- ".gitlab/ci/qa.gitlab-ci.yml"
|
||||
- ".gitlab/ci/package-and-test/*.yml"
|
||||
- ".gitlab/ci/review-apps/qa.gitlab-ci.yml"
|
||||
- ".gitlab/ci/review-apps/rules.gitlab-ci.yml"
|
||||
|
||||
.gitaly-patterns: &gitaly-patterns
|
||||
- "GITALY_SERVER_VERSION"
|
||||
|
@ -261,7 +258,7 @@
|
|||
- "Dockerfile.assets"
|
||||
- "config/**/*.js"
|
||||
- "vendor/assets/**/*"
|
||||
- "{app/assets,app/helpers,app/presenters,app/views,locale,public,spec/frontend,symbol}/**/*"
|
||||
- "{app/assets,app/components,app/helpers,app/presenters,app/views,locale,public,spec/frontend,symbol}/**/*"
|
||||
|
||||
.controllers-patterns: &controllers-patterns
|
||||
- "{,ee/,jh/}{app/controllers}/**/*"
|
||||
|
@ -281,7 +278,7 @@
|
|||
- "Rakefile"
|
||||
- "config.ru"
|
||||
# List explicitly all the app/ dirs that are backend (i.e. all except app/assets).
|
||||
- "{,ee/,jh/}{app/channels,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*"
|
||||
- "{,ee/,jh/}{app/channels,app/components,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*"
|
||||
- "{,ee/,jh/}{bin,config,db,generator_templates,lib}/**/*"
|
||||
- "{,ee/,jh/}spec/**/*"
|
||||
# CI changes
|
||||
|
@ -296,7 +293,7 @@
|
|||
- "{,jh/}Gemfile.lock"
|
||||
- "GITLAB_ELASTICSEARCH_INDEXER_VERSION"
|
||||
# List explicitly all the app/ dirs that are backend (i.e. all except app/assets).
|
||||
- "{,ee/,jh/}{app/channels,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*"
|
||||
- "{,ee/,jh/}{app/channels,app/components,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*"
|
||||
- "{,ee/,jh/}{bin,config,db,generator_templates,lib}/**/*"
|
||||
- "{,ee/,jh/}spec/**/*"
|
||||
|
||||
|
@ -309,6 +306,8 @@
|
|||
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/background_migration{,_spec}.rb"
|
||||
- "{,ee/,jh/}spec/support/helpers/database/**/*"
|
||||
- "lib/gitlab/markdown_cache/active_record/**/*"
|
||||
- "lib/api/admin/batched_background_migrations.rb"
|
||||
- "spec/requests/api/admin/batched_background_migrations_spec.rb"
|
||||
- "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer
|
||||
- "{,ee/,jh/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs
|
||||
# Gitaly has interactions with background migrations: https://gitlab.com/gitlab-org/gitlab/-/issues/336538
|
||||
|
@ -333,7 +332,7 @@
|
|||
|
||||
.qa-patterns: &qa-patterns
|
||||
- ".dockerignore"
|
||||
- "qa/**/*"
|
||||
- "{,jh/}qa/**/*"
|
||||
|
||||
# Code patterns + .ci-patterns
|
||||
.code-patterns: &code-patterns
|
||||
|
@ -411,7 +410,7 @@
|
|||
- ".gitlab/ci/**/*"
|
||||
# QA changes
|
||||
- ".dockerignore"
|
||||
- "qa/**/*"
|
||||
- "{,jh/}qa/**/*"
|
||||
# Mapped patterns (see tests.yml)
|
||||
- "data/whats_new/*.yml"
|
||||
|
||||
|
@ -445,7 +444,7 @@
|
|||
- "{,spec/}tooling/**/*"
|
||||
# QA changes
|
||||
- ".dockerignore"
|
||||
- "qa/**/*"
|
||||
- "{,jh/}qa/**/*"
|
||||
# Mapped patterns (see tests.yml)
|
||||
- "data/whats_new/*.yml"
|
||||
|
||||
|
@ -480,7 +479,7 @@
|
|||
- "{,spec/}tooling/**/*"
|
||||
# QA changes
|
||||
- ".dockerignore"
|
||||
- "qa/**/*"
|
||||
- "{,jh/}qa/**/*"
|
||||
# Workhorse changes
|
||||
- "GITLAB_WORKHORSE_VERSION"
|
||||
- "workhorse/**/*"
|
||||
|
@ -491,9 +490,14 @@
|
|||
|
||||
.static-analysis-patterns: &static-analysis-patterns
|
||||
- ".{codeclimate,eslintrc,haml-lint,haml-lint_todo}.yml"
|
||||
- ".rubocop.yml"
|
||||
- ".rubocop_todo.yml"
|
||||
|
||||
.rubocop-patterns: &rubocop-patterns
|
||||
- ".{rubocop,rubocop_todo}.yml"
|
||||
- ".rubocop_todo/**/*.yml"
|
||||
- "{,ee/,jh/}rubocop/**/*" # We might be changing custom cops
|
||||
- "{,ee/,jh/}Gemfile.lock" # This should include gitlab-styles, rubocop itself, and any plugins we might be using
|
||||
- "lib/gitlab_edition.rb" # This is required in RuboCop::CodeReuseHelpers
|
||||
- ".gitlab/ci/static-analysis.gitlab-ci.yml"
|
||||
|
||||
.danger-patterns: &danger-patterns
|
||||
- "Dangerfile"
|
||||
|
@ -528,6 +532,9 @@
|
|||
rules:
|
||||
- <<: *if-merge-request-approved
|
||||
when: never
|
||||
# Temporarily disabled minimal rspec jobs before and after approval because of https://gitlab.com/gitlab-org/gitlab/-/issues/373064.
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
- <<: *if-automated-merge-request
|
||||
when: never
|
||||
- <<: *if-security-merge-request
|
||||
|
@ -549,8 +556,6 @@
|
|||
changes: *backend-patterns
|
||||
- <<: *if-security-merge-request
|
||||
changes: *backend-patterns
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
|
||||
.rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules:
|
||||
rules:
|
||||
|
@ -580,8 +585,6 @@
|
|||
changes: *code-backstage-patterns
|
||||
- <<: *if-security-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
|
||||
.rails:rules:system:minimal-default-rules:
|
||||
rules:
|
||||
|
@ -628,14 +631,16 @@
|
|||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-not-canonical-namespace
|
||||
when: never
|
||||
- <<: *if-merge-request-targeting-stable-branch
|
||||
- <<: *if-merge-request-labels-run-review-app
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request
|
||||
changes: *ci-build-images-patterns
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request
|
||||
changes: *code-qa-patterns
|
||||
- <<: *if-dot-com-gitlab-org-default-branch
|
||||
changes: *code-qa-patterns
|
||||
- <<: *if-auto-deploy-branches
|
||||
- <<: *if-default-branch-or-tag
|
||||
- <<: *if-dot-com-gitlab-org-schedule
|
||||
- <<: *if-force-ci
|
||||
|
||||
|
@ -714,6 +719,14 @@
|
|||
##################
|
||||
# Frontend rules #
|
||||
##################
|
||||
|
||||
.frontend:rules:minimal-default-rules:
|
||||
rules:
|
||||
- <<: *if-automated-merge-request
|
||||
when: never
|
||||
- <<: *if-security-merge-request
|
||||
when: never
|
||||
|
||||
.frontend:rules:compile-production-assets:
|
||||
rules:
|
||||
- <<: *if-not-canonical-namespace
|
||||
|
@ -762,31 +775,28 @@
|
|||
rules:
|
||||
- !reference [".strict-ee-only-rules", rules]
|
||||
- !reference [".frontend:rules:default-frontend-jobs-as-if-foss", rules]
|
||||
- !reference [".frontend:rules:jest:minimal:as-if-foss", rules]
|
||||
- <<: *if-merge-request
|
||||
changes: *frontend-patterns-for-as-if-foss
|
||||
|
||||
.frontend:rules:jest:
|
||||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-run-all-jest
|
||||
- <<: *if-default-refs
|
||||
changes: *core-frontend-patterns
|
||||
- <<: *if-merge-request
|
||||
changes: *ci-patterns
|
||||
changes: [".gitlab/ci/rules.gitlab-ci.yml", ".gitlab/ci/frontend.gitlab-ci.yml"]
|
||||
- <<: *if-automated-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
- <<: *if-security-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
- <<: *if-default-refs
|
||||
- <<: *if-default-branch-refs
|
||||
changes: *code-backstage-patterns
|
||||
|
||||
.frontend:rules:jest:minimal:
|
||||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
- !reference [".rails:rules:minimal-default-rules", rules]
|
||||
- !reference [".frontend:rules:minimal-default-rules", rules]
|
||||
- <<: *if-merge-request-labels-run-all-jest
|
||||
when: never
|
||||
- changes: *core-frontend-patterns
|
||||
|
@ -797,30 +807,24 @@
|
|||
- <<: *if-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
|
||||
.frontend:rules:jest:as-if-foss:
|
||||
rules:
|
||||
- !reference [".strict-ee-only-rules", rules]
|
||||
- <<: *if-merge-request-labels-as-if-foss
|
||||
- <<: *if-merge-request-labels-run-all-jest
|
||||
- <<: *if-security-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
|
||||
.frontend:rules:jest:minimal:as-if-foss:
|
||||
rules:
|
||||
- !reference [".strict-ee-only-rules", rules]
|
||||
- <<: *if-security-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-as-if-foss
|
||||
when: never
|
||||
- !reference [".frontend:rules:minimal-default-rules", rules]
|
||||
- <<: *if-merge-request-labels-run-all-jest
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
when: never
|
||||
- <<: *if-merge-request
|
||||
changes: *startup-css-patterns
|
||||
when: never
|
||||
- <<: *if-merge-request
|
||||
changes: *ci-patterns
|
||||
when: never
|
||||
- <<: *if-fork-merge-request
|
||||
when: never
|
||||
- <<: *if-merge-request
|
||||
changes: *core-frontend-patterns
|
||||
- <<: *if-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
changes: *frontend-patterns-for-as-if-foss
|
||||
|
||||
.frontend:rules:eslint-as-if-foss:
|
||||
rules:
|
||||
|
@ -829,13 +833,14 @@
|
|||
- <<: *if-merge-request
|
||||
changes: *frontend-patterns-for-as-if-foss
|
||||
|
||||
.frontend:rules:ee-mr-and-default-branch-only:
|
||||
.frontend:rules:coverage-frontend:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-revert
|
||||
when: never
|
||||
- <<: *if-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
when: always
|
||||
- <<: *if-default-branch-refs
|
||||
changes: *code-backstage-patterns
|
||||
|
||||
|
@ -859,6 +864,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
|
||||
|
@ -907,7 +915,7 @@
|
|||
- <<: *if-default-refs
|
||||
changes: *qa-patterns
|
||||
|
||||
.qa:rules:determine-qa-tests:
|
||||
.qa:rules:determine-e2e-tests:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
|
@ -921,14 +929,23 @@
|
|||
- <<: *if-force-ci
|
||||
allow_failure: true
|
||||
|
||||
.qa:rules:package-and-qa:
|
||||
.qa:rules:package-and-test:
|
||||
rules:
|
||||
- <<: *if-not-canonical-namespace
|
||||
when: never
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-revert
|
||||
when: never
|
||||
- <<: *if-merge-request-targeting-stable-branch
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e
|
||||
changes: *feature-flag-development-config-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request
|
||||
changes: *feature-flag-development-config-patterns
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request
|
||||
changes: *nodejs-patterns
|
||||
allow_failure: true
|
||||
|
@ -947,24 +964,14 @@
|
|||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-schedule
|
||||
allow_failure: true
|
||||
variables:
|
||||
SKIP_REPORT_IN_ISSUES: "false"
|
||||
PROCESS_TEST_RESULTS: "true"
|
||||
KNAPSACK_GENERATE_REPORT: "true"
|
||||
- <<: *if-force-ci
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
.qa:rules:package-and-qa:feature-flags:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-revert
|
||||
when: never
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa
|
||||
changes: *feature-flag-development-config-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-and-security-merge-request
|
||||
changes: *feature-flag-development-config-patterns
|
||||
allow_failure: true
|
||||
|
||||
###############
|
||||
# Rails rules #
|
||||
###############
|
||||
|
@ -1012,8 +1019,6 @@
|
|||
changes: *db-patterns
|
||||
- <<: *if-security-merge-request
|
||||
changes: *db-patterns
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
- changes: *db-patterns
|
||||
|
||||
.rails:rules:ee-and-foss-migration:minimal:
|
||||
|
@ -1117,8 +1122,6 @@
|
|||
changes: *db-patterns
|
||||
- <<: *if-security-merge-request
|
||||
changes: *db-patterns
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
- changes: *db-patterns
|
||||
|
||||
.rails:rules:ee-only-migration:minimal:
|
||||
|
@ -1208,8 +1211,6 @@
|
|||
changes: *db-patterns
|
||||
- <<: *if-security-merge-request
|
||||
changes: *db-patterns
|
||||
- <<: *if-merge-request-not-approved
|
||||
when: never
|
||||
|
||||
.rails:rules:as-if-foss-migration:minimal:
|
||||
rules:
|
||||
|
@ -1365,12 +1366,12 @@
|
|||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-revert
|
||||
when: never
|
||||
- <<: *if-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
when: always
|
||||
- <<: *if-default-branch-schedule-maintenance
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
when: always
|
||||
|
||||
.rails:rules:rspec-undercoverage:
|
||||
rules:
|
||||
|
@ -1410,6 +1411,8 @@
|
|||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-revert
|
||||
when: never
|
||||
- if: '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"'
|
||||
changes: *code-backstage-patterns
|
||||
when: always
|
||||
|
@ -1421,24 +1424,42 @@
|
|||
# Static analysis rules #
|
||||
#########################
|
||||
|
||||
.static-analysis:rules:ee-and-foss:
|
||||
.static-analysis:rules:static-analysis:
|
||||
rules:
|
||||
- changes: *code-backstage-qa-patterns
|
||||
- changes: *static-analysis-patterns
|
||||
|
||||
.static-analysis:rules:ee-and-foss-qa:
|
||||
.static-analysis:rules:static-verification-with-database:
|
||||
rules:
|
||||
- changes: *code-backstage-qa-patterns
|
||||
|
||||
.static-analysis:rules:rubocop:
|
||||
rules:
|
||||
- changes: *rubocop-patterns
|
||||
variables:
|
||||
RUN_ALL_RUBOCOP: "true"
|
||||
- changes: *code-backstage-qa-patterns
|
||||
|
||||
.static-analysis:rules:qa:metadata-lint:
|
||||
rules:
|
||||
- changes: *qa-patterns
|
||||
- changes: *static-analysis-patterns
|
||||
- changes: [".gitlab/ci/static-analysis.gitlab-ci.yml"]
|
||||
|
||||
.static-analysis:rules:ee:
|
||||
.static-analysis:rules:haml-lint:
|
||||
rules:
|
||||
- changes: *rubocop-patterns
|
||||
- changes: *static-analysis-patterns
|
||||
- changes: *code-backstage-qa-patterns
|
||||
|
||||
.static-analysis:rules:haml-lint-ee:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- changes: *code-backstage-qa-patterns
|
||||
- changes: *rubocop-patterns
|
||||
- changes: *static-analysis-patterns
|
||||
- changes: *code-backstage-qa-patterns
|
||||
|
||||
.static-analysis:rules:as-if-foss:
|
||||
.static-analysis:rules:static-analysis-as-if-foss:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
|
@ -1447,7 +1468,7 @@
|
|||
- <<: *if-security-merge-request
|
||||
changes: *code-backstage-qa-patterns
|
||||
- <<: *if-merge-request
|
||||
changes: *ci-patterns
|
||||
changes: [".gitlab/ci/static-analysis.gitlab-ci.yml"]
|
||||
- <<: *if-merge-request
|
||||
changes: *static-analysis-patterns
|
||||
|
||||
|
@ -1461,6 +1482,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
|
||||
|
@ -1491,12 +1518,30 @@
|
|||
changes: ["vendor/gems/omniauth-gitlab/**/*"]
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
|
||||
.vendor:rules:omniauth-google-oauth2:
|
||||
rules:
|
||||
- <<: *if-merge-request
|
||||
changes: ["vendor/gems/omniauth-google-oauth2/**/*"]
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
|
||||
.vendor:rules:omniauth-salesforce:
|
||||
rules:
|
||||
- <<: *if-merge-request
|
||||
changes: ["vendor/gems/omniauth-salesforce/**/*"]
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
|
||||
.vendor:rules:devise-pbkdf2-encryptable:
|
||||
rules:
|
||||
- <<: *if-merge-request
|
||||
changes: ["vendor/gems/devise-pbkdf2-encryptable/**/*"]
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
|
||||
.vendor:rules:bundler-checksum:
|
||||
rules:
|
||||
- <<: *if-merge-request
|
||||
changes: ["vendor/gems/bundler-checksum/**/*"]
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
|
||||
##################
|
||||
# Releases rules #
|
||||
##################
|
||||
|
@ -1620,6 +1665,13 @@
|
|||
################
|
||||
# Review rules #
|
||||
################
|
||||
.review-change-pattern: &review-change-pattern
|
||||
APP_CHANGE_TRIGGER: "true"
|
||||
|
||||
# The following rules needs to be the same as the one for .review:rules:review-cleanup
|
||||
# except that:
|
||||
# - most rules re automatic here (i.e. no `when: manual`) and not allowed to fail (i.e. no `allow_failure: true`) here
|
||||
# - several rules have `variables: *review-change-pattern` here
|
||||
.review:rules:start-review-app-pipeline:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
|
@ -1631,12 +1683,16 @@
|
|||
changes: *ci-review-patterns
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *frontend-build-patterns
|
||||
variables: *review-change-pattern
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *controllers-patterns
|
||||
variables: *review-change-pattern
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *models-patterns
|
||||
variables: *review-change-pattern
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *lib-gitlab-patterns
|
||||
variables: *review-change-pattern
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *qa-patterns
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
|
@ -1670,54 +1726,44 @@
|
|||
rules:
|
||||
- when: on_success
|
||||
|
||||
.review:rules:review-qa-smoke:
|
||||
rules:
|
||||
- when: on_success
|
||||
|
||||
# If the needed job isn't allowed to fail, we need to use `when: always` in
|
||||
# order to keep the job always running after it.
|
||||
#
|
||||
# If the needed job is allowed to fail, we need to use both
|
||||
# `when: on_success` and `when: on_failure` in order to keep
|
||||
# the job always running after it.
|
||||
# Not that if the needed job has `when: on_success` we can use `when: always`
|
||||
# for the depending job.
|
||||
#
|
||||
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76756
|
||||
|
||||
.review:rules:review-qa-reliable:
|
||||
rules:
|
||||
- when: on_success
|
||||
|
||||
# Since `review-qa-reliable` isn't allowed to fail, we need to use `when: always`for `review-qa-reliable-report`.
|
||||
.review:rules:review-qa-blocking-report:
|
||||
rules:
|
||||
- when: always
|
||||
|
||||
.review:rules:review-qa-all:
|
||||
rules:
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *code-patterns
|
||||
when: manual
|
||||
allow_failure: true # manual jobs needs to be allowed to fail, otherwise they block the pipeline
|
||||
- when: on_success
|
||||
allow_failure: true
|
||||
|
||||
# Since `review-qa-all` is allowed to fail (and potentially manual), we need to use `when: on_success` and `when: on_failure` for `review-qa-all-report`.
|
||||
.review:rules:review-qa-all-report:
|
||||
rules:
|
||||
- when: on_success
|
||||
- when: on_failure
|
||||
|
||||
.review:rules:review-qa-cleanup:
|
||||
rules:
|
||||
- when: always
|
||||
|
||||
# The following rules needs to be the same as the one for .review:rules:start-review-app-pipeline
|
||||
# except that:
|
||||
# - all rules have `when: manual` and `allow_failure: true` here
|
||||
.review:rules:review-cleanup:
|
||||
rules:
|
||||
- <<: *if-not-ee
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-revert
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-run-review-app
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *ci-review-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *frontend-build-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *controllers-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *models-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *lib-gitlab-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *qa-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: *code-patterns
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- <<: *if-dot-com-gitlab-org-schedule
|
||||
|
@ -1754,6 +1800,10 @@
|
|||
when: never
|
||||
- <<: *if-default-branch-or-tag
|
||||
changes: *code-backstage-qa-patterns
|
||||
- <<: *if-dot-com-gitlab-org-merge-request
|
||||
changes: [".gitlab/ci/setup.gitlab-ci.yml"]
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
.setup:rules:dont-interrupt-me:
|
||||
rules:
|
||||
|
|
|
@ -3,16 +3,20 @@
|
|||
cache gems:
|
||||
extends:
|
||||
- .default-retry
|
||||
- .rails-cache
|
||||
- .ruby-cache
|
||||
- .default-before_script
|
||||
- .setup:rules:cache-gems
|
||||
stage: test
|
||||
needs: ["setup-test-env"]
|
||||
stage: prepare
|
||||
needs: []
|
||||
variables:
|
||||
BUNDLE_INSTALL_FLAGS: --with=production --with=development --with=test --jobs=2 --path=vendor --retry=3 --quiet
|
||||
BUNDLE_WITHOUT: ""
|
||||
BUNDLE_WITH: "production:development:test"
|
||||
SETUP_DB: "false"
|
||||
script:
|
||||
- bundle package --all --all-platforms
|
||||
- echo -e "\e[0Ksection_start:`date +%s`:bundle-package[collapsed=true]\r\e[0KPackaging gems"
|
||||
- bundle config set cache_all true
|
||||
- run_timed_command "bundle package --all-platforms"
|
||||
- echo -e "\e[0Ksection_end:`date +%s`:bundle-package\r\e[0K"
|
||||
artifacts:
|
||||
paths:
|
||||
- vendor/cache
|
||||
|
@ -110,10 +114,13 @@ generate-frontend-fixtures-mapping:
|
|||
paths:
|
||||
- ${FRONTEND_FIXTURES_MAPPING_PATH}
|
||||
|
||||
.detect-test-base:
|
||||
detect-tests:
|
||||
extends: .rails:rules:detect-tests
|
||||
image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}
|
||||
needs: []
|
||||
stage: prepare
|
||||
variables:
|
||||
RSPEC_TESTS_MAPPING_ENABLED: "true"
|
||||
script:
|
||||
- source ./scripts/utils.sh
|
||||
- source ./scripts/rspec_helpers.sh
|
||||
|
@ -123,42 +130,23 @@ generate-frontend-fixtures-mapping:
|
|||
- retrieve_frontend_fixtures_mapping
|
||||
- |
|
||||
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
|
||||
tooling/bin/find_changes ${CHANGES_FILE};
|
||||
tooling/bin/find_tests ${CHANGES_FILE} ${MATCHED_TESTS_FILE};
|
||||
tooling/bin/find_changes ${CHANGES_FILE} ${MATCHED_TESTS_FILE} ${FRONTEND_FIXTURES_MAPPING_PATH};
|
||||
echo "Changed files: $(cat $CHANGES_FILE)";
|
||||
echo "Related rspec tests: $(cat $MATCHED_TESTS_FILE)";
|
||||
mkdir -p $(dirname "$RSPEC_CHANGED_FILES_PATH")
|
||||
tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH};
|
||||
tooling/bin/find_tests ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH};
|
||||
tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH} ${FRONTEND_FIXTURES_MAPPING_PATH};
|
||||
echo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)";
|
||||
echo "Related rspec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)";
|
||||
fi
|
||||
artifacts:
|
||||
expire_in: 7d
|
||||
paths:
|
||||
- ${CHANGES_FILE}
|
||||
- ${MATCHED_TESTS_FILE}
|
||||
- ${RSPEC_CHANGED_FILES_PATH}
|
||||
- ${RSPEC_MATCHING_TESTS_PATH}
|
||||
- ${FRONTEND_FIXTURES_MAPPING_PATH}
|
||||
|
||||
detect-tests:
|
||||
extends:
|
||||
- .detect-test-base
|
||||
- .rails:rules:detect-tests
|
||||
variables:
|
||||
RSPEC_TESTS_MAPPING_ENABLED: "true"
|
||||
CHANGES_FILE: tmp/changed_files.txt
|
||||
MATCHED_TESTS_FILE: tmp/matching_tests.txt
|
||||
|
||||
detect-tests as-if-foss:
|
||||
extends:
|
||||
- .detect-test-base
|
||||
- .rails:rules:detect-tests
|
||||
- .as-if-foss
|
||||
variables:
|
||||
CHANGES_FILE: tmp/changed_foss_files.txt
|
||||
MATCHED_TESTS_FILE: tmp/matching_foss_tests.txt
|
||||
before_script:
|
||||
- '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
|
||||
|
||||
detect-previous-failed-tests:
|
||||
extends:
|
||||
- .detect-test-base
|
||||
- detect-tests
|
||||
- .rails:rules:detect-previous-failed-tests
|
||||
variables:
|
||||
PREVIOUS_FAILED_TESTS_DIR: tmp/previous_failed_tests/
|
||||
|
@ -172,3 +160,23 @@ detect-previous-failed-tests:
|
|||
expire_in: 7d
|
||||
paths:
|
||||
- ${PREVIOUS_FAILED_TESTS_DIR}
|
||||
|
||||
e2e-test-pipeline-generate:
|
||||
extends:
|
||||
- .qa-job-base
|
||||
- .minimal-job
|
||||
- .qa:rules:determine-e2e-tests
|
||||
stage: prepare
|
||||
variables:
|
||||
ENV_FILE: $CI_PROJECT_DIR/qa_tests_vars.env
|
||||
OMNIBUS_PIPELINE_YML: package-and-test-pipeline.yml
|
||||
REVIEW_PIPELINE_YML: review-app-pipeline.yml
|
||||
COLORIZED_LOGS: "true"
|
||||
script:
|
||||
- bundle exec rake "ci:detect_changes[$ENV_FILE]"
|
||||
- cd $CI_PROJECT_DIR && scripts/generate-e2e-pipeline
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- $OMNIBUS_PIPELINE_YML
|
||||
- $REVIEW_PIPELINE_YML
|
||||
|
|
|
@ -19,13 +19,16 @@ update-static-analysis-cache:
|
|||
- .shared:rules:update-cache
|
||||
stage: prepare
|
||||
script:
|
||||
- run_timed_command "bundle exec rubocop --parallel" # For the moment we only cache `tmp/rubocop_cache` so we don't need to run all the tasks.
|
||||
# Silence cop offenses for rules with "grace period".
|
||||
# This will notify Slack if offenses were silenced.
|
||||
# For the moment we only cache `tmp/rubocop_cache` so we don't need to run all the tasks.
|
||||
- run_timed_command "bundle exec rake rubocop:check:graceful"
|
||||
|
||||
static-analysis:
|
||||
extends:
|
||||
- .static-analysis-base
|
||||
- .static-analysis-cache
|
||||
- .static-analysis:rules:ee-and-foss
|
||||
- .static-analysis:rules:static-analysis
|
||||
parallel: 2
|
||||
script:
|
||||
- run_timed_command "retry yarn install --frozen-lockfile"
|
||||
|
@ -34,14 +37,14 @@ static-analysis:
|
|||
static-analysis as-if-foss:
|
||||
extends:
|
||||
- static-analysis
|
||||
- .static-analysis:rules:as-if-foss
|
||||
- .static-analysis:rules:static-analysis-as-if-foss
|
||||
- .as-if-foss
|
||||
|
||||
static-verification-with-database:
|
||||
extends:
|
||||
- .static-analysis-base
|
||||
- .rubocop-job-cache
|
||||
- .static-analysis:rules:ee-and-foss
|
||||
- .static-analysis:rules:static-verification-with-database
|
||||
- .use-pg12
|
||||
script:
|
||||
- bundle exec rake lint:static_verification_with_database
|
||||
|
@ -91,13 +94,13 @@ eslint as-if-foss:
|
|||
- .as-if-foss
|
||||
needs: ['generate-apollo-graphql-schema as-if-foss']
|
||||
|
||||
haml-lint foss:
|
||||
haml-lint:
|
||||
extends:
|
||||
- .static-analysis-base
|
||||
- .ruby-cache
|
||||
- .static-analysis:rules:ee-and-foss
|
||||
- .static-analysis:rules:haml-lint
|
||||
script:
|
||||
- run_timed_command "bin/rake 'haml_lint[app/views]'"
|
||||
- run_timed_command "bundle exec haml-lint --parallel app/views"
|
||||
artifacts:
|
||||
expire_in: 31d
|
||||
when: always
|
||||
|
@ -106,23 +109,37 @@ haml-lint foss:
|
|||
|
||||
haml-lint ee:
|
||||
extends:
|
||||
- "haml-lint foss"
|
||||
- .static-analysis:rules:ee
|
||||
- "haml-lint"
|
||||
- .static-analysis:rules:haml-lint-ee
|
||||
script:
|
||||
- run_timed_command "bin/rake 'haml_lint[ee/app/views]'"
|
||||
- run_timed_command "bundle exec haml-lint --parallel ee/app/views"
|
||||
|
||||
rubocop:
|
||||
extends:
|
||||
- .static-analysis-base
|
||||
- .rubocop-job-cache
|
||||
- .static-analysis:rules:ee-and-foss
|
||||
- .static-analysis:rules:rubocop
|
||||
needs:
|
||||
- job: detect-tests
|
||||
optional: true
|
||||
script:
|
||||
- run_timed_command "bundle exec rubocop --parallel"
|
||||
- |
|
||||
# For non-merge request, or when RUN_ALL_RUBOCOP is 'true', run all RuboCop rules
|
||||
if [ -z "${CI_MERGE_REQUEST_IID}" ] || [ "${RUN_ALL_RUBOCOP}" == "true" ]; then
|
||||
# Silence cop offenses for rules with "grace period".
|
||||
# We won't notify Slack if offenses were silenced to avoid frequent messages.
|
||||
# Job `update-static-analysis-cache` takes care of Slack notifications every 2 hours.
|
||||
unset CI_SLACK_WEBHOOK_URL
|
||||
run_timed_command "bundle exec rake rubocop:check:graceful"
|
||||
else
|
||||
cat ${RSPEC_CHANGED_FILES_PATH} | ruby -e 'puts $stdin.read.split(" ").select { |f| File.exist?(f) }.join(" ")' > tmp/rubocop_target_files.txt
|
||||
run_timed_command "bundle exec rubocop --parallel --force-exclusion $(cat tmp/rubocop_target_files.txt)"
|
||||
fi
|
||||
|
||||
qa:metadata-lint:
|
||||
extends:
|
||||
- .static-analysis-base
|
||||
- .static-analysis:rules:ee-and-foss-qa
|
||||
- .static-analysis:rules:qa:metadata-lint
|
||||
before_script:
|
||||
- !reference [.default-before_script, before_script]
|
||||
- cd qa/
|
||||
|
@ -149,7 +166,7 @@ feature-flags-usage:
|
|||
extends:
|
||||
- .static-analysis-base
|
||||
- .rubocop-job-cache
|
||||
- .static-analysis:rules:ee-and-foss
|
||||
- .static-analysis:rules:rubocop
|
||||
script:
|
||||
# We need to disable the cache for this cop since it creates files under tmp/feature_flags/*.used,
|
||||
# the cache would prevent these files from being created.
|
||||
|
|
|
@ -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
|
||||
|
@ -46,6 +54,22 @@ vendor omniauth-gitlab:
|
|||
include: vendor/gems/omniauth-gitlab/.gitlab-ci.yml
|
||||
strategy: depend
|
||||
|
||||
vendor omniauth-google-oauth2:
|
||||
extends:
|
||||
- .vendor:rules:omniauth-google-oauth2
|
||||
needs: []
|
||||
trigger:
|
||||
include: vendor/gems/omniauth-google-oauth2/.gitlab-ci.yml
|
||||
strategy: depend
|
||||
|
||||
vendor omniauth-salesforce:
|
||||
extends:
|
||||
- .vendor:rules:omniauth-salesforce
|
||||
needs: []
|
||||
trigger:
|
||||
include: vendor/gems/omniauth-salesforce/.gitlab-ci.yml
|
||||
strategy: depend
|
||||
|
||||
vendor devise-pbkdf2-encryptable:
|
||||
extends:
|
||||
- .vendor:rules:devise-pbkdf2-encryptable
|
||||
|
@ -53,3 +77,11 @@ vendor devise-pbkdf2-encryptable:
|
|||
trigger:
|
||||
include: vendor/gems/devise-pbkdf2-encryptable/.gitlab-ci.yml
|
||||
strategy: depend
|
||||
|
||||
vendor bundler-checksum:
|
||||
extends:
|
||||
- .vendor:rules:bundler-checksum
|
||||
needs: []
|
||||
trigger:
|
||||
include: vendor/gems/bundler-checksum/.gitlab-ci.yml
|
||||
strategy: depend
|
||||
|
|
|
@ -9,23 +9,38 @@ workhorse:verify:
|
|||
|
||||
.workhorse:test:
|
||||
extends: .workhorse:rules:workhorse
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}:git-2.36
|
||||
variables:
|
||||
GITALY_ADDRESS: "tcp://127.0.0.1:8075"
|
||||
GO_VERSION: "1.17"
|
||||
stage: test
|
||||
needs:
|
||||
- setup-test-env
|
||||
script:
|
||||
before_script:
|
||||
- go version
|
||||
- apt-get update && apt-get -y install libimage-exiftool-perl
|
||||
- scripts/gitaly-test-build
|
||||
script:
|
||||
- make -C workhorse test
|
||||
|
||||
workhorse:test using go 1.17:
|
||||
workhorse:test go:
|
||||
extends: .workhorse:test
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-1.17-git-2.31
|
||||
parallel:
|
||||
matrix:
|
||||
- GO_VERSION: ["1.17", "1.18"]
|
||||
script:
|
||||
- make -C workhorse test-coverage
|
||||
coverage: '/\d+.\d+%/'
|
||||
artifacts:
|
||||
paths:
|
||||
- workhorse/coverage.html
|
||||
|
||||
workhorse:test using go 1.17 with FIPS:
|
||||
workhorse:test fips:
|
||||
extends: .workhorse:test
|
||||
variables:
|
||||
WORKHORSE_TEST_FIPS_ENABLED: 1
|
||||
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-1.17-git-2.31
|
||||
|
||||
workhorse:test race:
|
||||
extends: .workhorse:test
|
||||
script:
|
||||
- make -C workhorse test-race
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<!-- Audit Event documentation: See https://docs.gitlab.com/ee/administration/audit_events.html -->
|
||||
<!-- Streaming Audit Event documentation: See https://docs.gitlab.com/ee/administration/audit_event_streaming.html -->
|
||||
|
||||
## Audit need
|
||||
|
||||
|
@ -8,6 +9,11 @@
|
|||
|
||||
<!-- Describe the audit event you are proposing should be added, including any details of what should be captured, how, and why. -->
|
||||
|
||||
### Streaming-only event or normal event?
|
||||
|
||||
<!-- Should this event be a streaming-only audit event or also logged to GitLab's database? Consider the
|
||||
volume of data that will be generated by the event when answering this. -->
|
||||
|
||||
/label ~"Category:Audit Events"
|
||||
/label ~"type::feature"
|
||||
/label ~"group::compliance"
|
||||
|
|
|
@ -46,7 +46,7 @@ Which tier is this feature available in?
|
|||
Please add links to the relevant merge requests.
|
||||
|
||||
- As soon as possible, but no later than the third milestone preceding the major release (for example, given the following release schedule: `14.8, 14.9, 14.10, 15.0` – `14.8` is the third milestone preceding the major release):
|
||||
- [ ] A [deprecation entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-entry) has been created so the deprecation will appear in release posts and on the [general deprecation page](https://docs.gitlab.com/ee/update/deprecations).
|
||||
- [ ] A [deprecation announcement entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-announcement) has been created so the deprecation will appear in release posts and on the [general deprecation page](https://docs.gitlab.com/ee/update/deprecations).
|
||||
- [ ] Documentation has been updated to mark the feature as [deprecated](https://docs.gitlab.com/ee/development/documentation/versions.html#deprecations-and-removals).
|
||||
- [ ] On or before the major milestone: A [removal entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#removals) has been created so the removal will appear on the [removals by milestones](https://docs.gitlab.com/ee/update/removals) page and be announced in the release post.
|
||||
- On the major milestone:
|
||||
|
|
|
@ -7,18 +7,27 @@
|
|||
* feature development should use the Feature Request template.
|
||||
-->
|
||||
|
||||
If you are a community contributor:
|
||||
If you are a community contributor, **do not work on the issue if it is not assigned to you yet**.
|
||||
|
||||
1. To work on an issue, type `@gl-docsteam I would like to work on this issue.`
|
||||
in a comment. A technical writer
|
||||
will assign the issue to you. Do not work on the issue before it is assigned to you.
|
||||
If someone has already chosen the issue, pick another or view docs [in the docs directory](https://gitlab.com/gitlab-org/gitlab/-/tree/master/doc)
|
||||
Additionally, please review these points before working on this issue:
|
||||
|
||||
1. If you would like to work on the issue, type `@gl-docsteam I would like to work on this issue.`
|
||||
in a comment. A technical writer will assign the issue to you. If someone has already chosen this issue,
|
||||
pick another issue, or view docs [in the docs directory](https://gitlab.com/gitlab-org/gitlab/-/tree/master/doc)
|
||||
and open a merge request for any page you feel can be improved.
|
||||
1. Create a merge request for the issue. If this is for a Hackathon, do not create the merge request
|
||||
before the Hackathon has started or it will not be counted towards the Hackathon. If you were not
|
||||
assigned the issue, do not create a merge request. It will not be accepted.
|
||||
1. Copy the link to this issue and add it to the merge request's description, which will link
|
||||
the merge request and the issue together.
|
||||
1. Carefully review the [merge request guidelines for contributors](https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html#merge-request-guidelines-for-contributors).
|
||||
1. Carefully review the [commit message guidelines](https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html#commit-messages-guidelines).
|
||||
1. Create a merge request for the issue:
|
||||
- If you were not assigned the issue, do not create a merge request. It will not be accepted.
|
||||
- If this is for a Hackathon, do not create the merge request before the Hackathon has started
|
||||
or it will not be counted towards the Hackathon.
|
||||
- Unless otherwise stated below, we expect one merge request per issue, so combine
|
||||
all changes together. If there is too much work for you to handle in one merge request,
|
||||
you can create more, but try to keep the number of merge requests as small as possible.
|
||||
- Select the **Documentation** merge request description template, and fill it out
|
||||
with the details of your work.
|
||||
- Copy the link to this issue and add it to the merge request's description,
|
||||
which links the merge request and the issue together.
|
||||
1. After your merge request is accepted and merged, close this issue.
|
||||
|
||||
If you notice things you'd like to fix that are not part of the issue, open separate merge requests for those issues.
|
||||
|
@ -37,6 +46,9 @@ Thank you again for contributing to the GitLab documentation!
|
|||
* several moderate changes on one page, a few intermediate changes across five pages, or several very small
|
||||
* changes for up to 10 pages. Larger items should be broken out into other issues to better distribute
|
||||
* the opportunities for contributors.
|
||||
*
|
||||
* If you expect the work to take more than one MR to resolve, explain approximately
|
||||
* how many MRs you expect to receive for the issue.
|
||||
-->
|
||||
|
||||
## Additional information
|
||||
|
|
|
@ -27,7 +27,7 @@ Broken metrics issues are marked with the ~"broken metric" label.
|
|||
1. Note which bastion host machine was assigned. For example: `<username>@bastion-01-inf-gprd.c.gitlab-production.internal:~$` shows that you are connected to `bastion-01-inf-gprd.c.gitlab-production.internal`.
|
||||
1. Create a named screen: `screen -S $USER-service-ping-$(date +%F)`.
|
||||
1. Connect to the console host: `ssh $USER-rails@console-01-sv-gprd.c.gitlab-production.internal`.
|
||||
1. Run: `ServicePing::SubmitService.new.execute`.
|
||||
1. Run: `GitlabServicePingWorker.new.perform('triggered_from_cron' => false)`.
|
||||
1. Press <kbd>Control</kbd>+<kbd>a</kbd> followed by <kbd>Control</kbd>+<kbd>d</kbd> to detach from the screen session.
|
||||
1. Exit from the bastion: `exit`.
|
||||
|
||||
|
@ -58,12 +58,12 @@ OR
|
|||
## Service Ping process triggering (through a long-running SSH session)
|
||||
|
||||
1. Connect to the `gprd` Rails console.
|
||||
1. Run `SubmitUsagePingService.new.execute`. This process requires more than 30 hours to complete.
|
||||
1. Run `GitlabServicePingWorker.new.perform('triggered_from_cron' => false)`. This process requires more than 30 hours to complete.
|
||||
1. Find the last payload in the `raw_usage_data` table: `RawUsageData.last.payload`.
|
||||
1. Check the when the payload was sent: `RawUsageData.last.sent_at`.
|
||||
|
||||
```plaintext
|
||||
ServicePing::SubmitService.new.execute
|
||||
GitlabServicePingWorker.new.perform('triggered_from_cron' => false)
|
||||
|
||||
# Get the payload
|
||||
RawUsageData.last.payload
|
||||
|
|
|
@ -30,8 +30,12 @@ Deprecation announcements can and should be created and merged into Docs at any
|
|||
|
||||
---
|
||||
|
||||
Please review the [guidelines for deprecations](https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecations),
|
||||
as well as the process for [creating a deprecation entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-entry).
|
||||
Please review:
|
||||
|
||||
- The definitions of ["Deprecation", "End of Support", and "Removal"](https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology).
|
||||
- The [guidelines for deprecations](https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecations).
|
||||
- The process for [creating a deprecation entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-entry).
|
||||
|
||||
They are frequently updated, and everyone should make sure they are aware of the current standards (PM, PMM, EM, and TW).
|
||||
|
||||
## EM/PM release post item checklist
|
||||
|
|
|
@ -26,7 +26,6 @@ the noise (due to constantly failing tests, flaky tests, and so on) so that new
|
|||
- [ ] Dequarantine test check-list
|
||||
- [ ] Follow the [Dequarantining Tests guide](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/debugging-qa-test-failures/#dequarantining-tests).
|
||||
- [ ] Confirm the test consistently passes on the target GitLab environment(s).
|
||||
- [ ] (Optionally) [Trigger a manual GitLab-QA pipeline](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/tips-and-tricks/#running-gitlab-qa-pipeline-against-a-specific-gitlab-release) against a specific GitLab environment using the `RELEASE` variable from the `package-and-qa` job of the current merge request.
|
||||
- [ ] To ensure a faster turnaround, ask in the `#quality` Slack channel for someone to review and merge the merge request, rather than assigning it directly.
|
||||
|
||||
<!-- Base labels. -->
|
||||
|
|
|
@ -36,7 +36,10 @@ If the removal creates a [breaking change](https://about.gitlab.com/handbook/pro
|
|||
|
||||
---
|
||||
|
||||
Please review the [guidelines for removals](https://about.gitlab.com/handbook/marketing/blog/release-posts/#removals).
|
||||
Please review:
|
||||
|
||||
- The definitions of ["Deprecation", "End of Support", and "Removal"](https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology).
|
||||
- The [guidelines for removals](https://about.gitlab.com/handbook/marketing/blog/release-posts/#removals).
|
||||
|
||||
## EM/PM release post item checklist
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ See [the general developer security release guidelines](https://gitlab.com/gitla
|
|||
- [ ] Ensure it's approved according to our [Approval Guidelines].
|
||||
- [ ] Ensure it's approved by an AppSec engineer.
|
||||
- Please see the security release [Code reviews and Approvals] documentation for details on which AppSec team member to ping for approval.
|
||||
- Trigger the [`package-and-qa` build]. The docker image generated will be used by the AppSec engineer to validate the security vulnerability has been remediated.
|
||||
- Trigger the [`e2e:package-and-test` job]. The docker image generated will be used by the AppSec engineer to validate the security vulnerability has been remediated.
|
||||
- [ ] For a backport MR targeting a versioned stable branch (`X-Y-stable-ee`).
|
||||
- [ ] Milestone is set to the version this backport applies to. A closed milestone can be assigned via [quick actions].
|
||||
- [ ] Ensure it's approved by a maintainer.
|
||||
|
@ -42,4 +42,4 @@ See [the general developer security release guidelines](https://gitlab.com/gitla
|
|||
[Code reviews and Approvals]: (https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#code-reviews-and-approvals)
|
||||
[Approval Guidelines]: https://docs.gitlab.com/ee/development/code_review.html#approval-guidelines
|
||||
[Canonical repository]: https://gitlab.com/gitlab-org/gitlab
|
||||
[`package-and-qa` build]: https://docs.gitlab.com/ee/development/testing_guide/end_to_end/#using-the-package-and-qa-job
|
||||
[`e2e:package-and-test` job]: https://docs.gitlab.com/ee/development/testing_guide/end_to_end/#using-the-package-and-test-job
|
||||
|
|
6
.gitlab/secret-detection-ruleset.toml
Normal file
6
.gitlab/secret-detection-ruleset.toml
Normal file
|
@ -0,0 +1,6 @@
|
|||
[secrets]
|
||||
[[secrets.ruleset]]
|
||||
disable = true
|
||||
[secrets.ruleset.identifier]
|
||||
type = "gitleaks_rule_id"
|
||||
value = "Password in URL"
|
|
@ -23,7 +23,8 @@ first-line-h1: false
|
|||
code-block-style:
|
||||
style: "fenced"
|
||||
emphasis-style: false
|
||||
strong-style: false
|
||||
link-fragments: false
|
||||
reference-links-images: false
|
||||
proper-names:
|
||||
names: [
|
||||
"Akismet",
|
||||
|
|
22
.rubocop.yml
22
.rubocop.yml
|
@ -44,7 +44,7 @@ AllCops:
|
|||
- 'db/ci_migrate/*.rb' # since the `db/ci_migrate` is a symlinked to `db/migrate`
|
||||
# Use absolute path to avoid orphan directories with changed workspace root.
|
||||
CacheRootDirectory: <%= Dir.getwd %>/tmp
|
||||
MaxFilesInCache: 30000
|
||||
MaxFilesInCache: 35000
|
||||
|
||||
Metrics/ParameterLists:
|
||||
Exclude:
|
||||
|
@ -566,21 +566,8 @@ Graphql/Descriptions:
|
|||
RSpec/ImplicitSubject:
|
||||
Enabled: false
|
||||
|
||||
RSpec/DescribedClass:
|
||||
Enabled: false
|
||||
|
||||
RSpec/SharedExamples:
|
||||
Enabled: false
|
||||
|
||||
RSpec/EmptyLineAfterExampleGroup:
|
||||
Enabled: false
|
||||
|
||||
RSpec/ReceiveNever:
|
||||
Enabled: false
|
||||
|
||||
RSpec/MissingExampleGroupArgument:
|
||||
Enabled: false
|
||||
|
||||
# Already covered by `RSpec::Configuration#on_potential_false_positives = :raise`.
|
||||
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86429
|
||||
RSpec/UnspecifiedException:
|
||||
Enabled: false
|
||||
|
||||
|
@ -612,9 +599,6 @@ Style/MultilineWhenThen:
|
|||
Style/NumericPredicate:
|
||||
EnforcedStyle: comparison
|
||||
|
||||
Style/FloatDivision:
|
||||
Enabled: false
|
||||
|
||||
Cop/BanCatchThrow:
|
||||
Enabled: true
|
||||
|
||||
|
|
|
@ -52,7 +52,6 @@ Cop/UserAdmin:
|
|||
- lib/api/entities/ci/runner_details.rb
|
||||
- lib/api/groups.rb
|
||||
- lib/api/helpers.rb
|
||||
- lib/api/personal_access_tokens.rb
|
||||
- lib/api/users.rb
|
||||
- lib/api/v3/github.rb
|
||||
- lib/constraints/admin_constrainer.rb
|
||||
|
|
|
@ -7,7 +7,6 @@ Database/MultipleDatabases:
|
|||
- 'db/post_migrate/20210812013042_remove_duplicate_project_authorizations.rb'
|
||||
- 'ee/spec/services/ee/merge_requests/update_service_spec.rb'
|
||||
- 'lib/gitlab/background_migration/backfill_projects_with_coverage.rb'
|
||||
- 'lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans.rb'
|
||||
- 'spec/db/schema_spec.rb'
|
||||
- 'spec/initializers/database_config_spec.rb'
|
||||
- 'spec/lib/gitlab/database_spec.rb'
|
||||
|
|
|
@ -41,7 +41,7 @@ Gitlab/FeatureAvailableUsage:
|
|||
- ee/app/helpers/ee/search_helper.rb
|
||||
- ee/app/helpers/ee/tree_helper.rb
|
||||
- ee/app/models/approval_state.rb
|
||||
- ee/app/models/concerns/approvable.rb
|
||||
- ee/app/models/concerns/ee/approvable.rb
|
||||
- ee/app/models/concerns/ee/project_security_scanners_information.rb
|
||||
- ee/app/models/concerns/ee/protected_ref_access.rb
|
||||
- ee/app/models/concerns/insights_feature.rb
|
||||
|
@ -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
|
||||
|
|
|
@ -252,7 +252,6 @@ Gitlab/NamespacedClass:
|
|||
- 'app/models/notification_setting.rb'
|
||||
- 'app/models/oauth_access_grant.rb'
|
||||
- 'app/models/oauth_access_token.rb'
|
||||
- 'app/models/onboarding_progress.rb'
|
||||
- 'app/models/out_of_context_discussion.rb'
|
||||
- 'app/models/pages_deployment.rb'
|
||||
- 'app/models/pages_domain.rb'
|
||||
|
@ -405,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'
|
||||
|
@ -656,7 +656,6 @@ Gitlab/NamespacedClass:
|
|||
- 'app/services/metrics_service.rb'
|
||||
- 'app/services/note_summary.rb'
|
||||
- 'app/services/notification_service.rb'
|
||||
- 'app/services/onboarding_progress_service.rb'
|
||||
- 'app/services/post_receive_service.rb'
|
||||
- 'app/services/preview_markdown_service.rb'
|
||||
- 'app/services/push_event_payload_service.rb'
|
||||
|
@ -852,7 +851,7 @@ Gitlab/NamespacedClass:
|
|||
- 'app/workers/x509_issuer_crl_check_worker.rb'
|
||||
- 'ee/app/controllers/countries_controller.rb'
|
||||
- 'ee/app/controllers/country_states_controller.rb'
|
||||
- 'ee/app/controllers/omniauth_kerberos_spnego_controller.rb'
|
||||
- 'ee/app/controllers/omniauth_kerberos_controller.rb'
|
||||
- 'ee/app/controllers/operations_controller.rb'
|
||||
- 'ee/app/controllers/sitemap_controller.rb'
|
||||
- 'ee/app/controllers/smartcard_controller.rb'
|
||||
|
|
|
@ -391,7 +391,6 @@ Layout/ArgumentAlignment:
|
|||
- 'ee/spec/features/projects/environments/environments_spec.rb'
|
||||
- 'ee/spec/features/projects/merge_requests/user_edits_merge_request_spec.rb'
|
||||
- 'ee/spec/features/projects/pipelines/pipeline_spec.rb'
|
||||
- 'ee/spec/features/uncompleted_learn_gitlab_link_spec.rb'
|
||||
- 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb'
|
||||
- 'ee/spec/frontend/fixtures/search.rb'
|
||||
- 'ee/spec/graphql/mutations/requirements_management/export_requirements_spec.rb'
|
||||
|
|
|
@ -2,157 +2,6 @@
|
|||
# Cop supports --auto-correct.
|
||||
Layout/FirstArrayElementIndentation:
|
||||
Exclude:
|
||||
- 'app/controllers/abuse_reports_controller.rb'
|
||||
- 'app/controllers/admin/application_settings_controller.rb'
|
||||
- 'app/controllers/admin/broadcast_messages_controller.rb'
|
||||
- 'app/controllers/admin/plan_limits_controller.rb'
|
||||
- 'app/controllers/boards/issues_controller.rb'
|
||||
- 'app/controllers/groups_controller.rb'
|
||||
- 'app/controllers/projects/issues_controller.rb'
|
||||
- 'app/controllers/projects/merge_requests_controller.rb'
|
||||
- 'app/controllers/projects/pipelines_controller.rb'
|
||||
- 'app/controllers/projects_controller.rb'
|
||||
- 'app/finders/issuable_finder.rb'
|
||||
- 'app/finders/merge_requests/by_approvals_finder.rb'
|
||||
- 'app/finders/user_groups_counter.rb'
|
||||
- 'app/helpers/diff_helper.rb'
|
||||
- 'app/helpers/search_helper.rb'
|
||||
- 'app/models/ci/job_token/scope.rb'
|
||||
- 'app/models/container_repository.rb'
|
||||
- 'app/models/customer_relations/contact.rb'
|
||||
- 'app/models/customer_relations/organization.rb'
|
||||
- 'app/models/group.rb'
|
||||
- 'app/models/integration.rb'
|
||||
- 'app/models/internal_id.rb'
|
||||
- 'app/models/issue.rb'
|
||||
- 'app/models/member.rb'
|
||||
- 'app/models/merge_request.rb'
|
||||
- 'app/models/namespace.rb'
|
||||
- 'app/models/packages/package.rb'
|
||||
- 'app/models/project.rb'
|
||||
- 'app/models/projects/topic.rb'
|
||||
- 'app/models/todo.rb'
|
||||
- 'app/models/user.rb'
|
||||
- 'app/services/ci/delete_objects_service.rb'
|
||||
- 'app/services/labels/transfer_service.rb'
|
||||
- 'app/services/milestones/transfer_service.rb'
|
||||
- 'app/workers/ssh_keys/expired_notification_worker.rb'
|
||||
- 'config/initializers/postgres_partitioning.rb'
|
||||
- 'db/post_migrate/20210812013042_remove_duplicate_project_authorizations.rb'
|
||||
- 'ee/app/controllers/groups/settings/reporting_controller.rb'
|
||||
- 'ee/app/controllers/projects/vulnerability_feedback_controller.rb'
|
||||
- 'ee/app/finders/autocomplete/project_invited_groups_finder.rb'
|
||||
- 'ee/app/finders/geo/project_registry_finder.rb'
|
||||
- 'ee/app/finders/merge_requests/by_approvers_finder.rb'
|
||||
- 'ee/app/graphql/mutations/vulnerabilities/create.rb'
|
||||
- 'ee/app/helpers/ee/application_settings_helper.rb'
|
||||
- 'ee/app/helpers/ee/trial_helper.rb'
|
||||
- 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb'
|
||||
- 'ee/app/models/ee/epic.rb'
|
||||
- 'ee/app/models/ee/project.rb'
|
||||
- 'ee/app/models/ee/user.rb'
|
||||
- 'ee/app/models/ee/vulnerability.rb'
|
||||
- 'ee/app/models/protected_environment.rb'
|
||||
- 'ee/app/models/vulnerabilities/read.rb'
|
||||
- 'ee/app/serializers/dashboard_environments_serializer.rb'
|
||||
- 'ee/app/services/app_sec/dast/profiles/update_service.rb'
|
||||
- 'ee/app/services/vulnerabilities/create_service_base.rb'
|
||||
- 'ee/lib/ee/api/helpers/award_emoji.rb'
|
||||
- 'ee/lib/ee/gitlab/geo_git_access.rb'
|
||||
- 'ee/lib/gitlab/contribution_analytics/data_collector.rb'
|
||||
- 'ee/lib/gitlab/elastic/helper.rb'
|
||||
- 'ee/lib/gitlab/sitemaps/url_extractor.rb'
|
||||
- 'ee/lib/tasks/gitlab/seed/metrics.rake'
|
||||
- 'ee/spec/controllers/admin/audit_log_reports_controller_spec.rb'
|
||||
- 'ee/spec/controllers/admin/licenses/usage_exports_controller_spec.rb'
|
||||
- 'ee/spec/controllers/groups/analytics/coverage_reports_controller_spec.rb'
|
||||
- 'ee/spec/controllers/groups/security/merge_commit_reports_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
|
||||
- 'ee/spec/features/admin/admin_dev_ops_reports_spec.rb'
|
||||
- 'ee/spec/features/boards/boards_licensed_features_spec.rb'
|
||||
- 'ee/spec/features/groups/analytics/cycle_analytics/charts_spec.rb'
|
||||
- 'ee/spec/features/groups/group_roadmap_spec.rb'
|
||||
- 'ee/spec/finders/billed_users_finder_spec.rb'
|
||||
- 'ee/spec/finders/merge_requests/by_approvers_finder_spec.rb'
|
||||
- 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb'
|
||||
- 'ee/spec/finders/security/scan_execution_policies_finder_spec.rb'
|
||||
- 'ee/spec/frontend/fixtures/dast_profiles.rb'
|
||||
- 'ee/spec/frontend/fixtures/search.rb'
|
||||
- 'ee/spec/graphql/mutations/incident_management/escalation_policy/create_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/dora_metrics_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/security_orchestration/scan_execution_policy_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/timebox_report_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/types/ci/pipeline_type_spec.rb'
|
||||
- 'ee/spec/graphql/types/dast_scanner_profile_type_spec.rb'
|
||||
- 'ee/spec/graphql/types/dast_site_profile_type_spec.rb'
|
||||
- 'ee/spec/helpers/paid_feature_callout_helper_spec.rb'
|
||||
- 'ee/spec/helpers/trial_status_widget_helper_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/usage_data_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/checks/diff_check_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/ci/config/security_orchestration_policies/processor_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/ci/yaml_processor_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_links_aggregate_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/graphql/aggregations/issues/lazy_links_aggregate_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_ci_builds_metric_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_creating_ci_builds_metric_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/vulnerabilities/parser_spec.rb'
|
||||
- 'ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb'
|
||||
- 'ee/spec/models/application_setting_spec.rb'
|
||||
- 'ee/spec/models/approval_state_spec.rb'
|
||||
- 'ee/spec/models/burndown_spec.rb'
|
||||
- 'ee/spec/models/concerns/ee/noteable_spec.rb'
|
||||
- 'ee/spec/models/concerns/geo/verification_state_spec.rb'
|
||||
- 'ee/spec/models/ee/iterations/cadence_spec.rb'
|
||||
- 'ee/spec/models/ee/namespace_spec.rb'
|
||||
- 'ee/spec/models/ee/release_spec.rb'
|
||||
- 'ee/spec/models/group_wiki_repository_spec.rb'
|
||||
- 'ee/spec/models/namespace_setting_spec.rb'
|
||||
- 'ee/spec/models/project_spec.rb'
|
||||
- 'ee/spec/models/requirements_management/test_report_spec.rb'
|
||||
- 'ee/spec/models/security/orchestration_policy_configuration_spec.rb'
|
||||
- 'ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb'
|
||||
- 'ee/spec/models/security/scan_spec.rb'
|
||||
- 'ee/spec/models/security/training_provider_spec.rb'
|
||||
- 'ee/spec/models/snippet_repository_spec.rb'
|
||||
- 'ee/spec/policies/project_policy_spec.rb'
|
||||
- 'ee/spec/requests/admin/user_permission_exports_controller_spec.rb'
|
||||
- 'ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb'
|
||||
- 'ee/spec/requests/api/experiments_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/analytics/devops_adoption/enabled_namespaces_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/group/epics_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/mutations/releases/create_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/mutations/releases/update_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/project/merge_requests_spec.rb'
|
||||
- 'ee/spec/requests/api/internal/kubernetes_spec.rb'
|
||||
- 'ee/spec/requests/api/ldap_group_links_spec.rb'
|
||||
- 'ee/spec/requests/api/members_spec.rb'
|
||||
- 'ee/spec/services/analytics/cycle_analytics/value_streams/update_service_spec.rb'
|
||||
- 'ee/spec/services/audit_events/export_csv_service_spec.rb'
|
||||
- 'ee/spec/services/gitlab_subscriptions/fetch_purchase_eligible_namespaces_service_spec.rb'
|
||||
- 'ee/spec/services/groups/seat_usage_export_service_spec.rb'
|
||||
- 'ee/spec/services/iterations/cadences/create_iterations_in_advance_service_spec.rb'
|
||||
- 'ee/spec/services/protected_environments/base_service_spec.rb'
|
||||
- 'ee/spec/services/search_service_spec.rb'
|
||||
- 'ee/spec/services/security/ingestion/tasks/hooks_execution_spec.rb'
|
||||
- 'ee/spec/services/security/security_orchestration_policies/process_scan_result_policy_service_spec.rb'
|
||||
- 'ee/spec/services/security/store_findings_metadata_service_spec.rb'
|
||||
- 'ee/spec/services/timebox_report_service_spec.rb'
|
||||
- 'ee/spec/services/user_permissions/export_service_spec.rb'
|
||||
- 'ee/spec/support/shared_examples/services/search_notes_shared_examples.rb'
|
||||
- 'ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb'
|
||||
- 'lib/event_filter.rb'
|
||||
- 'lib/gitlab/database/migration_helpers.rb'
|
||||
- 'lib/gitlab/email/message/in_product_marketing/team.rb'
|
||||
- 'lib/gitlab/email/message/in_product_marketing/trial.rb'
|
||||
- 'lib/gitlab/email/message/in_product_marketing/verify.rb'
|
||||
- 'lib/gitlab/import_export/base/relation_factory.rb'
|
||||
|
@ -195,26 +44,6 @@ Layout/FirstArrayElementIndentation:
|
|||
- 'qa/qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb'
|
||||
- 'qa/qa/specs/features/ee/browser_ui/4_verify/new_discussion_not_dropping_merge_trains_mr_spec.rb'
|
||||
- 'spec/controllers/concerns/send_file_upload_spec.rb'
|
||||
- 'spec/controllers/graphql_controller_spec.rb'
|
||||
- 'spec/controllers/projects/ci/daily_build_group_report_results_controller_spec.rb'
|
||||
- 'spec/controllers/projects/ci/lints_controller_spec.rb'
|
||||
- 'spec/controllers/projects/pipelines/tests_controller_spec.rb'
|
||||
- 'spec/controllers/projects/pipelines_controller_spec.rb'
|
||||
- 'spec/deprecation_toolkit_env.rb'
|
||||
- 'spec/features/clusters/create_agent_spec.rb'
|
||||
- 'spec/finders/bulk_imports/entities_finder_spec.rb'
|
||||
- 'spec/finders/ci/daily_build_group_report_results_finder_spec.rb'
|
||||
- 'spec/finders/deploy_tokens/tokens_finder_spec.rb'
|
||||
- 'spec/finders/groups/projects_requiring_authorizations_refresh/on_direct_membership_finder_spec.rb'
|
||||
- 'spec/finders/groups/projects_requiring_authorizations_refresh/on_transfer_finder_spec.rb'
|
||||
- 'spec/frontend/fixtures/search.rb'
|
||||
- 'spec/graphql/mutations/commits/create_spec.rb'
|
||||
- 'spec/graphql/mutations/environments/canary_ingress/update_spec.rb'
|
||||
- 'spec/graphql/resolvers/ci/test_suite_resolver_spec.rb'
|
||||
- 'spec/graphql/types/ci/runner_architecture_type_spec.rb'
|
||||
- 'spec/graphql/types/ci/runner_platform_type_spec.rb'
|
||||
- 'spec/graphql/types/metrics/dashboard_type_spec.rb'
|
||||
- 'spec/graphql/types/packages/composer/metadatum_type_spec.rb'
|
||||
- 'spec/graphql/types/packages/tag_type_spec.rb'
|
||||
- 'spec/helpers/application_settings_helper_spec.rb'
|
||||
- 'spec/helpers/commits_helper_spec.rb'
|
||||
|
|
|
@ -2,388 +2,5 @@
|
|||
# Cop supports --auto-correct.
|
||||
Layout/HashAlignment:
|
||||
Exclude:
|
||||
- 'ee/lib/api/iterations.rb'
|
||||
- 'ee/lib/api/merge_trains.rb'
|
||||
- 'ee/lib/api/related_epic_links.rb'
|
||||
- 'ee/lib/api/vulnerability_exports.rb'
|
||||
- 'ee/lib/api/vulnerability_findings.rb'
|
||||
- 'ee/lib/ee/api/helpers/groups_helpers.rb'
|
||||
- 'ee/lib/ee/api/helpers/issues_helpers.rb'
|
||||
- 'ee/lib/ee/api/helpers/protected_branches_helpers.rb'
|
||||
- 'ee/lib/ee/api/merge_requests.rb'
|
||||
- 'ee/lib/ee/audit/project_setting_changes_auditor.rb'
|
||||
- 'ee/lib/ee/audit/protected_branches_changes_auditor.rb'
|
||||
- 'ee/lib/ee/banzai/filter/references/epic_reference_filter.rb'
|
||||
- 'ee/lib/ee/banzai/filter/references/vulnerability_reference_filter.rb'
|
||||
- 'ee/lib/ee/gitlab/application_rate_limiter.rb'
|
||||
- 'ee/lib/ee/gitlab/ci/pipeline/chain/validate/after_config.rb'
|
||||
- 'ee/lib/ee/gitlab/quick_actions/issue_actions.rb'
|
||||
- 'ee/lib/ee/gitlab/tracking.rb'
|
||||
- 'ee/lib/ee/gitlab/usage_data.rb'
|
||||
- 'ee/lib/elastic/latest/commit_config.rb'
|
||||
- 'ee/lib/elastic/latest/config.rb'
|
||||
- 'ee/lib/elastic/latest/merge_request_config.rb'
|
||||
- 'ee/lib/gem_extensions/elasticsearch/model/indexing/instance_methods.rb'
|
||||
- 'ee/lib/gitlab/auth/smartcard/certificate.rb'
|
||||
- 'ee/lib/gitlab/auth/smartcard/ldap_certificate.rb'
|
||||
- 'ee/lib/gitlab/ci/parsers/security/formatters/dependency_list.rb'
|
||||
- 'ee/lib/gitlab/elastic/helper.rb'
|
||||
- 'ee/lib/gitlab/elastic/indexer.rb'
|
||||
- 'ee/spec/controllers/ee/projects/variables_controller_spec.rb'
|
||||
- 'ee/spec/controllers/groups/epic_boards_controller_spec.rb'
|
||||
- 'ee/spec/controllers/groups/issues_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/settings/operations_controller_spec.rb'
|
||||
- 'ee/spec/controllers/trials_controller_spec.rb'
|
||||
- 'ee/spec/factories/dependencies.rb'
|
||||
- 'ee/spec/factories/projects.rb'
|
||||
- 'ee/spec/features/billings/billing_plans_spec.rb'
|
||||
- 'ee/spec/features/groups/settings/protected_environments_spec.rb'
|
||||
- 'ee/spec/features/projects/environments/environments_spec.rb'
|
||||
- 'ee/spec/features/projects/feature_flags/user_sees_feature_flag_list_spec.rb'
|
||||
- 'ee/spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb'
|
||||
- 'ee/spec/finders/epics_finder_spec.rb'
|
||||
- 'ee/spec/finders/merge_requests_finder_spec.rb'
|
||||
- 'ee/spec/frontend/fixtures/dast_profiles.rb'
|
||||
- 'ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb'
|
||||
- 'ee/spec/graphql/ee/resolvers/namespace_projects_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/path_locks_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/security_orchestration/scan_execution_policy_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/security_report_summary_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/vulnerabilities/issue_links_resolver_spec.rb'
|
||||
- 'ee/spec/helpers/billing_plans_helper_spec.rb'
|
||||
- 'ee/spec/helpers/routing/pseudonymization_helper_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/background_migration/backfill_project_statistics_container_repository_size_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/background_migration/delete_invalid_epic_issues_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/ci/matching/runner_matcher_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/elastic/helper_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/usage_data_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/auth/ldap/person_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/custom_file_templates_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/elastic/client_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/elastic/indexer_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/insights/loader_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/template/custom_templates_spec.rb'
|
||||
- 'ee/spec/models/application_setting_spec.rb'
|
||||
- 'ee/spec/models/approval_merge_request_rule_spec.rb'
|
||||
- 'ee/spec/models/member_spec.rb'
|
||||
- 'ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb'
|
||||
- 'ee/spec/models/protected_environments/approval_summary_spec.rb'
|
||||
- 'ee/spec/models/vulnerabilities/statistic_spec.rb'
|
||||
- 'ee/spec/requests/api/deployments_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/app_sec/fuzzing/coverage/corpus_type_spec.rb'
|
||||
- 'ee/spec/requests/api/graphql/group/epics_spec.rb'
|
||||
- 'ee/spec/requests/api/internal/base_spec.rb'
|
||||
- 'ee/spec/requests/api/issues_spec.rb'
|
||||
- 'ee/spec/requests/api/protected_environments_spec.rb'
|
||||
- 'ee/spec/requests/api/templates_spec.rb'
|
||||
- 'ee/spec/requests/ee/projects/environments_controller_spec.rb'
|
||||
- 'ee/spec/requests/ee/projects/service_desk_controller_spec.rb'
|
||||
- 'ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb'
|
||||
- 'ee/spec/requests/rack_attack_global_spec.rb'
|
||||
- 'ee/spec/serializers/integrations/zentao_serializers/issue_entity_spec.rb'
|
||||
- 'ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb'
|
||||
- 'ee/spec/services/app_sec/dast/scan_configs/fetch_service_spec.rb'
|
||||
- 'ee/spec/services/arkose/blocked_users_report_service_spec.rb'
|
||||
- 'ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb'
|
||||
- 'ee/spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb'
|
||||
- 'ee/spec/services/ci/create_pipeline_service/cross_needs_artifacts_spec.rb'
|
||||
- 'ee/spec/services/ci/process_pipeline_service_spec.rb'
|
||||
- 'ee/spec/services/ci/retry_pipeline_service_spec.rb'
|
||||
- 'ee/spec/services/ci/subscribe_bridge_service_spec.rb'
|
||||
- 'ee/spec/services/ee/merge_requests/create_pipeline_service_spec.rb'
|
||||
- 'ee/spec/services/merge_trains/check_status_service_spec.rb'
|
||||
- 'ee/spec/services/merge_trains/create_pipeline_service_spec.rb'
|
||||
- 'ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb'
|
||||
- 'ee/spec/services/merge_trains/refresh_service_spec.rb'
|
||||
- 'ee/spec/services/status_page/trigger_publish_service_spec.rb'
|
||||
- 'ee/spec/services/status_page/unpublish_details_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb'
|
||||
- 'ee/spec/support/shared_examples/services/audit_event_logging_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/status_page/publish_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/status_page/reference_links_examples.rb'
|
||||
- 'ee/spec/workers/scan_security_report_secrets_worker_spec.rb'
|
||||
- 'lib/gitlab/abuse.rb'
|
||||
- 'lib/gitlab/access.rb'
|
||||
- 'lib/gitlab/application_rate_limiter.rb'
|
||||
- 'lib/gitlab/auth/ldap/config.rb'
|
||||
- 'lib/gitlab/auth/o_auth/auth_hash.rb'
|
||||
- 'lib/gitlab/auth/o_auth/provider.rb'
|
||||
- 'lib/gitlab/auth/o_auth/user.rb'
|
||||
- 'lib/gitlab/auth/otp/strategies/forti_authenticator/manual_otp.rb'
|
||||
- 'lib/gitlab/background_migration/backfill_project_repositories.rb'
|
||||
- 'lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb'
|
||||
- 'lib/gitlab/ci/ansi2html.rb'
|
||||
- 'lib/gitlab/ci/ansi2json/parser.rb'
|
||||
- 'lib/gitlab/ci/config/entry/processable.rb'
|
||||
- 'lib/gitlab/ci/jwt_v2.rb'
|
||||
- 'lib/gitlab/ci/pipeline/chain/validate/external.rb'
|
||||
- 'lib/gitlab/ci/reports/security/scanner.rb'
|
||||
- 'lib/gitlab/database/background_migration/health_status.rb'
|
||||
- 'lib/gitlab/database/reflection.rb'
|
||||
- 'lib/gitlab/diff/file_collection/compare.rb'
|
||||
- 'lib/gitlab/email/attachment_uploader.rb'
|
||||
- 'lib/gitlab/emoji.rb'
|
||||
- 'lib/gitlab/etag_caching/middleware.rb'
|
||||
- 'lib/gitlab/experimentation.rb'
|
||||
- 'lib/gitlab/fogbugz_import/importer.rb'
|
||||
- 'lib/gitlab/git/repository.rb'
|
||||
- 'lib/gitlab/gitaly_client/commit_service.rb'
|
||||
- 'lib/gitlab/gitaly_client/operation_service.rb'
|
||||
- 'lib/gitlab/hook_data/project_member_builder.rb'
|
||||
- 'lib/gitlab/import_export/group/legacy_tree_restorer.rb'
|
||||
- 'lib/gitlab/import_export/group/relation_factory.rb'
|
||||
- 'lib/gitlab/import_export/group/relation_tree_restorer.rb'
|
||||
- 'lib/gitlab/import_export/members_mapper.rb'
|
||||
- 'lib/gitlab/import_export/project/import_task.rb'
|
||||
- 'lib/gitlab/import_export/shared.rb'
|
||||
- 'lib/gitlab/issuable/clone/copy_resource_events_service.rb'
|
||||
- 'lib/gitlab/kubernetes.rb'
|
||||
- 'lib/gitlab/marginalia/comment.rb'
|
||||
- 'lib/gitlab/metrics/dashboard/stages/grafana_formatter.rb'
|
||||
- 'lib/gitlab/metrics/dashboard/transformers/yml/v1/prometheus_metrics.rb'
|
||||
- 'lib/gitlab/metrics/dashboard/validator/client.rb'
|
||||
- 'lib/gitlab/metrics/exporter/metrics_middleware.rb'
|
||||
- 'lib/gitlab/metrics/samplers/puma_sampler.rb'
|
||||
- 'lib/gitlab/metrics/samplers/ruby_sampler.rb'
|
||||
- 'lib/gitlab/no_cache_headers.rb'
|
||||
- 'lib/gitlab/sidekiq_daemon/memory_killer.rb'
|
||||
- 'lib/gitlab/sidekiq_middleware/server_metrics.rb'
|
||||
- 'lib/gitlab/slash_commands/presenters/base.rb'
|
||||
- 'lib/gitlab/template/gitignore_template.rb'
|
||||
- 'lib/gitlab/visibility_level.rb'
|
||||
- 'lib/product_analytics/event_params.rb'
|
||||
- 'lib/sidebars/projects/menus/infrastructure_menu.rb'
|
||||
- 'lib/tasks/gitlab/import_export/export.rake'
|
||||
- 'lib/tasks/gitlab/import_export/import.rake'
|
||||
- 'lib/tasks/tanuki_emoji.rake'
|
||||
- 'spec/controllers/concerns/product_analytics_tracking_spec.rb'
|
||||
- 'spec/controllers/concerns/redis_tracking_spec.rb'
|
||||
- 'spec/controllers/import/bitbucket_controller_spec.rb'
|
||||
- 'spec/controllers/oauth/token_info_controller_spec.rb'
|
||||
- 'spec/controllers/omniauth_callbacks_controller_spec.rb'
|
||||
- 'spec/controllers/projects/artifacts_controller_spec.rb'
|
||||
- 'spec/controllers/projects/feature_flags_controller_spec.rb'
|
||||
- 'spec/controllers/projects/grafana_api_controller_spec.rb'
|
||||
- 'spec/controllers/projects/merge_requests_controller_spec.rb'
|
||||
- 'spec/controllers/projects/pipeline_schedules_controller_spec.rb'
|
||||
- 'spec/controllers/projects/registry/tags_controller_spec.rb'
|
||||
- 'spec/controllers/projects/service_desk_controller_spec.rb'
|
||||
- 'spec/db/migration_spec.rb'
|
||||
- 'spec/factories/ci/builds.rb'
|
||||
- 'spec/factories/environments.rb'
|
||||
- 'spec/factories/groups.rb'
|
||||
- 'spec/features/dashboard/datetime_on_tooltips_spec.rb'
|
||||
- 'spec/features/dashboard/todos/todos_sorting_spec.rb'
|
||||
- 'spec/features/jira_oauth_provider_authorize_spec.rb'
|
||||
- 'spec/features/merge_request/user_sees_deployment_widget_spec.rb'
|
||||
- 'spec/features/profiles/active_sessions_spec.rb'
|
||||
- 'spec/features/projects/badges/coverage_spec.rb'
|
||||
- 'spec/features/projects/environments/environment_spec.rb'
|
||||
- 'spec/features/projects/feature_flags/user_sees_feature_flag_list_spec.rb'
|
||||
- 'spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb'
|
||||
- 'spec/features/projects/jobs/user_browses_jobs_spec.rb'
|
||||
- 'spec/features/projects/milestones/milestones_sorting_spec.rb'
|
||||
- 'spec/features/projects/new_project_spec.rb'
|
||||
- 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
|
||||
- 'spec/features/projects/pipelines/legacy_pipelines_spec.rb'
|
||||
- 'spec/features/projects/pipelines/pipeline_spec.rb'
|
||||
- 'spec/features/projects/pipelines/pipelines_spec.rb'
|
||||
- 'spec/features/snippets/user_creates_snippet_spec.rb'
|
||||
- 'spec/features/users/email_verification_on_login_spec.rb'
|
||||
- 'spec/features/users/login_spec.rb'
|
||||
- 'spec/finders/ci/pipelines_for_merge_request_finder_spec.rb'
|
||||
- 'spec/finders/group_descendants_finder_spec.rb'
|
||||
- 'spec/finders/group_members_finder_spec.rb'
|
||||
- 'spec/finders/template_finder_spec.rb'
|
||||
- 'spec/graphql/mutations/releases/update_spec.rb'
|
||||
- 'spec/graphql/resolvers/board_lists_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/ci/config_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/ci/group_runners_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/ci/jobs_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/ci/runners_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/container_repositories_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/container_repository_tags_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/design_management/versions_resolver_spec.rb'
|
||||
- 'spec/graphql/resolvers/work_items_resolver_spec.rb'
|
||||
- 'spec/helpers/ci/builds_helper_spec.rb'
|
||||
- 'spec/helpers/sorting_helper_spec.rb'
|
||||
- 'spec/helpers/storage_helper_spec.rb'
|
||||
- 'spec/helpers/wiki_helper_spec.rb'
|
||||
- 'spec/initializers/00_rails_disable_joins_spec.rb'
|
||||
- 'spec/lib/backup/gitaly_backup_spec.rb'
|
||||
- 'spec/lib/banzai/filter/repository_link_filter_spec.rb'
|
||||
- 'spec/lib/gitlab/asciidoc_spec.rb'
|
||||
- 'spec/lib/gitlab/auth/ldap/auth_hash_spec.rb'
|
||||
- 'spec/lib/gitlab/auth/ldap/config_spec.rb'
|
||||
- 'spec/lib/gitlab/auth/ldap/person_spec.rb'
|
||||
- 'spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb'
|
||||
- 'spec/lib/gitlab/auth/otp/strategies/forti_token_cloud_spec.rb'
|
||||
- 'spec/lib/gitlab/background_migration/backfill_imported_issue_search_data_spec.rb'
|
||||
- 'spec/lib/gitlab/background_migration/backfill_integrations_enable_ssl_verification_spec.rb'
|
||||
- 'spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb'
|
||||
- 'spec/lib/gitlab/background_migration/encrypt_integration_properties_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/config/entry/port_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/config/entry/root_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/config/external/mapper_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/lint_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/pipeline/seed/deployment_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/variables/builder_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
|
||||
- 'spec/lib/gitlab/data_builder/issuable_spec.rb'
|
||||
- 'spec/lib/gitlab/data_builder/note_spec.rb'
|
||||
- 'spec/lib/gitlab/database/migration_helpers_spec.rb'
|
||||
- 'spec/lib/gitlab/database/partitioning/sliding_list_strategy_spec.rb'
|
||||
- 'spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb'
|
||||
- 'spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb'
|
||||
- 'spec/lib/gitlab/diff/highlight_cache_spec.rb'
|
||||
- 'spec/lib/gitlab/diff/lines_unfolder_spec.rb'
|
||||
- 'spec/lib/gitlab/diff/position_spec.rb'
|
||||
- 'spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb'
|
||||
- 'spec/lib/gitlab/error_tracking/stack_trace_highlight_decorator_spec.rb'
|
||||
- 'spec/lib/gitlab/etag_caching/middleware_spec.rb'
|
||||
- 'spec/lib/gitlab/etag_caching/router/graphql_spec.rb'
|
||||
- 'spec/lib/gitlab/git/repository_spec.rb'
|
||||
- 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb'
|
||||
- 'spec/lib/gitlab/import_export/attributes_finder_spec.rb'
|
||||
- 'spec/lib/gitlab/import_export/group/object_builder_spec.rb'
|
||||
- 'spec/lib/gitlab/import_export/group/relation_tree_restorer_spec.rb'
|
||||
- 'spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb'
|
||||
- 'spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb'
|
||||
- 'spec/lib/gitlab/import_sources_spec.rb'
|
||||
- 'spec/lib/gitlab/instrumentation_helper_spec.rb'
|
||||
- 'spec/lib/gitlab/jira/middleware_spec.rb'
|
||||
- 'spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/dashboard/importers/prometheus_metrics_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/dashboard/validator/errors_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/dashboard/validator_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/subscribers/action_view_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/subscribers/active_record_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/subscribers/load_balancing_spec.rb'
|
||||
- 'spec/lib/gitlab/metrics/web_transaction_spec.rb'
|
||||
- 'spec/lib/gitlab/omniauth_initializer_spec.rb'
|
||||
- 'spec/lib/gitlab/sidekiq_daemon/memory_killer_spec.rb'
|
||||
- 'spec/lib/gitlab/sidekiq_death_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb'
|
||||
- 'spec/lib/gitlab/slug/environment_spec.rb'
|
||||
- 'spec/lib/gitlab/tracking_spec.rb'
|
||||
- 'spec/lib/gitlab/usage_data/topology_spec.rb'
|
||||
- 'spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb'
|
||||
- 'spec/lib/gitlab/usage_data_counters/note_counter_spec.rb'
|
||||
- 'spec/lib/gitlab/usage_data_spec.rb'
|
||||
- 'spec/lib/gitlab/utils_spec.rb'
|
||||
- 'spec/lib/gitlab/word_diff/parser_spec.rb'
|
||||
- 'spec/lib/marginalia_spec.rb'
|
||||
- 'spec/lib/security/ci_configuration/sast_build_action_spec.rb'
|
||||
- 'spec/mailers/emails/pipelines_spec.rb'
|
||||
- 'spec/migrations/20210804150320_create_base_work_item_types_spec.rb'
|
||||
- 'spec/migrations/20210831203408_upsert_base_work_item_types_spec.rb'
|
||||
- 'spec/migrations/20211117084814_migrate_remaining_u2f_registrations_spec.rb'
|
||||
- 'spec/migrations/20211126204445_add_task_to_work_item_types_spec.rb'
|
||||
- 'spec/models/ci/build_spec.rb'
|
||||
- 'spec/models/ci/pipeline_spec.rb'
|
||||
- 'spec/models/ci/processable_spec.rb'
|
||||
- 'spec/models/clusters/platforms/kubernetes_spec.rb'
|
||||
- 'spec/models/commit_status_spec.rb'
|
||||
- 'spec/models/container_registry/event_spec.rb'
|
||||
- 'spec/models/deployment_spec.rb'
|
||||
- 'spec/models/design_management/version_spec.rb'
|
||||
- 'spec/models/group_spec.rb'
|
||||
- 'spec/models/integrations/chat_message/pipeline_message_spec.rb'
|
||||
- 'spec/models/integrations/drone_ci_spec.rb'
|
||||
- 'spec/models/merge_request_spec.rb'
|
||||
- 'spec/models/namespace_spec.rb'
|
||||
- 'spec/models/operations/feature_flag_spec.rb'
|
||||
- 'spec/models/pages_domain_spec.rb'
|
||||
- 'spec/models/remote_mirror_spec.rb'
|
||||
- 'spec/models/repository_spec.rb'
|
||||
- 'spec/models/user_spec.rb'
|
||||
- 'spec/presenters/clusters/cluster_presenter_spec.rb'
|
||||
- 'spec/presenters/project_presenter_spec.rb'
|
||||
- 'spec/requests/api/ci/job_artifacts_spec.rb'
|
||||
- 'spec/requests/api/ci/jobs_spec.rb'
|
||||
- 'spec/requests/api/ci/runner/jobs_request_post_spec.rb'
|
||||
- 'spec/requests/api/feature_flags_spec.rb'
|
||||
- 'spec/requests/api/graphql/ci/config_spec.rb'
|
||||
- 'spec/requests/api/graphql/ci/group_variables_spec.rb'
|
||||
- 'spec/requests/api/graphql/ci/instance_variables_spec.rb'
|
||||
- 'spec/requests/api/graphql/ci/project_variables_spec.rb'
|
||||
- 'spec/requests/api/graphql/ci/runner_spec.rb'
|
||||
- 'spec/requests/api/graphql/ci/runners_spec.rb'
|
||||
- 'spec/requests/api/graphql/mutations/releases/update_spec.rb'
|
||||
- 'spec/requests/api/graphql/project/issue/design_collection/version_spec.rb'
|
||||
- 'spec/requests/api/graphql/project/terraform/state_spec.rb'
|
||||
- 'spec/requests/api/graphql/project/terraform/states_spec.rb'
|
||||
- 'spec/requests/api/graphql/query_spec.rb'
|
||||
- 'spec/requests/api/groups_spec.rb'
|
||||
- 'spec/requests/api/internal/base_spec.rb'
|
||||
- 'spec/requests/api/issues/get_group_issues_spec.rb'
|
||||
- 'spec/requests/api/projects_spec.rb'
|
||||
- 'spec/requests/api/suggestions_spec.rb'
|
||||
- 'spec/requests/api/unleash_spec.rb'
|
||||
- 'spec/requests/git_http_spec.rb'
|
||||
- 'spec/requests/oauth_tokens_spec.rb'
|
||||
- 'spec/requests/openid_connect_spec.rb'
|
||||
- 'spec/requests/projects/environments_controller_spec.rb'
|
||||
- 'spec/requests/projects/merge_requests_discussions_spec.rb'
|
||||
- 'spec/routing/project_routing_spec.rb'
|
||||
- 'spec/serializers/ci/lint/job_entity_spec.rb'
|
||||
- 'spec/serializers/container_repository_entity_spec.rb'
|
||||
- 'spec/serializers/deployment_entity_spec.rb'
|
||||
- 'spec/serializers/environment_serializer_spec.rb'
|
||||
- 'spec/serializers/merge_request_metrics_helper_spec.rb'
|
||||
- 'spec/services/ci/create_downstream_pipeline_service_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/logger_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/tags_spec.rb'
|
||||
- 'spec/services/ci/job_artifacts/create_service_spec.rb'
|
||||
- 'spec/services/ci/retry_job_service_spec.rb'
|
||||
- 'spec/services/deployments/link_merge_requests_service_spec.rb'
|
||||
- 'spec/services/discussions/capture_diff_note_positions_service_spec.rb'
|
||||
- 'spec/services/environments/stop_service_spec.rb'
|
||||
- 'spec/services/event_create_service_spec.rb'
|
||||
- 'spec/services/groups/import_export/import_service_spec.rb'
|
||||
- 'spec/services/issuable/bulk_update_service_spec.rb'
|
||||
- 'spec/services/issues/create_service_spec.rb'
|
||||
- 'spec/services/merge_requests/build_service_spec.rb'
|
||||
- 'spec/services/merge_requests/create_service_spec.rb'
|
||||
- 'spec/services/merge_requests/update_service_spec.rb'
|
||||
- 'spec/services/metrics/dashboard/clone_dashboard_service_spec.rb'
|
||||
- 'spec/services/notes/create_service_spec.rb'
|
||||
- 'spec/services/notes/destroy_service_spec.rb'
|
||||
- 'spec/services/packages/debian/parse_debian822_service_spec.rb'
|
||||
- 'spec/services/projects/destroy_service_spec.rb'
|
||||
- 'spec/services/service_ping/submit_service_ping_service_spec.rb'
|
||||
- 'spec/services/suggestions/apply_service_spec.rb'
|
||||
- 'spec/services/work_items/widgets/description_service/update_service_spec.rb'
|
||||
- 'spec/support/helpers/create_environments_helpers.rb'
|
||||
- 'spec/support/helpers/kubernetes_helpers.rb'
|
||||
- 'spec/support/helpers/migrations_helpers/work_item_types_helper.rb'
|
||||
- 'spec/support/helpers/seed_helper.rb'
|
||||
- 'spec/support/helpers/stub_object_storage.rb'
|
||||
- 'spec/support/helpers/test_env.rb'
|
||||
- 'spec/support/helpers/usage_data_helpers.rb'
|
||||
- 'spec/support/migrations_helpers/vulnerabilities_findings_helper.rb'
|
||||
- 'spec/support/shared_contexts/bulk_imports_requests_shared_context.rb'
|
||||
- 'spec/support/shared_contexts/design_management_shared_contexts.rb'
|
||||
- 'spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb'
|
||||
- 'spec/support/shared_examples/finders/issues_finder_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/graphql/members_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/lib/banzai/filters/sanitization_filter_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/lib/gitlab/database/background_migration_job_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/requests/api/conan_packages_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/routing/resource_routing_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/routing/wiki_routing_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/services/container_registry_auth_service_shared_examples.rb'
|
||||
- 'spec/tooling/danger/datateam_spec.rb'
|
||||
- 'spec/views/projects/tags/index.html.haml_spec.rb'
|
||||
- 'spec/workers/emails_on_push_worker_spec.rb'
|
||||
- 'spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb'
|
||||
|
|
|
@ -1123,7 +1123,6 @@ Layout/LineLength:
|
|||
- 'ee/app/controllers/concerns/ee/issuable_collections.rb'
|
||||
- 'ee/app/controllers/concerns/group_invite_members.rb'
|
||||
- 'ee/app/controllers/concerns/insights_actions.rb'
|
||||
- 'ee/app/controllers/concerns/registrations/create_project.rb'
|
||||
- 'ee/app/controllers/ee/admin/dev_ops_report_controller.rb'
|
||||
- 'ee/app/controllers/ee/admin/users_controller.rb'
|
||||
- 'ee/app/controllers/ee/application_controller.rb'
|
||||
|
@ -1160,8 +1159,6 @@ Layout/LineLength:
|
|||
- 'ee/app/controllers/projects/requirements_management/requirements_controller.rb'
|
||||
- 'ee/app/controllers/projects/security/policies_controller.rb'
|
||||
- 'ee/app/controllers/projects/security/vulnerabilities/notes_controller.rb'
|
||||
- 'ee/app/controllers/registrations/groups_controller.rb'
|
||||
- 'ee/app/controllers/registrations/groups_projects_controller.rb'
|
||||
- 'ee/app/controllers/subscriptions_controller.rb'
|
||||
- 'ee/app/controllers/trial_registrations_controller.rb'
|
||||
- 'ee/app/controllers/trials_controller.rb'
|
||||
|
@ -1862,8 +1859,6 @@ Layout/LineLength:
|
|||
- 'ee/spec/controllers/projects/subscriptions_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/welcome_controller_spec.rb'
|
||||
- 'ee/spec/controllers/subscriptions/groups_controller_spec.rb'
|
||||
- 'ee/spec/controllers/subscriptions_controller_spec.rb'
|
||||
|
@ -1979,13 +1974,11 @@ Layout/LineLength:
|
|||
- 'ee/spec/features/projects_spec.rb'
|
||||
- 'ee/spec/features/promotion_spec.rb'
|
||||
- 'ee/spec/features/read_only_spec.rb'
|
||||
- 'ee/spec/features/registrations/combined_registration_spec.rb'
|
||||
- 'ee/spec/features/search/elastic/global_search_spec.rb'
|
||||
- 'ee/spec/features/search/elastic/project_search_spec.rb'
|
||||
- 'ee/spec/features/search/elastic/snippet_search_spec.rb'
|
||||
- 'ee/spec/features/subscriptions_spec.rb'
|
||||
- 'ee/spec/features/trial_registrations/company_information_spec.rb'
|
||||
- 'ee/spec/features/uncompleted_learn_gitlab_link_spec.rb'
|
||||
- 'ee/spec/features/users/login_spec.rb'
|
||||
- 'ee/spec/finders/analytics/devops_adoption/enabled_namespaces_finder_spec.rb'
|
||||
- 'ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb'
|
||||
|
@ -2960,8 +2953,6 @@ Layout/LineLength:
|
|||
- 'ee/spec/support/shared_examples/controllers/analytics/cycle_analytics/shared_stage_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/concerns/description_diff_actions_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/projects/license_scanning_report_comparison_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/registrations/groups_controller_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/registrations/projects_controller_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/features/epics_filtered_search_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/features/over_free_user_limit_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/features/protected_branches_access_control_shared_examples.rb'
|
||||
|
@ -3017,7 +3008,6 @@ Layout/LineLength:
|
|||
- 'ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb'
|
||||
- 'ee/spec/views/operations/environments.html.haml_spec.rb'
|
||||
- 'ee/spec/views/projects/security/discover/show.html.haml_spec.rb'
|
||||
- 'ee/spec/views/registrations/groups_projects/new.html.haml_spec.rb'
|
||||
- 'ee/spec/views/registrations/welcome/show.html.haml_spec.rb'
|
||||
- 'ee/spec/views/shared/_mirror_status.html.haml_spec.rb'
|
||||
- 'ee/spec/views/shared/_namespace_user_cap_reached_alert.html.haml_spec.rb'
|
||||
|
@ -3675,7 +3665,6 @@ Layout/LineLength:
|
|||
- 'qa/qa/ee/page/project/secure/security_dashboard.rb'
|
||||
- 'qa/qa/ee/page/project/secure/show.rb'
|
||||
- 'qa/qa/ee/resource/license.rb'
|
||||
- 'qa/qa/fixtures/auto_devops_rack/config.ru'
|
||||
- 'qa/qa/flow/sign_up.rb'
|
||||
- 'qa/qa/git/repository.rb'
|
||||
- 'qa/qa/page/base.rb'
|
||||
|
@ -5169,7 +5158,6 @@ Layout/LineLength:
|
|||
- 'spec/lib/grafana/validator_spec.rb'
|
||||
- 'spec/lib/kramdown/kramdown_spec.rb'
|
||||
- 'spec/lib/kramdown/parser/atlassian_document_format_spec.rb'
|
||||
- 'spec/lib/learn_gitlab/project_spec.rb'
|
||||
- 'spec/lib/mattermost/command_spec.rb'
|
||||
- 'spec/lib/microsoft_teams/notifier_spec.rb'
|
||||
- 'spec/lib/object_storage/config_spec.rb'
|
||||
|
@ -5292,7 +5280,6 @@ Layout/LineLength:
|
|||
- 'spec/models/ci/instance_variable_spec.rb'
|
||||
- 'spec/models/ci/job_artifact_spec.rb'
|
||||
- 'spec/models/ci/job_token/scope_spec.rb'
|
||||
- 'spec/models/ci/namespace_mirror_spec.rb'
|
||||
- 'spec/models/ci/pipeline_schedule_spec.rb'
|
||||
- 'spec/models/ci/pipeline_spec.rb'
|
||||
- 'spec/models/ci/processable_spec.rb'
|
||||
|
@ -5404,7 +5391,6 @@ Layout/LineLength:
|
|||
- 'spec/models/namespace_statistics_spec.rb'
|
||||
- 'spec/models/note_spec.rb'
|
||||
- 'spec/models/notification_setting_spec.rb'
|
||||
- 'spec/models/onboarding_progress_spec.rb'
|
||||
- 'spec/models/packages/composer/cache_file_spec.rb'
|
||||
- 'spec/models/packages/composer/metadatum_spec.rb'
|
||||
- 'spec/models/packages/conan/metadatum_spec.rb'
|
||||
|
|
|
@ -96,7 +96,6 @@ Layout/SpaceInLambdaLiteral:
|
|||
- 'app/models/namespace_statistics.rb'
|
||||
- 'app/models/note.rb'
|
||||
- 'app/models/note_diff_file.rb'
|
||||
- 'app/models/onboarding_progress.rb'
|
||||
- 'app/models/operations/feature_flags/user_list.rb'
|
||||
- 'app/models/packages/build_info.rb'
|
||||
- 'app/models/packages/maven/metadatum.rb'
|
||||
|
|
|
@ -1,134 +0,0 @@
|
|||
---
|
||||
# Cop supports --auto-correct.
|
||||
Layout/SpaceInsideBlockBraces:
|
||||
Exclude:
|
||||
- 'spec/config/settings_spec.rb'
|
||||
- 'spec/controllers/admin/application_settings_controller_spec.rb'
|
||||
- 'spec/controllers/application_controller_spec.rb'
|
||||
- 'spec/controllers/groups/labels_controller_spec.rb'
|
||||
- 'spec/controllers/groups/releases_controller_spec.rb'
|
||||
- 'spec/controllers/import/manifest_controller_spec.rb'
|
||||
- 'spec/controllers/projects/blame_controller_spec.rb'
|
||||
- 'spec/controllers/projects/deploy_keys_controller_spec.rb'
|
||||
- 'spec/controllers/projects/feature_flags_controller_spec.rb'
|
||||
- 'spec/controllers/projects/jobs_controller_spec.rb'
|
||||
- 'spec/controllers/projects/labels_controller_spec.rb'
|
||||
- 'spec/controllers/projects/notes_controller_spec.rb'
|
||||
- 'spec/controllers/projects/releases_controller_spec.rb'
|
||||
- 'spec/controllers/projects/tree_controller_spec.rb'
|
||||
- 'spec/controllers/registrations/welcome_controller_spec.rb'
|
||||
- 'spec/controllers/snippets/notes_controller_spec.rb'
|
||||
- 'spec/dependencies/omniauth_saml_spec.rb'
|
||||
- 'spec/experiments/application_experiment_spec.rb'
|
||||
- 'spec/factories/ci/build_trace_chunks.rb'
|
||||
- 'spec/factories/ci/job_artifacts.rb'
|
||||
- 'spec/factories/ci/pipeline_artifacts.rb'
|
||||
- 'spec/factories/commit_statuses.rb'
|
||||
- 'spec/factories/emails.rb'
|
||||
- 'spec/factories/external_pull_requests.rb'
|
||||
- 'spec/factories/gitlab/database/postgres_index.rb'
|
||||
- 'spec/factories/packages/dependencies.rb'
|
||||
- 'spec/factories/packages/package_tags.rb'
|
||||
- 'spec/factories/packages/packages.rb'
|
||||
- 'spec/factories/prometheus_alert.rb'
|
||||
- 'spec/factories/prometheus_metrics.rb'
|
||||
- 'spec/finders/ci/jobs_finder_spec.rb'
|
||||
- 'spec/finders/ci/runners_finder_spec.rb'
|
||||
- 'spec/finders/concerns/packages/finder_helper_spec.rb'
|
||||
- 'spec/finders/container_repositories_finder_spec.rb'
|
||||
- 'spec/finders/design_management/versions_finder_spec.rb'
|
||||
- 'spec/finders/milestones_finder_spec.rb'
|
||||
- 'spec/finders/packages/group_packages_finder_spec.rb'
|
||||
- 'spec/finders/packages/npm/package_finder_spec.rb'
|
||||
- 'spec/finders/projects_finder_spec.rb'
|
||||
- 'spec/frontend/fixtures/api_merge_requests.rb'
|
||||
- 'spec/frontend/fixtures/api_projects.rb'
|
||||
- 'spec/frontend/fixtures/application_settings.rb'
|
||||
- 'spec/frontend/fixtures/blob.rb'
|
||||
- 'spec/frontend/fixtures/branches.rb'
|
||||
- 'spec/frontend/fixtures/clusters.rb'
|
||||
- 'spec/frontend/fixtures/deploy_keys.rb'
|
||||
- 'spec/frontend/fixtures/groups.rb'
|
||||
- 'spec/frontend/fixtures/issues.rb'
|
||||
- 'spec/frontend/fixtures/jobs.rb'
|
||||
- 'spec/frontend/fixtures/labels.rb'
|
||||
- 'spec/frontend/fixtures/merge_requests.rb'
|
||||
- 'spec/frontend/fixtures/merge_requests_diffs.rb'
|
||||
- 'spec/frontend/fixtures/metrics_dashboard.rb'
|
||||
- 'spec/frontend/fixtures/pipeline_schedules.rb'
|
||||
- 'spec/frontend/fixtures/pipelines.rb'
|
||||
- 'spec/frontend/fixtures/projects.rb'
|
||||
- 'spec/frontend/fixtures/raw.rb'
|
||||
- 'spec/frontend/fixtures/snippet.rb'
|
||||
- 'spec/frontend/fixtures/todos.rb'
|
||||
- 'spec/helpers/application_settings_helper_spec.rb'
|
||||
- 'spec/helpers/blob_helper_spec.rb'
|
||||
- 'spec/helpers/gitlab_script_tag_helper_spec.rb'
|
||||
- 'spec/helpers/issuables_helper_spec.rb'
|
||||
- 'spec/helpers/projects/pipeline_helper_spec.rb'
|
||||
- 'spec/helpers/routing/pseudonymization_helper_spec.rb'
|
||||
- 'spec/helpers/search_helper_spec.rb'
|
||||
- 'spec/helpers/wiki_page_version_helper_spec.rb'
|
||||
- 'spec/initializers/carrierwave_patch_spec.rb'
|
||||
- 'spec/initializers/trusted_proxies_spec.rb'
|
||||
- 'spec/mailers/emails/service_desk_spec.rb'
|
||||
- 'spec/migrations/20210812013042_remove_duplicate_project_authorizations_spec.rb'
|
||||
- 'spec/migrations/20210910194952_update_report_type_for_existing_approval_project_rules_spec.rb'
|
||||
- 'spec/migrations/confirm_support_bot_user_spec.rb'
|
||||
- 'spec/migrations/reset_job_token_scope_enabled_again_spec.rb'
|
||||
- 'spec/migrations/reset_job_token_scope_enabled_spec.rb'
|
||||
- 'spec/migrations/reset_severity_levels_to_new_default_spec.rb'
|
||||
- 'spec/policies/clusters/agent_policy_spec.rb'
|
||||
- 'spec/policies/group_member_policy_spec.rb'
|
||||
- 'spec/policies/issue_policy_spec.rb'
|
||||
- 'spec/policies/project_policy_spec.rb'
|
||||
- 'spec/policies/terraform/state_policy_spec.rb'
|
||||
- 'spec/policies/terraform/state_version_policy_spec.rb'
|
||||
- 'spec/presenters/packages/composer/packages_presenter_spec.rb'
|
||||
- 'spec/presenters/packages/conan/package_presenter_spec.rb'
|
||||
- 'spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb'
|
||||
- 'spec/presenters/project_presenter_spec.rb'
|
||||
- 'spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb'
|
||||
- 'spec/serializers/cluster_entity_spec.rb'
|
||||
- 'spec/serializers/import/provider_repo_serializer_spec.rb'
|
||||
- 'spec/support/helpers/cycle_analytics_helpers.rb'
|
||||
- 'spec/support/redis/redis_shared_examples.rb'
|
||||
- 'spec/support/shared_contexts/graphql/requests/packages_shared_context.rb'
|
||||
- 'spec/support/shared_contexts/markdown_golden_master_shared_examples.rb'
|
||||
- 'spec/support/shared_contexts/requests/api/conan_packages_shared_context.rb'
|
||||
- 'spec/support/shared_examples/controllers/error_tracking_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/controllers/snippets_sort_order_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/features/board_sidebar_labels_examples.rb'
|
||||
- 'spec/support/shared_examples/features/snippets_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/features/wiki/user_views_asciidoc_page_with_includes_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/models/cluster_application_core_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/models/concerns/analytics/cycle_analytics/stage_event_model_examples.rb'
|
||||
- 'spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/models/label_note_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/models/packages/debian/distribution_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/models/project_latest_successful_build_for_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/requests/api/issues/merge_requests_count_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/requests/api/labels_api_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/requests/api/repository_storage_moves_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/requests/lfs_http_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/services/alert_management/alert_processing/alert_firing_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/services/boards/issues_move_service_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/services/gitlab_projects_import_service_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/services/merge_request_shared_examples.rb'
|
||||
- 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb'
|
||||
- 'spec/tasks/gitlab/snippets_rake_spec.rb'
|
||||
- 'spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb'
|
||||
- 'spec/validators/addressable_url_validator_spec.rb'
|
||||
- 'spec/views/help/instance_configuration.html.haml_spec.rb'
|
||||
- 'spec/views/layouts/_header_search.html.haml_spec.rb'
|
||||
- 'spec/views/layouts/_published_experiments.html.haml_spec.rb'
|
||||
- 'spec/views/shared/runners/_runner_details.html.haml_spec.rb'
|
||||
- 'spec/workers/bulk_imports/export_request_worker_spec.rb'
|
||||
- 'spec/workers/clusters/cleanup/project_namespace_worker_spec.rb'
|
||||
- 'spec/workers/packages/helm/extraction_worker_spec.rb'
|
||||
- 'spec/workers/pages_worker_spec.rb'
|
||||
- 'spec/workers/purge_dependency_proxy_cache_worker_spec.rb'
|
||||
- 'spec/workers/releases/manage_evidence_worker_spec.rb'
|
|
@ -26,7 +26,6 @@ Migration/BackgroundMigrationBaseClass:
|
|||
- 'lib/gitlab/background_migration/backfill_work_item_type_id_for_issues.rb'
|
||||
- 'lib/gitlab/background_migration/cleanup_draft_data_from_faulty_regex.rb'
|
||||
- 'lib/gitlab/background_migration/cleanup_orphaned_lfs_objects_projects.rb'
|
||||
- 'lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans.rb'
|
||||
- 'lib/gitlab/background_migration/create_security_setting.rb'
|
||||
- 'lib/gitlab/background_migration/delete_orphaned_deployments.rb'
|
||||
- 'lib/gitlab/background_migration/disable_expiration_policies_linked_to_no_container_images.rb'
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
# Cop supports --auto-correct.
|
||||
Rails/ApplicationController:
|
||||
Exclude:
|
||||
- 'app/controllers/acme_challenges_controller.rb'
|
||||
- 'app/controllers/chaos_controller.rb'
|
||||
- 'app/controllers/health_controller.rb'
|
||||
- 'app/controllers/metrics_controller.rb'
|
||||
- 'ee/app/controllers/oauth/geo_auth_controller.rb'
|
||||
- 'ee/spec/helpers/ee/integrations_helper_spec.rb'
|
||||
- 'lib/gitlab/base_doorkeeper_controller.rb'
|
||||
- 'lib/gitlab/request_forgery_protection.rb'
|
||||
- 'spec/controllers/concerns/continue_params_spec.rb'
|
|
@ -66,7 +66,7 @@ Rails/HelperInstanceVariable:
|
|||
- 'ee/app/helpers/ee/groups/group_members_helper.rb'
|
||||
- 'ee/app/helpers/ee/groups_helper.rb'
|
||||
- 'ee/app/helpers/ee/integrations_helper.rb'
|
||||
- 'ee/app/helpers/ee/kerberos_spnego_helper.rb'
|
||||
- 'ee/app/helpers/ee/kerberos_helper.rb'
|
||||
- 'ee/app/helpers/ee/labels_helper.rb'
|
||||
- 'ee/app/helpers/ee/lock_helper.rb'
|
||||
- 'ee/app/helpers/ee/merge_requests_helper.rb'
|
||||
|
|
|
@ -43,7 +43,6 @@ Rails/IndexWith:
|
|||
- 'spec/lib/gitlab/import_export/model_configuration_spec.rb'
|
||||
- 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
|
||||
- 'spec/lib/google_api/cloud_platform/client_spec.rb'
|
||||
- 'spec/lib/learn_gitlab/onboarding_spec.rb'
|
||||
- 'spec/models/event_spec.rb'
|
||||
- 'spec/presenters/projects/security/configuration_presenter_spec.rb'
|
||||
- 'spec/support/database/multiple_databases.rb'
|
||||
|
|
|
@ -136,7 +136,6 @@ Rails/SquishedSQLHeredocs:
|
|||
- 'lib/gitlab/background_migration/backfill_project_settings.rb'
|
||||
- 'lib/gitlab/background_migration/backfill_projects_with_coverage.rb'
|
||||
- 'lib/gitlab/background_migration/backfill_upvotes_count_on_issues.rb'
|
||||
- 'lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans.rb'
|
||||
- 'lib/gitlab/background_migration/disable_expiration_policies_linked_to_no_container_images.rb'
|
||||
- 'lib/gitlab/background_migration/encrypt_static_object_token.rb'
|
||||
- 'lib/gitlab/background_migration/fix_duplicate_project_name_and_path.rb'
|
||||
|
|
|
@ -19,7 +19,6 @@ Rails/WhereExists:
|
|||
- 'app/models/lfs_object.rb'
|
||||
- 'app/models/merge_request_diff.rb'
|
||||
- 'app/models/namespace.rb'
|
||||
- 'app/models/onboarding_progress.rb'
|
||||
- 'app/models/project.rb'
|
||||
- 'app/models/protected_branch/push_access_level.rb'
|
||||
- 'app/services/projects/transfer_service.rb'
|
||||
|
|
|
@ -73,7 +73,7 @@ RSpec/AnyInstanceOf:
|
|||
- ee/spec/requests/api/projects_spec.rb
|
||||
- ee/spec/requests/git_http_spec.rb
|
||||
- ee/spec/requests/groups_controller_spec.rb
|
||||
- ee/spec/requests/omniauth_kerberos_spnego_spec.rb
|
||||
- ee/spec/requests/omniauth_kerberos_spec.rb
|
||||
- ee/spec/requests/repositories/git_http_controller_spec.rb
|
||||
- ee/spec/services/ee/git/branch_push_service_spec.rb
|
||||
- ee/spec/services/ee/merge_requests/create_from_vulnerability_data_service_spec.rb
|
||||
|
|
|
@ -64,7 +64,6 @@ RSpec/ContextWording:
|
|||
- 'ee/spec/controllers/projects/settings/repository_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/welcome_controller_spec.rb'
|
||||
- 'ee/spec/controllers/repositories/git_http_controller_spec.rb'
|
||||
- 'ee/spec/controllers/security/dashboard_controller_spec.rb'
|
||||
|
@ -921,8 +920,6 @@ RSpec/ContextWording:
|
|||
- 'ee/spec/support/shared_examples/controllers/boards_actions_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/cluster_metrics_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/concerns/description_diff_actions_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/registrations/groups_controller_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/registrations/projects_controller_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/features/insights_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/features/password_complexity_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/features/protected_branches_access_control_shared_examples.rb'
|
||||
|
@ -968,7 +965,6 @@ RSpec/ContextWording:
|
|||
- 'ee/spec/views/profiles/preferences/show.html.haml_spec.rb'
|
||||
- 'ee/spec/views/projects/edit.html.haml_spec.rb'
|
||||
- 'ee/spec/views/projects/security/discover/show.html.haml_spec.rb'
|
||||
- 'ee/spec/views/registrations/groups/new.html.haml_spec.rb'
|
||||
- 'ee/spec/views/registrations/welcome/show.html.haml_spec.rb'
|
||||
- 'ee/spec/views/search/_category.html.haml_spec.rb'
|
||||
- 'ee/spec/views/shared/_clone_panel.html.haml_spec.rb'
|
||||
|
@ -2470,7 +2466,6 @@ RSpec/ContextWording:
|
|||
- 'spec/models/note_spec.rb'
|
||||
- 'spec/models/notification_recipient_spec.rb'
|
||||
- 'spec/models/notification_setting_spec.rb'
|
||||
- 'spec/models/onboarding_progress_spec.rb'
|
||||
- 'spec/models/operations/feature_flag_spec.rb'
|
||||
- 'spec/models/packages/conan/file_metadatum_spec.rb'
|
||||
- 'spec/models/packages/debian/file_metadatum_spec.rb'
|
||||
|
|
282
.rubocop_todo/rspec/described_class.yml
Normal file
282
.rubocop_todo/rspec/described_class.yml
Normal file
|
@ -0,0 +1,282 @@
|
|||
---
|
||||
# Cop supports --auto-correct.
|
||||
RSpec/DescribedClass:
|
||||
Exclude:
|
||||
- 'ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb'
|
||||
- 'ee/spec/controllers/concerns/registrations/verification_spec.rb'
|
||||
- 'ee/spec/controllers/concerns/routable_actions_spec.rb'
|
||||
- 'ee/spec/controllers/repositories/git_http_controller_spec.rb'
|
||||
- 'ee/spec/frontend/fixtures/epic.rb'
|
||||
- 'ee/spec/graphql/ee/types/todoable_interface_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/background_migration/migrate_shared_vulnerability_scanners_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/elastic/helper_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/git_access_snippet_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/auth/saml/config_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/checks/changes_access_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/geo/log_helpers_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/geo/replicator_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/geo_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/gl_repository/repo_type_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/instrumentation/elasticsearch_transport_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/vulnerabilities/findings_preloader_spec.rb'
|
||||
- 'ee/spec/lib/omni_auth/strategies/group_saml_spec.rb'
|
||||
- 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb'
|
||||
- 'ee/spec/models/ci/processable_spec.rb'
|
||||
- 'ee/spec/models/concerns/elastic/issue_spec.rb'
|
||||
- 'ee/spec/models/concerns/elastic/merge_request_spec.rb'
|
||||
- 'ee/spec/models/concerns/elastic/note_spec.rb'
|
||||
- 'ee/spec/models/concerns/elastic/project_spec.rb'
|
||||
- 'ee/spec/models/concerns/elastic/repository_spec.rb'
|
||||
- 'ee/spec/models/concerns/elastic/snippet_spec.rb'
|
||||
- 'ee/spec/models/dast_scanner_profile_spec.rb'
|
||||
- 'ee/spec/models/dast_site_profile_spec.rb'
|
||||
- 'ee/spec/models/ee/ci/job_artifact_spec.rb'
|
||||
- 'ee/spec/models/ee/ci/pending_build_spec.rb'
|
||||
- 'ee/spec/models/ee/ci/runner_spec.rb'
|
||||
- 'ee/spec/models/ee/gpg_key_spec.rb'
|
||||
- 'ee/spec/models/ee/group_spec.rb'
|
||||
- 'ee/spec/models/ee/iteration_spec.rb'
|
||||
- 'ee/spec/models/ee/merge_request_diff_spec.rb'
|
||||
- 'ee/spec/models/ee/namespace/storage/notification_spec.rb'
|
||||
- 'ee/spec/models/ee/vulnerability_spec.rb'
|
||||
- 'ee/spec/models/epic_issue_spec.rb'
|
||||
- 'ee/spec/models/epic_spec.rb'
|
||||
- 'ee/spec/models/geo/container_repository_registry_spec.rb'
|
||||
- 'ee/spec/models/geo/design_registry_spec.rb'
|
||||
- 'ee/spec/models/geo/package_file_registry_spec.rb'
|
||||
- 'ee/spec/models/geo/project_registry_spec.rb'
|
||||
- 'ee/spec/models/geo/secondary_usage_data_spec.rb'
|
||||
- 'ee/spec/models/incident_management/escalation_policy_spec.rb'
|
||||
- 'ee/spec/models/issuable_metric_image_spec.rb'
|
||||
- 'ee/spec/models/issue_spec.rb'
|
||||
- 'ee/spec/models/license_spec.rb'
|
||||
- 'ee/spec/models/merge_train_spec.rb'
|
||||
- 'ee/spec/models/plan_spec.rb'
|
||||
- 'ee/spec/models/project_import_state_spec.rb'
|
||||
- 'ee/spec/models/project_spec.rb'
|
||||
- 'ee/spec/models/release_highlight_spec.rb'
|
||||
- 'ee/spec/models/requirements_management/requirement_spec.rb'
|
||||
- 'ee/spec/models/requirements_management/test_report_spec.rb'
|
||||
- 'ee/spec/models/resource_weight_event_spec.rb'
|
||||
- 'ee/spec/models/uploads/local_spec.rb'
|
||||
- 'ee/spec/models/vulnerabilities/finding_spec.rb'
|
||||
- 'ee/spec/models/vulnerabilities/flag_spec.rb'
|
||||
- 'ee/spec/models/vulnerabilities/read_spec.rb'
|
||||
- 'ee/spec/services/arkose/blocked_users_report_service_spec.rb'
|
||||
- 'ee/spec/services/arkose/user_verification_service_spec.rb'
|
||||
- 'ee/spec/services/ee/resource_events/synthetic_weight_notes_builder_service_spec.rb'
|
||||
- 'ee/spec/services/ee/users/reject_service_spec.rb'
|
||||
- 'ee/spec/services/resource_access_tokens/create_service_spec.rb'
|
||||
- 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb'
|
||||
- 'ee/spec/services/users/captcha_challenge_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb'
|
||||
- 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb'
|
||||
- 'ee/spec/workers/elastic/migration_worker_spec.rb'
|
||||
- 'ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb'
|
||||
- 'ee/spec/workers/geo/verification_state_backfill_worker_spec.rb'
|
||||
- 'qa/spec/service/docker_run/base_spec.rb'
|
||||
- 'qa/spec/support/formatters/test_stats_formatter_spec.rb'
|
||||
- 'qa/spec/support/loglinking_spec.rb'
|
||||
- 'qa/spec/support/page_error_checker_spec.rb'
|
||||
- 'spec/config/settings_spec.rb'
|
||||
- 'spec/controllers/concerns/confirm_email_warning_spec.rb'
|
||||
- 'spec/controllers/concerns/controller_with_cross_project_access_check_spec.rb'
|
||||
- 'spec/controllers/concerns/enforces_admin_authentication_spec.rb'
|
||||
- 'spec/controllers/concerns/graceful_timeout_handling_spec.rb'
|
||||
- 'spec/controllers/concerns/group_tree_spec.rb'
|
||||
- 'spec/controllers/concerns/metrics_dashboard_spec.rb'
|
||||
- 'spec/controllers/concerns/product_analytics_tracking_spec.rb'
|
||||
- 'spec/controllers/concerns/redirects_for_missing_path_on_tree_spec.rb'
|
||||
- 'spec/controllers/concerns/redis_tracking_spec.rb'
|
||||
- 'spec/controllers/concerns/renders_commits_spec.rb'
|
||||
- 'spec/controllers/concerns/routable_actions_spec.rb'
|
||||
- 'spec/controllers/concerns/sourcegraph_decorator_spec.rb'
|
||||
- 'spec/controllers/concerns/spammable_actions/akismet_mark_as_spam_action_spec.rb'
|
||||
- 'spec/controllers/concerns/spammable_actions/captcha_check/html_format_actions_support_spec.rb'
|
||||
- 'spec/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support_spec.rb'
|
||||
- 'spec/controllers/concerns/static_object_external_storage_spec.rb'
|
||||
- 'spec/controllers/repositories/git_http_controller_spec.rb'
|
||||
- 'spec/experiments/application_experiment_spec.rb'
|
||||
- 'spec/experiments/concerns/project_commit_count_spec.rb'
|
||||
- 'spec/frontend/fixtures/metrics_dashboard.rb'
|
||||
- 'spec/frontend/fixtures/timezones.rb'
|
||||
- 'spec/frontend/fixtures/u2f.rb'
|
||||
- 'spec/frontend/fixtures/webauthn.rb'
|
||||
- 'spec/graphql/gitlab_schema_spec.rb'
|
||||
- 'spec/graphql/graphql_triggers_spec.rb'
|
||||
- 'spec/graphql/types/global_id_type_spec.rb'
|
||||
- 'spec/initializers/google_api_client_spec.rb'
|
||||
- 'spec/lib/api/entities/project_spec.rb'
|
||||
- 'spec/lib/api/helpers_spec.rb'
|
||||
- 'spec/lib/bulk_imports/groups/stage_spec.rb'
|
||||
- 'spec/lib/bulk_imports/projects/stage_spec.rb'
|
||||
- 'spec/lib/expand_variables_spec.rb'
|
||||
- 'spec/lib/feature_spec.rb'
|
||||
- 'spec/lib/gitlab/application_context_spec.rb'
|
||||
- 'spec/lib/gitlab/asciidoc/html5_converter_spec.rb'
|
||||
- 'spec/lib/gitlab/buffered_io_spec.rb'
|
||||
- 'spec/lib/gitlab/checks/snippet_check_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/tags/bulk_insert_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/trace/chunked_io_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/variables/collection/item_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/variables/collection/sort_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/variables/collection_spec.rb'
|
||||
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
|
||||
- 'spec/lib/gitlab/config/entry/composable_array_spec.rb'
|
||||
- 'spec/lib/gitlab/config/entry/composable_hash_spec.rb'
|
||||
- 'spec/lib/gitlab/current_settings_spec.rb'
|
||||
- 'spec/lib/gitlab/database/background_migration/health_status_spec.rb'
|
||||
- 'spec/lib/gitlab/database/load_balancing/host_spec.rb'
|
||||
- 'spec/lib/gitlab/database/load_balancing/primary_host_spec.rb'
|
||||
- 'spec/lib/gitlab/database/migrations/lock_retry_mixin_spec.rb'
|
||||
- 'spec/lib/gitlab/database/query_analyzers/gitlab_schemas_validate_connection_spec.rb'
|
||||
- 'spec/lib/gitlab/database/reindexing_spec.rb'
|
||||
- 'spec/lib/gitlab/database/similarity_score_spec.rb'
|
||||
- 'spec/lib/gitlab/database_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/hook/smime_signature_interceptor_spec.rb'
|
||||
- 'spec/lib/gitlab/encrypted_configuration_spec.rb'
|
||||
- 'spec/lib/gitlab/error_tracking/logger_spec.rb'
|
||||
- 'spec/lib/gitlab/experimentation/controller_concern_spec.rb'
|
||||
- 'spec/lib/gitlab/git/blame_spec.rb'
|
||||
- 'spec/lib/gitlab/git/blob_spec.rb'
|
||||
- 'spec/lib/gitlab/git/commit_spec.rb'
|
||||
- 'spec/lib/gitlab/git/compare_spec.rb'
|
||||
- 'spec/lib/gitlab/git/diff_collection_spec.rb'
|
||||
- 'spec/lib/gitlab/git/repository_spec.rb'
|
||||
- 'spec/lib/gitlab/git/tree_spec.rb'
|
||||
- 'spec/lib/gitlab/git_access_snippet_spec.rb'
|
||||
- 'spec/lib/gitlab/gl_repository/repo_type_spec.rb'
|
||||
- 'spec/lib/gitlab/import_formatter_spec.rb'
|
||||
- 'spec/lib/gitlab/inactive_projects_deletion_warning_tracker_spec.rb'
|
||||
- 'spec/lib/gitlab/kubernetes/kube_client_spec.rb'
|
||||
- 'spec/lib/gitlab/no_cache_headers_spec.rb'
|
||||
- 'spec/lib/gitlab/pagination/keyset/order_spec.rb'
|
||||
- 'spec/lib/gitlab/relative_positioning/range_spec.rb'
|
||||
- 'spec/lib/gitlab/runtime_spec.rb'
|
||||
- 'spec/lib/gitlab/search_context/controller_concern_spec.rb'
|
||||
- 'spec/lib/gitlab/seeder_spec.rb'
|
||||
- 'spec/lib/gitlab/serverless/service_spec.rb'
|
||||
- 'spec/lib/gitlab/sidekiq_middleware/size_limiter/client_spec.rb'
|
||||
- 'spec/lib/gitlab/suggestions/commit_message_spec.rb'
|
||||
- 'spec/lib/gitlab/usage/metrics/aggregates/sources/redis_hll_spec.rb'
|
||||
- 'spec/lib/gitlab/utils/measuring_spec.rb'
|
||||
- 'spec/lib/gitlab/webpack/file_loader_spec.rb'
|
||||
- 'spec/lib/gitlab/webpack/manifest_spec.rb'
|
||||
- 'spec/lib/gitlab/x509/commit_spec.rb'
|
||||
- 'spec/lib/gitlab/x509/signature_spec.rb'
|
||||
- 'spec/lib/peek/views/active_record_spec.rb'
|
||||
- 'spec/lib/service_ping/devops_report_spec.rb'
|
||||
- 'spec/lib/sidebars/panel_spec.rb'
|
||||
- 'spec/mailers/emails/service_desk_spec.rb'
|
||||
- 'spec/metrics_server/metrics_server_spec.rb'
|
||||
- 'spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb'
|
||||
- 'spec/models/active_session_spec.rb'
|
||||
- 'spec/models/alert_management/alert_spec.rb'
|
||||
- 'spec/models/application_record_spec.rb'
|
||||
- 'spec/models/application_setting_spec.rb'
|
||||
- 'spec/models/awareness_session_spec.rb'
|
||||
- 'spec/models/broadcast_message_spec.rb'
|
||||
- 'spec/models/chat_name_spec.rb'
|
||||
- 'spec/models/ci/build_runner_session_spec.rb'
|
||||
- 'spec/models/ci/build_spec.rb'
|
||||
- 'spec/models/ci/group_variable_spec.rb'
|
||||
- 'spec/models/ci/job_artifact_spec.rb'
|
||||
- 'spec/models/ci/namespace_mirror_spec.rb'
|
||||
- 'spec/models/ci/pipeline_artifact_spec.rb'
|
||||
- 'spec/models/ci/pipeline_spec.rb'
|
||||
- 'spec/models/ci/processable_spec.rb'
|
||||
- 'spec/models/ci/ref_spec.rb'
|
||||
- 'spec/models/ci/variable_spec.rb'
|
||||
- 'spec/models/ci_platform_metric_spec.rb'
|
||||
- 'spec/models/clusters/cluster_spec.rb'
|
||||
- 'spec/models/commit_spec.rb'
|
||||
- 'spec/models/commit_status_spec.rb'
|
||||
- 'spec/models/concerns/blocks_unsafe_serialization_spec.rb'
|
||||
- 'spec/models/concerns/bulk_insertable_associations_spec.rb'
|
||||
- 'spec/models/concerns/counter_attribute_spec.rb'
|
||||
- 'spec/models/concerns/has_user_type_spec.rb'
|
||||
- 'spec/models/concerns/integrations/enable_ssl_verification_spec.rb'
|
||||
- 'spec/models/concerns/integrations/reset_secret_fields_spec.rb'
|
||||
- 'spec/models/concerns/issuable_spec.rb'
|
||||
- 'spec/models/concerns/mentionable_spec.rb'
|
||||
- 'spec/models/concerns/resolvable_note_spec.rb'
|
||||
- 'spec/models/concerns/token_authenticatable_spec.rb'
|
||||
- 'spec/models/customer_relations/contact_spec.rb'
|
||||
- 'spec/models/customer_relations/organization_spec.rb'
|
||||
- 'spec/models/dependency_proxy/manifest_spec.rb'
|
||||
- 'spec/models/deployment_spec.rb'
|
||||
- 'spec/models/experiment_spec.rb'
|
||||
- 'spec/models/group_spec.rb'
|
||||
- 'spec/models/import_failure_spec.rb'
|
||||
- 'spec/models/integration_spec.rb'
|
||||
- 'spec/models/internal_id_spec.rb'
|
||||
- 'spec/models/issue_assignee_spec.rb'
|
||||
- 'spec/models/issue_spec.rb'
|
||||
- 'spec/models/jira_import_state_spec.rb'
|
||||
- 'spec/models/label_link_spec.rb'
|
||||
- 'spec/models/lfs_objects_project_spec.rb'
|
||||
- 'spec/models/loose_foreign_keys/deleted_record_spec.rb'
|
||||
- 'spec/models/member_spec.rb'
|
||||
- 'spec/models/merge_request_assignee_spec.rb'
|
||||
- 'spec/models/merge_request_diff_commit_spec.rb'
|
||||
- 'spec/models/merge_request_diff_file_spec.rb'
|
||||
- 'spec/models/merge_request_spec.rb'
|
||||
- 'spec/models/milestone_spec.rb'
|
||||
- 'spec/models/namespace_spec.rb'
|
||||
- 'spec/models/namespace_statistics_spec.rb'
|
||||
- 'spec/models/oauth_access_token_spec.rb'
|
||||
- 'spec/models/packages/dependency_spec.rb'
|
||||
- 'spec/models/packages/maven/metadatum_spec.rb'
|
||||
- 'spec/models/packages/package_spec.rb'
|
||||
- 'spec/models/pages_deployment_spec.rb'
|
||||
- 'spec/models/pages_domain_spec.rb'
|
||||
- 'spec/models/performance_monitoring/prometheus_dashboard_spec.rb'
|
||||
- 'spec/models/performance_monitoring/prometheus_metric_spec.rb'
|
||||
- 'spec/models/performance_monitoring/prometheus_panel_group_spec.rb'
|
||||
- 'spec/models/performance_monitoring/prometheus_panel_spec.rb'
|
||||
- 'spec/models/plan_spec.rb'
|
||||
- 'spec/models/postgresql/detached_partition_spec.rb'
|
||||
- 'spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb'
|
||||
- 'spec/models/preloaders/users_max_access_level_in_projects_preloader_spec.rb'
|
||||
- 'spec/models/project_feature_usage_spec.rb'
|
||||
- 'spec/models/project_setting_spec.rb'
|
||||
- 'spec/models/project_spec.rb'
|
||||
- 'spec/models/projects/topic_spec.rb'
|
||||
- 'spec/models/release_highlight_spec.rb'
|
||||
- 'spec/models/release_spec.rb'
|
||||
- 'spec/models/route_spec.rb'
|
||||
- 'spec/models/todo_spec.rb'
|
||||
- 'spec/models/u2f_registration_spec.rb'
|
||||
- 'spec/models/user_custom_attribute_spec.rb'
|
||||
- 'spec/models/user_preference_spec.rb'
|
||||
- 'spec/models/user_spec.rb'
|
||||
- 'spec/models/users/merge_request_interaction_spec.rb'
|
||||
- 'spec/models/users_statistics_spec.rb'
|
||||
- 'spec/models/wiki_directory_spec.rb'
|
||||
- 'spec/models/work_items/type_spec.rb'
|
||||
- 'spec/serializers/context_commits_diff_entity_spec.rb'
|
||||
- 'spec/services/alert_management/alerts/todo/create_service_spec.rb'
|
||||
- 'spec/services/auth/dependency_proxy_authentication_service_spec.rb'
|
||||
- 'spec/services/ci/register_job_service_spec.rb'
|
||||
- 'spec/services/incident_management/issuable_escalation_statuses/after_update_service_spec.rb'
|
||||
- 'spec/services/incident_management/issuable_escalation_statuses/prepare_update_service_spec.rb'
|
||||
- 'spec/services/issuable/process_assignees_spec.rb'
|
||||
- 'spec/services/loose_foreign_keys/cleaner_service_spec.rb'
|
||||
- 'spec/services/merge_requests/update_service_spec.rb'
|
||||
- 'spec/services/notification_service_spec.rb'
|
||||
- 'spec/services/projects/create_service_spec.rb'
|
||||
- 'spec/services/resource_access_tokens/create_service_spec.rb'
|
||||
- 'spec/services/resource_events/synthetic_label_notes_builder_service_spec.rb'
|
||||
- 'spec/services/service_ping/submit_service_ping_service_spec.rb'
|
||||
- 'spec/services/snippets/update_service_spec.rb'
|
||||
- 'spec/services/system_hooks_service_spec.rb'
|
||||
- 'spec/services/user_project_access_changed_service_spec.rb'
|
||||
- 'spec/services/webauthn/authenticate_service_spec.rb'
|
||||
- 'spec/services/webauthn/register_service_spec.rb'
|
||||
- 'spec/support_specs/helpers/active_record/query_recorder_spec.rb'
|
||||
- 'spec/support_specs/helpers/graphql_helpers_spec.rb'
|
||||
- 'spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb'
|
||||
- 'spec/validators/html_safety_validator_spec.rb'
|
||||
- 'spec/workers/bulk_imports/entity_worker_spec.rb'
|
||||
- 'spec/workers/jira_connect/retry_request_worker_spec.rb'
|
39
.rubocop_todo/rspec/empty_line_after_example_group.yml
Normal file
39
.rubocop_todo/rspec/empty_line_after_example_group.yml
Normal file
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
# Cop supports --auto-correct.
|
||||
RSpec/EmptyLineAfterExampleGroup:
|
||||
Exclude:
|
||||
- 'ee/spec/controllers/groups/clusters_controller_spec.rb'
|
||||
- 'ee/spec/controllers/groups/groups_controller_spec.rb'
|
||||
- 'ee/spec/features/projects/feature_flags/user_sees_feature_flag_list_spec.rb'
|
||||
- 'ee/spec/features/security/group/private_access_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/vulnerabilities/container_scanning_vulnerability_spec.rb'
|
||||
- 'ee/spec/services/ee/gpg_keys/create_service_spec.rb'
|
||||
- 'ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/confirm_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/dismiss_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/resolve_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerability_issue_links/create_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerability_issue_links/delete_service_spec.rb'
|
||||
- 'qa/spec/support/loglinking_spec.rb'
|
||||
- 'spec/controllers/explore/projects_controller_spec.rb'
|
||||
- 'spec/controllers/projects/notes_controller_spec.rb'
|
||||
- 'spec/factories/projects/ci_feature_usages.rb'
|
||||
- 'spec/features/security/group/internal_access_spec.rb'
|
||||
- 'spec/features/security/group/private_access_spec.rb'
|
||||
- 'spec/features/security/group/public_access_spec.rb'
|
||||
- 'spec/helpers/blob_helper_spec.rb'
|
||||
- 'spec/helpers/git_helper_spec.rb'
|
||||
- 'spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb'
|
||||
- 'spec/lib/gitlab/blob_helper_spec.rb'
|
||||
- 'spec/lib/gitlab/file_type_detection_spec.rb'
|
||||
- 'spec/lib/gitlab/git/repository_spec.rb'
|
||||
- 'spec/lib/gitlab/sidekiq_daemon/memory_killer_spec.rb'
|
||||
- 'spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb'
|
||||
- 'spec/models/note_spec.rb'
|
||||
- 'spec/models/project_feature_spec.rb'
|
||||
- 'spec/models/user_spec.rb'
|
||||
- 'spec/models/zoom_meeting_spec.rb'
|
||||
- 'spec/requests/api/graphql/project/issues_spec.rb'
|
||||
- 'spec/requests/api/projects_spec.rb'
|
||||
- 'spec/routing/project_routing_spec.rb'
|
|
@ -22,8 +22,6 @@ RSpec/ExpectChange:
|
|||
- 'ee/spec/controllers/projects/repositories_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/trials_controller_spec.rb'
|
||||
- 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb'
|
||||
- 'ee/spec/features/groups/group_settings_spec.rb'
|
||||
|
@ -245,7 +243,6 @@ RSpec/ExpectChange:
|
|||
- 'ee/spec/services/vulnerability_feedback/create_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerability_feedback/destroy_service_spec.rb'
|
||||
- 'ee/spec/support/shared_contexts/audit_event_not_licensed_shared_context.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/registrations/projects_controller_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/graphql/mutations/update_health_status_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/models/concerns/replicable_model_with_separate_table_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb'
|
||||
|
@ -431,6 +428,7 @@ RSpec/ExpectChange:
|
|||
- 'spec/models/project_auto_devops_spec.rb'
|
||||
- 'spec/models/project_import_state_spec.rb'
|
||||
- 'spec/models/project_spec.rb'
|
||||
- 'spec/models/project_statistics_spec.rb'
|
||||
- 'spec/models/projects/build_artifacts_size_refresh_spec.rb'
|
||||
- 'spec/models/projects/ci_feature_usage_spec.rb'
|
||||
- 'spec/models/release_spec.rb'
|
||||
|
@ -491,6 +489,7 @@ RSpec/ExpectChange:
|
|||
- 'spec/services/ci/create_downstream_pipeline_service_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service_spec.rb'
|
||||
- 'spec/services/ci/destroy_pipeline_service_spec.rb'
|
||||
- 'spec/services/ci/job_artifacts/delete_service_spec.rb'
|
||||
- 'spec/services/ci/job_artifacts/update_unknown_locked_status_service_spec.rb'
|
||||
- 'spec/services/ci/play_build_service_spec.rb'
|
||||
- 'spec/services/ci/process_build_service_spec.rb'
|
||||
|
|
|
@ -6,8 +6,6 @@ RSpec/ExpectInHook:
|
|||
- 'ee/spec/controllers/groups/seat_usage_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/boards_controller_spec.rb'
|
||||
- 'ee/spec/controllers/projects/settings/slacks_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_controller_spec.rb'
|
||||
- 'ee/spec/controllers/registrations/groups_projects_controller_spec.rb'
|
||||
- 'ee/spec/controllers/subscriptions_controller_spec.rb'
|
||||
- 'ee/spec/controllers/trials_controller_spec.rb'
|
||||
- 'ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb'
|
||||
|
@ -17,7 +15,6 @@ RSpec/ExpectInHook:
|
|||
- 'ee/spec/features/projects/feature_flags/user_creates_feature_flag_spec.rb'
|
||||
- 'ee/spec/features/projects/feature_flags/user_deletes_feature_flag_spec.rb'
|
||||
- 'ee/spec/features/projects/settings/ee/service_desk_setting_spec.rb'
|
||||
- 'ee/spec/features/registrations/combined_registration_spec.rb'
|
||||
- 'ee/spec/features/registrations/saas_user_registration_spec.rb'
|
||||
- 'ee/spec/features/registrations/trial_during_signup_flow_spec.rb'
|
||||
- 'ee/spec/features/signup_spec.rb'
|
||||
|
@ -35,7 +32,7 @@ RSpec/ExpectInHook:
|
|||
- 'ee/spec/helpers/ee/issues_helper_spec.rb'
|
||||
- 'ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb'
|
||||
- 'ee/spec/helpers/ee/welcome_helper_spec.rb'
|
||||
- 'ee/spec/helpers/kerberos_spnego_helper_spec.rb'
|
||||
- 'ee/spec/helpers/kerberos_helper_spec.rb'
|
||||
- 'ee/spec/helpers/vulnerabilities_helper_spec.rb'
|
||||
- 'ee/spec/lib/ee/api/helpers/members_helpers_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb'
|
||||
|
@ -72,7 +69,7 @@ RSpec/ExpectInHook:
|
|||
- 'ee/spec/requests/api/geo_spec.rb'
|
||||
- 'ee/spec/requests/api/internal/base_spec.rb'
|
||||
- 'ee/spec/requests/groups/analytics/devops_adoption_controller_spec.rb'
|
||||
- 'ee/spec/requests/omniauth_kerberos_spnego_spec.rb'
|
||||
- 'ee/spec/requests/omniauth_kerberos_spec.rb'
|
||||
- 'ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb'
|
||||
- 'ee/spec/services/app_sec/dast/profiles/update_service_spec.rb'
|
||||
- 'ee/spec/services/auto_merge/add_to_merge_train_when_pipeline_succeeds_service_spec.rb'
|
||||
|
@ -103,7 +100,6 @@ RSpec/ExpectInHook:
|
|||
- 'ee/spec/services/projects/update_mirror_service_spec.rb'
|
||||
- 'ee/spec/services/security/findings/cleanup_service_spec.rb'
|
||||
- 'ee/spec/services/upcoming_reconciliations/update_service_spec.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/registrations/projects_controller_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/lib/gitlab/graphql/issuables_lazy_links_aggregate_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/models/concerns/elastic/cannot_read_cross_project_shared_examples.rb'
|
||||
- 'ee/spec/support/shared_examples/models/concerns/verifiable_replicator_shared_examples.rb'
|
||||
|
@ -315,12 +311,10 @@ RSpec/ExpectInHook:
|
|||
- 'spec/lib/gitlab/verify/uploads_spec.rb'
|
||||
- 'spec/lib/gitlab/zentao/query_spec.rb'
|
||||
- 'spec/lib/gitlab_spec.rb'
|
||||
- 'spec/lib/learn_gitlab/onboarding_spec.rb'
|
||||
- 'spec/lib/omni_auth/strategies/jwt_spec.rb'
|
||||
- 'spec/lib/prometheus/pid_provider_spec.rb'
|
||||
- 'spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb'
|
||||
- 'spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb'
|
||||
- 'spec/lib/sidebars/projects/menus/learn_gitlab_menu_spec.rb'
|
||||
- 'spec/mailers/emails/service_desk_spec.rb'
|
||||
- 'spec/metrics_server/metrics_server_spec.rb'
|
||||
- 'spec/migrations/20210406144743_backfill_total_tuple_count_for_batched_migrations_spec.rb'
|
||||
|
|
16
.rubocop_todo/rspec/missing_example_group_argument.yml
Normal file
16
.rubocop_todo/rspec/missing_example_group_argument.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
RSpec/MissingExampleGroupArgument:
|
||||
Exclude:
|
||||
- 'ee/spec/controllers/groups/audit_events_controller_spec.rb'
|
||||
- 'ee/spec/services/ee/notification_service_spec.rb'
|
||||
- 'ee/spec/support/shared_examples/controllers/concerns/description_diff_actions_shared_examples.rb'
|
||||
- 'spec/controllers/projects/issues_controller_spec.rb'
|
||||
- 'spec/controllers/projects/merge_requests_controller_spec.rb'
|
||||
- 'spec/factories/projects/ci_feature_usages.rb'
|
||||
- 'spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb'
|
||||
- 'spec/lib/gitlab/git_access_spec.rb'
|
||||
- 'spec/policies/award_emoji_policy_spec.rb'
|
||||
- 'spec/requests/api/graphql/mutations/notes/create/diff_note_spec.rb'
|
||||
- 'spec/requests/api/graphql/mutations/notes/create/image_diff_note_spec.rb'
|
||||
- 'spec/services/notification_service_spec.rb'
|
||||
- 'spec/support/shared_examples/graphql/sorted_paginated_query_shared_examples.rb'
|
|
@ -340,6 +340,7 @@ RSpec/PredicateMatcher:
|
|||
- 'spec/models/concerns/awardable_spec.rb'
|
||||
- 'spec/models/concerns/chronic_duration_attribute_spec.rb'
|
||||
- 'spec/models/concerns/ci/has_deployment_name_spec.rb'
|
||||
- 'spec/models/concerns/counter_attribute_spec.rb'
|
||||
- 'spec/models/concerns/featurable_spec.rb'
|
||||
- 'spec/models/concerns/ignorable_columns_spec.rb'
|
||||
- 'spec/models/concerns/integrations/has_data_fields_spec.rb'
|
||||
|
|
24
.rubocop_todo/rspec/shared_examples.yml
Normal file
24
.rubocop_todo/rspec/shared_examples.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Cop supports --auto-correct.
|
||||
RSpec/SharedExamples:
|
||||
Exclude:
|
||||
- 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb'
|
||||
- 'ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
|
||||
- 'ee/spec/services/approval_rules/params_filtering_service_spec.rb'
|
||||
- 'spec/lib/banzai/filter/repository_link_filter_spec.rb'
|
||||
- 'spec/lib/gitlab/asciidoc_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler/create_issue_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb'
|
||||
- 'spec/lib/gitlab/email/receiver_spec.rb'
|
||||
- 'spec/lib/gitlab/git/tree_spec.rb'
|
||||
- 'spec/models/design_management/version_spec.rb'
|
||||
- 'spec/models/integrations/drone_ci_spec.rb'
|
||||
- 'spec/models/user_spec.rb'
|
||||
- 'spec/requests/api/graphql/project/issue/design_collection/version_spec.rb'
|
||||
- 'spec/rubocop/cop/performance/readlines_each_spec.rb'
|
||||
- 'spec/support/shared_contexts/email_shared_context.rb'
|
|
@ -41,7 +41,7 @@ RSpec/VerifiedDoubles:
|
|||
- ee/spec/helpers/ee/subscribable_banner_helper_spec.rb
|
||||
- ee/spec/helpers/ee/trial_helper_spec.rb
|
||||
- ee/spec/helpers/ee/trial_registration_helper_spec.rb
|
||||
- ee/spec/helpers/kerberos_spnego_helper_spec.rb
|
||||
- ee/spec/helpers/kerberos_helper_spec.rb
|
||||
- ee/spec/helpers/license_helper_spec.rb
|
||||
- ee/spec/helpers/roadmaps_helper_spec.rb
|
||||
- ee/spec/helpers/routing/pseudonymization_helper_spec.rb
|
||||
|
@ -90,7 +90,6 @@ RSpec/VerifiedDoubles:
|
|||
- ee/spec/lib/sidebars/groups/menus/analytics_menu_spec.rb
|
||||
- ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb
|
||||
- ee/spec/models/app_sec/fuzzing/api/ci_configuration_spec.rb
|
||||
- ee/spec/models/approvable_spec.rb
|
||||
- ee/spec/models/concerns/geo/verification_state_spec.rb
|
||||
- ee/spec/models/ee/ci/job_artifact_spec.rb
|
||||
- ee/spec/models/ee/user_spec.rb
|
||||
|
@ -449,7 +448,6 @@ RSpec/VerifiedDoubles:
|
|||
- spec/lib/gitlab/ci/config/external/file/project_spec.rb
|
||||
- spec/lib/gitlab/ci/config/external/rules_spec.rb
|
||||
- spec/lib/gitlab/ci/parsers/test/junit_spec.rb
|
||||
- spec/lib/gitlab/ci/pipeline/chain/command_spec.rb
|
||||
- spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb
|
||||
- spec/lib/gitlab/ci/pipeline/chain/helpers_spec.rb
|
||||
- spec/lib/gitlab/ci/pipeline/chain/limit/deployments_spec.rb
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -384,9 +384,6 @@ Style/ClassAndModuleChildren:
|
|||
- 'ee/app/controllers/admin/push_rules_controller.rb'
|
||||
- 'ee/app/controllers/admin/subscriptions_controller.rb'
|
||||
- 'ee/app/controllers/admin/user_permission_exports_controller.rb'
|
||||
- 'ee/app/controllers/concerns/registrations/apply_trial.rb'
|
||||
- 'ee/app/controllers/concerns/registrations/create_group.rb'
|
||||
- 'ee/app/controllers/concerns/registrations/create_project.rb'
|
||||
- 'ee/app/controllers/concerns/registrations/verification.rb'
|
||||
- 'ee/app/controllers/ee/profiles/accounts_controller.rb'
|
||||
- 'ee/app/controllers/ee/profiles/preferences_controller.rb'
|
||||
|
|
|
@ -29,7 +29,7 @@ Style/EmptyElse:
|
|||
- 'config/initializers/doorkeeper_openid_connect.rb'
|
||||
- 'ee/app/controllers/admin/audit_logs_controller.rb'
|
||||
- 'ee/app/controllers/ee/groups_controller.rb'
|
||||
- 'ee/app/helpers/ee/kerberos_spnego_helper.rb'
|
||||
- 'ee/app/helpers/ee/kerberos_helper.rb'
|
||||
- 'ee/app/helpers/ee/trial_helper.rb'
|
||||
- 'ee/app/models/ee/audit_event.rb'
|
||||
- 'ee/app/services/ee/users/update_service.rb'
|
||||
|
|
7
.rubocop_todo/style/float_division.yml
Normal file
7
.rubocop_todo/style/float_division.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
Style/FloatDivision:
|
||||
Exclude:
|
||||
- 'ee/app/models/geo_node_status.rb'
|
||||
- 'ee/app/models/namespaces/storage/root_size.rb'
|
||||
- 'qa/qa/support/formatters/allure_metadata_formatter.rb'
|
||||
- 'qa/qa/tools/reliable_report.rb'
|
|
@ -65,6 +65,7 @@ Style/FormatString:
|
|||
- 'app/helpers/members_helper.rb'
|
||||
- 'app/helpers/merge_requests_helper.rb'
|
||||
- 'app/helpers/mirror_helper.rb'
|
||||
- 'app/helpers/notify_helper.rb'
|
||||
- 'app/helpers/preferences_helper.rb'
|
||||
- 'app/helpers/profiles_helper.rb'
|
||||
- 'app/helpers/projects/project_members_helper.rb'
|
||||
|
|
|
@ -20,7 +20,6 @@ Style/HashAsLastArrayItem:
|
|||
- 'app/graphql/resolvers/concerns/issue_resolver_arguments.rb'
|
||||
- 'app/graphql/types/boards/board_issuable_input_base_type.rb'
|
||||
- 'app/graphql/types/boards/board_issue_input_base_type.rb'
|
||||
- 'app/helpers/learn_gitlab_helper.rb'
|
||||
- 'app/helpers/namespaces_helper.rb'
|
||||
- 'app/models/customer_relations/contact.rb'
|
||||
- 'app/models/customer_relations/organization.rb'
|
||||
|
|
|
@ -652,6 +652,7 @@ Style/IfUnlessModifier:
|
|||
- 'ee/app/services/vulnerability_feedback/create_service.rb'
|
||||
- 'ee/app/services/vulnerability_feedback/destroy_service.rb'
|
||||
- 'ee/app/services/vulnerability_feedback_module/update_service.rb'
|
||||
- 'ee/app/services/elastic/cluster_reindexing_service.rb'
|
||||
- 'ee/app/validators/host_validator.rb'
|
||||
- 'ee/app/validators/password/complexity_validator.rb'
|
||||
- 'ee/app/workers/app_sec/dast/profile_schedule_worker.rb'
|
||||
|
|
|
@ -77,7 +77,7 @@ Style/Lambda:
|
|||
- 'app/models/note.rb'
|
||||
- 'app/models/note_diff_file.rb'
|
||||
- 'app/models/notification_setting.rb'
|
||||
- 'app/models/onboarding_progress.rb'
|
||||
- 'app/models/onboarding/progress.rb'
|
||||
- 'app/models/operations/feature_flags/user_list.rb'
|
||||
- 'app/models/packages/package.rb'
|
||||
- 'app/models/packages/package_file.rb'
|
||||
|
@ -217,7 +217,6 @@ Style/Lambda:
|
|||
- 'lib/gitlab/sidekiq_signals.rb'
|
||||
- 'lib/gitlab/utils/measuring.rb'
|
||||
- 'lib/gitlab/visibility_level.rb'
|
||||
- 'qa/qa/fixtures/auto_devops_rack/config.ru'
|
||||
- 'rubocop/cop/rspec/modify_sidekiq_middleware.rb'
|
||||
- 'rubocop/cop/rspec/timecop_freeze.rb'
|
||||
- 'rubocop/cop/rspec/timecop_travel.rb'
|
||||
|
|
|
@ -3,17 +3,7 @@
|
|||
Style/Next:
|
||||
Exclude:
|
||||
- 'app/models/concerns/integrations/slack_mattermost_notifier.rb'
|
||||
- 'app/models/preloaders/environments/deployment_preloader.rb'
|
||||
- 'app/models/route.rb'
|
||||
- 'app/services/authorized_project_update/find_records_due_for_refresh_service.rb'
|
||||
- 'app/validators/nested_attributes_duplicates_validator.rb'
|
||||
- 'config/initializers/01_secret_token.rb'
|
||||
- 'config/initializers/sidekiq_cluster.rb'
|
||||
- 'ee/app/controllers/groups/analytics/cycle_analytics/value_streams_controller.rb'
|
||||
- 'ee/app/services/app_sec/dast/profiles/create_associations_service.rb'
|
||||
- 'ee/app/services/elastic/cluster_reindexing_service.rb'
|
||||
- 'ee/app/services/gitlab_subscriptions/fetch_purchase_eligible_namespaces_service.rb'
|
||||
- 'ee/app/services/security/auto_fix_service.rb'
|
||||
- 'ee/app/services/security/ingestion/tasks/update_vulnerability_uuids.rb'
|
||||
- 'ee/db/fixtures/development/20_vulnerabilities.rb'
|
||||
- 'ee/lib/ee/audit/protected_branches_changes_auditor.rb'
|
||||
|
|
|
@ -254,7 +254,6 @@ Style/PercentLiteralDelimiters:
|
|||
- 'ee/app/mailers/previews/license_mailer_preview.rb'
|
||||
- 'ee/app/models/app_sec/fuzzing/api/scan_profile.rb'
|
||||
- 'ee/app/models/app_sec/fuzzing/coverage/corpus.rb'
|
||||
- 'ee/app/models/concerns/approvable.rb'
|
||||
- 'ee/app/models/concerns/ee/issue_available_features.rb'
|
||||
- 'ee/app/models/ee/audit_event.rb'
|
||||
- 'ee/app/models/ee/description_version.rb'
|
||||
|
|
|
@ -47,7 +47,6 @@ Style/RedundantSelf:
|
|||
- 'app/models/commit_status.rb'
|
||||
- 'app/models/compare.rb'
|
||||
- 'app/models/concerns/after_commit_queue.rb'
|
||||
- 'app/models/concerns/approvable_base.rb'
|
||||
- 'app/models/concerns/atomic_internal_id.rb'
|
||||
- 'app/models/concerns/avatarable.rb'
|
||||
- 'app/models/concerns/awardable.rb'
|
||||
|
|
|
@ -74,7 +74,7 @@ Style/StringConcatenation:
|
|||
- 'ee/lib/elastic/latest/git_class_proxy.rb'
|
||||
- 'ee/lib/gitlab/elastic/search_results.rb'
|
||||
- 'ee/lib/gitlab/geo/git_ssh_proxy.rb'
|
||||
- 'ee/lib/omni_auth/strategies/kerberos_spnego.rb'
|
||||
- 'ee/lib/omni_auth/strategies/kerberos.rb'
|
||||
- 'ee/lib/tasks/gitlab/elastic.rake'
|
||||
- 'ee/lib/tasks/gitlab/license.rake'
|
||||
- 'ee/spec/controllers/trial_registrations_controller_spec.rb'
|
||||
|
@ -263,9 +263,9 @@ Style/StringConcatenation:
|
|||
- 'spec/models/custom_emoji_spec.rb'
|
||||
- 'spec/models/grafana_integration_spec.rb'
|
||||
- 'spec/models/integrations/campfire_spec.rb'
|
||||
- 'spec/models/integrations/datadog_spec.rb'
|
||||
- 'spec/models/integrations/chat_message/pipeline_message_spec.rb'
|
||||
- 'spec/models/integrations/chat_message/push_message_spec.rb'
|
||||
- 'spec/models/integrations/datadog_spec.rb'
|
||||
- 'spec/models/integrations/jenkins_spec.rb'
|
||||
- 'spec/models/merge_request_diff_spec.rb'
|
||||
- 'spec/models/merge_request_spec.rb'
|
||||
|
|
|
@ -239,7 +239,6 @@ Style/SymbolProc:
|
|||
- 'spec/graphql/mutations/releases/create_spec.rb'
|
||||
- 'spec/graphql/types/work_items/widget_type_enum_spec.rb'
|
||||
- 'spec/helpers/instance_configuration_helper_spec.rb'
|
||||
- 'spec/helpers/learn_gitlab_helper_spec.rb'
|
||||
- 'spec/helpers/members_helper_spec.rb'
|
||||
- 'spec/lib/backup/gitaly_backup_spec.rb'
|
||||
- 'spec/lib/gitlab/database/dynamic_model_helpers_spec.rb'
|
||||
|
|
729
CHANGELOG.md
729
CHANGELOG.md
|
@ -2,25 +2,663 @@
|
|||
documentation](doc/development/changelog.md) for instructions on adding your own
|
||||
entry.
|
||||
|
||||
## 15.3.4 (2022-09-29)
|
||||
## 15.4.2 (2022-10-04)
|
||||
|
||||
### Fixed (1 change)
|
||||
|
||||
- [Ensure that stage name and record are in sync for page deployments](gitlab-org/gitlab@ce58ec2ef959bd35ddbc6992560a163c8fc4f145) ([merge request](gitlab-org/gitlab!100037))
|
||||
|
||||
## 15.4.1 (2022-09-29)
|
||||
|
||||
### Security (15 changes)
|
||||
|
||||
- [Redact user's private email in group member event webhook](gitlab-org/security/gitlab@172b8a57bd4acca14d65a4b7a5fd021babacb146) ([merge request](gitlab-org/security/gitlab!2794))
|
||||
- [Redact secrets from WebHookLogs](gitlab-org/security/gitlab@7394ab9b32a7bd83b98f93e904312e469f34cd9c) ([merge request](gitlab-org/security/gitlab!2737))
|
||||
- [Forbid creating a tag using default branch name](gitlab-org/security/gitlab@1b556c33aa11c32994be562cfea0ff2e5e13a54e) ([merge request](gitlab-org/security/gitlab!2799))
|
||||
- [Sanitize Url and check for valid numerical errorId in error tracking](gitlab-org/security/gitlab@2a5a51b5b2839963fe7084261c8a7fcc6f09f19c) ([merge request](gitlab-org/security/gitlab!2785))
|
||||
- [Add security protection for Github](gitlab-org/security/gitlab@bc23f46dba26bcdf0c773c24081e4ae3597bf751) ([merge request](gitlab-org/security/gitlab!2802))
|
||||
- [Fix leaking emails in WebHookLogs](gitlab-org/security/gitlab@a31a652c331877e0f97269310ec5f1bc6266398f) ([merge request](gitlab-org/security/gitlab!2807))
|
||||
- [Restrict max duration to 1 year for trace display](gitlab-org/security/gitlab@b62fd774b6f311988c7e10f3544f2aeabeab85d1) ([merge request](gitlab-org/security/gitlab!2815))
|
||||
- [Use UntrustedRegexp for upload rewriter](gitlab-org/security/gitlab@2eea36acbc5687aa9806946861e73f2fb11a9654) ([merge request](gitlab-org/security/gitlab!2791))
|
||||
- [Validate httpUrlToRepo to be http or https only](gitlab-org/security/gitlab@0b340ef6d6e54804445916f5b1fa53185de4b1f7) ([merge request](gitlab-org/security/gitlab!2760))
|
||||
- [Respect instance level rule for editing approval rules](gitlab-org/security/gitlab@2d2a7b8652dbd1085fe1bfc0b69138aecdeaf9c8) ([merge request](gitlab-org/security/gitlab!2782))
|
||||
- [Prevent users creating issues in ay project via board/issues controller](gitlab-org/security/gitlab@559b23e6942a650cafa358ea96b7ee549f76fbd6) ([merge request](gitlab-org/security/gitlab!2780))
|
||||
- [Prevent serialization of sensible attributes from JsonCache](gitlab-org/security/gitlab@f712d58af3aeb3f0fe1c56a290188e19fce72ad6) ([merge request](gitlab-org/security/gitlab!2771))
|
||||
- [Update TodoPolicy to handle confidential notes](gitlab-org/security/gitlab@6bd37cd0595bbf4c744a5b212fc41181c9dc88ef) ([merge request](gitlab-org/security/gitlab!2748))
|
||||
- [Enforce group IP restriction on Dependency Proxy](gitlab-org/security/gitlab@cc42b5e91e04e77ade63f1fdb91e88b998c156f7) ([merge request](gitlab-org/security/gitlab!2764))
|
||||
- [Fixes XSS in widget extensions](gitlab-org/security/gitlab@1d10849c7eee6207435bfd223e1f8639b2816c1e) ([merge request](gitlab-org/security/gitlab!2759))
|
||||
- [Redact user's private email in group member event webhook](gitlab-org/security/gitlab@f556c625f37d1be801b54c5a1ff3dd37434d48e4) ([merge request](gitlab-org/security/gitlab!2809))
|
||||
- [Redact secrets from WebHookLogs](gitlab-org/security/gitlab@7101edbc7fc27e2d2d23b8f9f84611943b310b71) ([merge request](gitlab-org/security/gitlab!2805))
|
||||
- [Forbid creating a tag using default branch name](gitlab-org/security/gitlab@ba3e62fc30f475b9334440409f5bad481b3c5dd6) ([merge request](gitlab-org/security/gitlab!2798))
|
||||
- [Sanitize Url and check for valid numerical errorId in error tracking](gitlab-org/security/gitlab@fba573834091aec7bde7856bfddd080cc74fb3ae) ([merge request](gitlab-org/security/gitlab!2819))
|
||||
- [Add security protection for Github](gitlab-org/security/gitlab@6265bdb12496d34f30d9ae6889288c6857fd4fd0) ([merge request](gitlab-org/security/gitlab!2803))
|
||||
- [Fix leaking emails in WebHookLogs](gitlab-org/security/gitlab@7580a2d62cd421b5176a3ce7f23c7d192e69989e) ([merge request](gitlab-org/security/gitlab!2806))
|
||||
- [Restrict max duration to 1 year for trace display](gitlab-org/security/gitlab@e1162719cc9e62692c911c992175d6ef3b5f996f) ([merge request](gitlab-org/security/gitlab!2817))
|
||||
- [Use UntrustedRegexp for upload rewriter](gitlab-org/security/gitlab@fde2bb115242a9af3678e5c8547c7c9ccd2b0c1e) ([merge request](gitlab-org/security/gitlab!2790))
|
||||
- [Validate httpUrlToRepo to be http or https only](gitlab-org/security/gitlab@d56ebc1a207618ec846e6ee2c842d3a5019444b7) ([merge request](gitlab-org/security/gitlab!2811))
|
||||
- [Respect instance level rule for editing approval rules](gitlab-org/security/gitlab@dc5dd5be3f3f681ca499d3a59eb469bd12dad51b) ([merge request](gitlab-org/security/gitlab!2796))
|
||||
- [Prevent users creating issues in ay project via board/issues controller](gitlab-org/security/gitlab@e0b09653ff468b65a73155a2e28077a0e94dc7e8) ([merge request](gitlab-org/security/gitlab!2781))
|
||||
- [Prevent serialization of sensible attributes from JsonCache](gitlab-org/security/gitlab@d1842119756b8a69a5d1b14ebd902dc2f4b24dbf) ([merge request](gitlab-org/security/gitlab!2818))
|
||||
- [Update TodoPolicy to handle confidential notes](gitlab-org/security/gitlab@cddab943af028c4653dacdd832be5e3e8ac778d3) ([merge request](gitlab-org/security/gitlab!2833))
|
||||
- [Enforce group IP restriction on Dependency Proxy](gitlab-org/security/gitlab@fff740c7ab046c5e8ef6495ffa3b45228e11841a) ([merge request](gitlab-org/security/gitlab!2801))
|
||||
- [Fixes XSS in widget extensions](gitlab-org/security/gitlab@459becb7a1b0336ddf67f867eecbdf37d579f881) ([merge request](gitlab-org/security/gitlab!2832))
|
||||
|
||||
## 15.4.0 (2022-09-21)
|
||||
|
||||
### Added (162 changes)
|
||||
|
||||
- [Add git tags from last deployment to environment detail page](gitlab-org/gitlab@dd9fbfc75790666b2ff3aff0dc45d2ddfc1695ae) ([merge request](gitlab-org/gitlab!96060))
|
||||
- [Background worker for suggested reviewers](gitlab-org/gitlab@38048811859fa714a5f2dcb79e38877f99b3460f) ([merge request](gitlab-org/gitlab!97622))
|
||||
- [Maven request forwarding](gitlab-org/gitlab@80c6b14a94c96eb9772786b669249512ae6bfb86) ([merge request](gitlab-org/gitlab!85299))
|
||||
- [Add edited by information to GraphQL WorkItem type](gitlab-org/gitlab@4be6e1c75b511c2e4173517b0e57b1f9c534b8ba) ([merge request](gitlab-org/gitlab!97328))
|
||||
- [RPM initial upload and package creation](gitlab-org/gitlab@b1f7bf75fe40ab26d1ffa50d20b07ae426b30b9f) ([merge request](gitlab-org/gitlab!96940))
|
||||
- [Add codeOwnerReviewRequired to EE](gitlab-org/gitlab@8bd7af46e98e2ee3b4680e01e6817cc968a7c865) ([merge request](gitlab-org/gitlab!96693)) **GitLab Enterprise Edition**
|
||||
- [Added REST APIs to fetch latest release and download release assets](gitlab-org/gitlab@09faee593310ed2c5965788cb1efbebfbd7690f8) by @zillemarco ([merge request](gitlab-org/gitlab!92607))
|
||||
- [Add iterations cadences to Gitlab Migration](gitlab-org/gitlab@9aa3c847a7a838f887c1ccdd8af0aedbfb322052) ([merge request](gitlab-org/gitlab!96570)) **GitLab Enterprise Edition**
|
||||
- [Expose user and group for branch protection access levels in EE](gitlab-org/gitlab@5a96b284a5985a1192f3a63856d07640e704e3b9) ([merge request](gitlab-org/gitlab!96301)) **GitLab Enterprise Edition**
|
||||
- [Add cluster_agent_id and image to GraphQL vulnerabilitySeveritiesCount](gitlab-org/gitlab@1e8223d08bd2103a99e10b5e8a93888ae9fa0616) ([merge request](gitlab-org/gitlab!98168)) **GitLab Enterprise Edition**
|
||||
- [Add unique index to ci_builds_metadata](gitlab-org/gitlab@f84cbd4a20b86d596d405afb9b9d099996aa425b) ([merge request](gitlab-org/gitlab!97924))
|
||||
- [Add job field to ProjectType](gitlab-org/gitlab@442fc9f599032672cea48385377a29962a03ac1e) ([merge request](gitlab-org/gitlab!97400))
|
||||
- [Enable search option for environments](gitlab-org/gitlab@9e4fade945ea26a151ccbc081fbdd3c8a657335d) ([merge request](gitlab-org/gitlab!97832))
|
||||
- [Added markdown support for solution](gitlab-org/gitlab@1ccfa0ea7385dd2f1280addff29588d54fb27abe) ([merge request](gitlab-org/gitlab!95858)) **GitLab Enterprise Edition**
|
||||
- [Support delivery of emails using Microsoft Graph API](gitlab-org/gitlab@5a413f7c48df0c2c28de86ee56f3b874a53323ef) ([merge request](gitlab-org/gitlab!97372))
|
||||
- [Expose CI variable limits through GraphQL](gitlab-org/gitlab@2496be70c2cb7a049d37538db542d628449beece) ([merge request](gitlab-org/gitlab!97707))
|
||||
- [Add checkbox supported by Autosave and autosave confidential in Issuable form ](gitlab-org/gitlab@29c1df949e84265a3aeb737cd16e1bf4b037355f) by @ali_o_kan ([merge request](gitlab-org/gitlab!97237))
|
||||
- [Backfill namespace_id on issues table](gitlab-org/gitlab@fd3abd01d1ed223fa233045601888e970e681d1e) ([merge request](gitlab-org/gitlab!91921))
|
||||
- [Add issue resource_iteration_events to Project Import/Export](gitlab-org/gitlab@c4f4e2c2b59d26b00011bbbda7f5df6cc2f9350d) ([merge request](gitlab-org/gitlab!96184)) **GitLab Enterprise Edition**
|
||||
- [Enabling feature flag immediate_delete_subgroup_api by default](gitlab-org/gitlab@0db8710accec0363e9aec1814e880824ceb952e0) ([merge request](gitlab-org/gitlab!98027))
|
||||
- [Add harbor registry tags page](gitlab-org/gitlab@319dd8ec9c317c7fb75b95c57d0020ae1353da17) by @orozot ([merge request](gitlab-org/gitlab!95931))
|
||||
- [Add the resource state events REST API endpoint for epics](gitlab-org/gitlab@b64b2b8944536ec66d1063fc3ed26f04c9b663ef) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97554)) **GitLab Enterprise Edition**
|
||||
- [Add last_downloaded_at to packages](gitlab-org/gitlab@e9bba3ece35167622755f5428233d6453b4e022c) ([merge request](gitlab-org/gitlab!97143))
|
||||
- [Documentation of Move to start/end of list actions](gitlab-org/gitlab@cf73d679243c1fe6321df4a3507cdeb01ceffd9a) ([merge request](gitlab-org/gitlab!97094))
|
||||
- [Add monthly count_user_auth metric](gitlab-org/gitlab@a72ad9e9458067ed7e70a3d65d4a5850d0844ddb) ([merge request](gitlab-org/gitlab!97725))
|
||||
- [Add auth_type to jwt controller tokens](gitlab-org/gitlab@835bbb241583f32d426793477c2dde088756c953) ([merge request](gitlab-org/gitlab!97904))
|
||||
- [Add column to store over user limit notification status](gitlab-org/gitlab@105b1808b7a977677930fea57d55c33413c8db91) ([merge request](gitlab-org/gitlab!97517))
|
||||
- [Domain Verification MVC](gitlab-org/gitlab@0a7775eb3ccd878b880dde41102ba4d650a58189) ([merge request](gitlab-org/gitlab!95407)) **GitLab Enterprise Edition**
|
||||
- [Add default project for epics](gitlab-org/gitlab@0a5e350e8c0df7c98d396abc9caae31cb7bef733) ([merge request](gitlab-org/gitlab!97498)) **GitLab Enterprise Edition**
|
||||
- [Extend packages project policy to consider access level](gitlab-org/gitlab@f9a3eacc5b465405a46a7fb77cb1313cf7a4e15f) by @wwwjon ([merge request](gitlab-org/gitlab!97001))
|
||||
- [Add system note service for resource links](gitlab-org/gitlab@746625a161de9427374774812c7e0c169d785936) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96937))
|
||||
- [Add group shares in group transfer locations API](gitlab-org/gitlab@d05cc2a34ad12ac5edf8eb70c48e018c413578f0) ([merge request](gitlab-org/gitlab!96347))
|
||||
- [Removes group_ip_restrictions_allow_global feature_flag](gitlab-org/gitlab@bdce5a2f4b7d2dae2683177d1662c3ad8c8cea3a) ([merge request](gitlab-org/gitlab!97268))
|
||||
- [GraphQL query for last and upcoming deployment](gitlab-org/gitlab@d9b5a672e87c68aab0eb144d90b03653986d7352) ([merge request](gitlab-org/gitlab!97098))
|
||||
- [Add clear status after dropdown to profile set status form](gitlab-org/gitlab@f99409d2377285fe68dde02d27bb5110a2d203be) ([merge request](gitlab-org/gitlab!96800))
|
||||
- [Migrate merge request review_requested/removed events](gitlab-org/gitlab@f1fa496c959245dacfe0f797f93392912291cdf9) ([merge request](gitlab-org/gitlab!94171))
|
||||
- [Memoize search_environments finder](gitlab-org/gitlab@05326cfa0c8d4455d3822a7e012c70791f7d320e) ([merge request](gitlab-org/gitlab!97015))
|
||||
- [Add state field to environments varchar name index](gitlab-org/gitlab@c8bd5f81c251cc4eee48d7003e473b14b8f41e93) ([merge request](gitlab-org/gitlab!97015))
|
||||
- [Add version sort to tags API](gitlab-org/gitlab@40a4c992d9c6d81a4cebfe00052e6333f69e3654) ([merge request](gitlab-org/gitlab!95150))
|
||||
- [Show better errors from GraphQL on Releases](gitlab-org/gitlab@47a723eb81ae1e85fc02a283ef65a6ee0a86076a) ([merge request](gitlab-org/gitlab!96586))
|
||||
- [Debian Acquire-By-Hash (to avoid Hash Sum Mismatch errors)](gitlab-org/gitlab@956f1aaea82dcb794090e604f101e0e4c2217f07) by @sathieu ([merge request](gitlab-org/gitlab!96947))
|
||||
- [Add cube proxy API request](gitlab-org/gitlab@89d8ed00a3f033d25e293088ec86df2efba3a685) ([merge request](gitlab-org/gitlab!96250))
|
||||
- [Adds endpoints for MLFlow client Run entity](gitlab-org/gitlab@398493c671a9e99b15f7df1b85ab57fee9efebc5) ([merge request](gitlab-org/gitlab!97003))
|
||||
- [Optimize the pending todos check query](gitlab-org/gitlab@830cab0786528d112146f6933f672272294512c1) ([merge request](gitlab-org/gitlab!97641))
|
||||
- [Load more for task assignees when user scrolls](gitlab-org/gitlab@ff06bf3647ac222ed45a61a65c263c47d37bf6f0) ([merge request](gitlab-org/gitlab!96632))
|
||||
- [Add pushAccessLevels to graphql endpoint](gitlab-org/gitlab@5d6f94226c303dcb9527fe345edc9aeeb73ce53d) ([merge request](gitlab-org/gitlab!96300))
|
||||
- [Add mergeAccessLevels to graphql endpoint](gitlab-org/gitlab@b4965666b3cdf570b04aa5745ef5ab6ee9e9f7e5) ([merge request](gitlab-org/gitlab!96174))
|
||||
- [Support variable expansion on environment auto_stop_in](gitlab-org/gitlab@9c9f6b9d02d842b617ad33bbe145ebd048515ed1) ([merge request](gitlab-org/gitlab!96044))
|
||||
- [Add dismissal_reason to StateTransitions](gitlab-org/gitlab@7886e02b7954023ab2fbc448e4e2cbbbb6873276) ([merge request](gitlab-org/gitlab!97485))
|
||||
- [Add branchProtection under project.branchRules in graphql endpoint](gitlab-org/gitlab@668405690422e37c701d30f6b928a7ba9983710a) ([merge request](gitlab-org/gitlab!95925))
|
||||
- [Updates container registry project settings](gitlab-org/gitlab@558c2aeff40e4f46ecbae66709ae15300bad17a4) ([merge request](gitlab-org/gitlab!96799))
|
||||
- [Add support for semantic versioning tags sort](gitlab-org/gitlab@f238e872666dc21cf1ad67f5001ef7ce28ab3345) ([merge request](gitlab-org/gitlab!95090))
|
||||
- [New GraphQL mutation for dismiss security finding](gitlab-org/gitlab@541bf4b803dc9adee09b4c9b3a29765c5913de3b) ([merge request](gitlab-org/gitlab!93302)) **GitLab Enterprise Edition**
|
||||
- [Add rpm package type](gitlab-org/gitlab@4aac17b0a5f5691c13c5b82b22751b372291ba8e) ([merge request](gitlab-org/gitlab!96278))
|
||||
- [Update groups api to accept parameter for ip_restriction_range](gitlab-org/gitlab@23faab455417a58ae456d5e614f20bd07215429d) ([merge request](gitlab-org/gitlab!96397)) **GitLab Enterprise Edition**
|
||||
- [Allow users to filter issues by health status](gitlab-org/gitlab@0527842f35485b686d62d83dfab69eae165fdae1) ([merge request](gitlab-org/gitlab!97105))
|
||||
- [Moved assignees to work_items feature flag](gitlab-org/gitlab@34d296b815f39ede2a1a047e012700393be4b7c8) ([merge request](gitlab-org/gitlab!95522))
|
||||
- [Add support for Google CDN](gitlab-org/gitlab@191f65c2d4b72593973b217a5d061c04d73f25da) ([merge request](gitlab-org/gitlab!96336))
|
||||
- [Use ListCommits rpc to fetch context commits](gitlab-org/gitlab@2fe0dcffd253e7a516d3202df69a82d2197b4a3b) by @akumar1503 ([merge request](gitlab-org/gitlab!90559))
|
||||
- [Create international phone input component in Vue](gitlab-org/gitlab@8b601e60cbe3887eddfb50b98f231d470826c1a8) ([merge request](gitlab-org/gitlab!96529)) **GitLab Enterprise Edition**
|
||||
- [Create ultimate feature removal banner](gitlab-org/gitlab@7193da1f27038aba3052d8a85e22a87f8d442a11) ([merge request](gitlab-org/gitlab!94271))
|
||||
- [Add basic DORA configuration model](gitlab-org/gitlab@a74622c2cdf9b9e828b86a4a50d2edc4059192f8) ([merge request](gitlab-org/gitlab!96561))
|
||||
- [Autosave due_date in Issuable form](gitlab-org/gitlab@3a5189a758ab55a064ea480c1b2f08df4a1d38fa) by @ali_o_kan ([merge request](gitlab-org/gitlab!97379))
|
||||
- [Remove not allowed epics properties from issue CSV export](gitlab-org/gitlab@eeb23b5bbc08fb1c91b6bd59be0d274035949ee9) ([merge request](gitlab-org/gitlab!96710)) **GitLab Enterprise Edition**
|
||||
- [Add View entire blame button](gitlab-org/gitlab@0fff583f5d808ac2f96961e7419876383d871888) ([merge request](gitlab-org/gitlab!97405))
|
||||
- [Support $…$ and $$…$$ syntax math in markdown](gitlab-org/gitlab@d942e4d88d9bddfed901e4d604d9b3f8255b8e21) ([merge request](gitlab-org/gitlab!94111))
|
||||
- [Add integration status area to the agent details](gitlab-org/gitlab@916bc3889da6d7a3dff4be391a27258ddb933308) ([merge request](gitlab-org/gitlab!97144)) **GitLab Enterprise Edition**
|
||||
- [Add support for sorting project and group members Graphql resolvers](gitlab-org/gitlab@97bdf4ca77759e40ed43ea0d3f93d8bc2979981b) ([merge request](gitlab-org/gitlab!97092))
|
||||
- [Add id, size and expiry to GraphQL Job Artifact](gitlab-org/gitlab@79cb541b8cc00f170ed43e360d1accc7178ccc4e) by @leetickett ([merge request](gitlab-org/gitlab!97129))
|
||||
- [Add count field to the GraphQL EpicConnection type](gitlab-org/gitlab@d107fe3757e5309d8da2803d5291d659fe81ebfd) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96776)) **GitLab Enterprise Edition**
|
||||
- [Add instrumentation for MAU visiting environments pages](gitlab-org/gitlab@4667eae9a595d814578df01c7fa4ee6cd5f1e638) ([merge request](gitlab-org/gitlab!97063))
|
||||
- [Add edit confirmation popover in sidebar dropdown widget](gitlab-org/gitlab@5e255a2f0e95cbb3b1a04a5025982347afd87de9) ([merge request](gitlab-org/gitlab!96872)) **GitLab Enterprise Edition**
|
||||
- [Adding graphQL parameters for move to start and end for boards](gitlab-org/gitlab@8329b64030a1ab3e11bd5aa2d1e627a38fcc3762) ([merge request](gitlab-org/gitlab!96125))
|
||||
- [Autosave weight in Issuable form](gitlab-org/gitlab@b14acb9ca5a30c6e9c2133a932d25075b0552085) by @ali_o_kan ([merge request](gitlab-org/gitlab!96899)) **GitLab Enterprise Edition**
|
||||
- [Move embedded Zoom calls to Linked Resources](gitlab-org/gitlab@0777cd3002c51f5766a8f349e9e69c6e640bde8a) ([merge request](gitlab-org/gitlab!95588)) **GitLab Enterprise Edition**
|
||||
- [Allow the creation of scan result policies](gitlab-org/gitlab@5a6fbe7f5a3899eeaaf02a847b5e5d2b9ab84d68) ([merge request](gitlab-org/gitlab!96563)) **GitLab Enterprise Edition**
|
||||
- [Add ArtifactDestroy GraphQL mutation](gitlab-org/gitlab@5562883393ce20200f46777afb68e5f6d721c304) by @leetickett ([merge request](gitlab-org/gitlab!96425))
|
||||
- [Introduce backend updates for toggle of diff preview](gitlab-org/gitlab@640fb496732d8d4bd63dfd5e0b06b812f3e1bf4c) by @joe-snyder ([merge request](gitlab-org/gitlab!89150))
|
||||
- [Add a search bar to the list of assigned projects](gitlab-org/gitlab@d33265f34044ed01848dde46a69c62ffeb7ec1e1) ([merge request](gitlab-org/gitlab!96999))
|
||||
- [GraphQL: Add resolver to runner projects](gitlab-org/gitlab@a0f73de8cc5caa559e6c9909bebac78460e0f417) ([merge request](gitlab-org/gitlab!96386))
|
||||
- [Add partition_id column to selected CI database tables](gitlab-org/gitlab@d7d6efe12d962b68085acff413abbca2299caf28) ([merge request](gitlab-org/gitlab!96856))
|
||||
- [Adds first endpoints for MLFlow Integration](gitlab-org/gitlab@bcca7cbb3d7fa6a0340e654c9d21e62a13677d85) ([merge request](gitlab-org/gitlab!95689))
|
||||
- [Add index to todos the improve query performance](gitlab-org/gitlab@bc0d8a0172f3ccfb5027d1b45e72a1ca9a04bc6f) ([merge request](gitlab-org/gitlab!97025))
|
||||
- [Graphql query for environment information](gitlab-org/gitlab@0376a74c924d0d814714f620599ba64442d9f978) ([merge request](gitlab-org/gitlab!97099))
|
||||
- [Allow admins to merge topics [API]](gitlab-org/gitlab@788cb9ec0e59d73c19b42467e86b708b9dc760bd) by @wwwjon ([merge request](gitlab-org/gitlab!95501))
|
||||
- [Add autosave on design notes](gitlab-org/gitlab@379d683631fe16c17a8e79d55af9a1ff2f60a782) ([merge request](gitlab-org/gitlab!96494))
|
||||
- [Add new Katalon ci/cd template for partnership program](gitlab-org/gitlab@b666446e02304ea2b6630e05d150a749b5a4a875) by @philip.becker ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86484))
|
||||
- [Add JobArtifactsDestroy GraphQL mutation](gitlab-org/gitlab@5eca99c054c0ca14a10261354a84504091cd674e) by @leetickett ([merge request](gitlab-org/gitlab!96431))
|
||||
- [Default-enable Pipeline Wizard for pages](gitlab-org/gitlab@3a09e6338cdc9e64da5cde2af03e1ebfba10d0b2) ([merge request](gitlab-org/gitlab!97037))
|
||||
- [Add a work item widget for iteration](gitlab-org/gitlab@d682dbf77ab45e18a97ae0bb8ec88e16f267d69f) ([merge request](gitlab-org/gitlab!96736)) **GitLab Enterprise Edition**
|
||||
- [Expose dates where DORA data is missing](gitlab-org/gitlab@a5aa4fc1d104d08624f40dddb73e9cb55cf8a815) ([merge request](gitlab-org/gitlab!96527)) **GitLab Enterprise Edition**
|
||||
- [Rollout shimo integration](gitlab-org/gitlab@6be7fb717d63bcd887cb38694ca34d5258d0059d) by @icbd ([merge request](gitlab-org/gitlab!95161))
|
||||
- [Add streaming audit event for work item and MR deletion](gitlab-org/gitlab@f5054716b8504d6fd0e89831a1fbafd3e643de8d) ([merge request](gitlab-org/gitlab!96773))
|
||||
- [Add mutation to move to start / end of board lists](gitlab-org/gitlab@ab9c8dbc2d2de013ee448b0191d460114619d04a) ([merge request](gitlab-org/gitlab!95906))
|
||||
- [Migration for creating ghost_user_migrations table](gitlab-org/gitlab@e77535b283db3c96a490cf9df9add0d548c206bf) ([merge request](gitlab-org/gitlab!95473))
|
||||
- [Add pipelined Redis commands to performance bar](gitlab-org/gitlab@1ef7f978e35cd9250a5ef2450e582878628858f1) ([merge request](gitlab-org/gitlab!94373))
|
||||
- [Add hasEpic to issue type](gitlab-org/gitlab@3ff08589888b06626ae2833b4c81dbbddd8bc2db) ([merge request](gitlab-org/gitlab!96255)) **GitLab Enterprise Edition**
|
||||
- [Add id, size and expiry to GraphQL Job Artifact](gitlab-org/gitlab@18f264a75caec72918371f7c5ecef222ba9feeb3) by @leetickett ([merge request](gitlab-org/gitlab!96422))
|
||||
- [Make Short Sha in Deployments Page a Link](gitlab-org/gitlab@081ba1c56b9a204a9ce967e10f09acc4c732b5e2) ([merge request](gitlab-org/gitlab!96581))
|
||||
- [Add harbor registry list page](gitlab-org/gitlab@95d4e201f1b90943b66e4932126b09e13ca550a2) by @orozot ([merge request](gitlab-org/gitlab!82784))
|
||||
- [Monitor memory growth in memory-watchdog](gitlab-org/gitlab@d233174c3292a16c96bf636e42b5b05fd935fad3) ([merge request](gitlab-org/gitlab!96241))
|
||||
- [Enable `escape_gitaly_refs` by default](gitlab-org/gitlab@3e7bcc1f79cc08a5648cf48143b373dc84ce987e) ([merge request](gitlab-org/gitlab!96682))
|
||||
- [Add Debian endpoints for Sources](gitlab-org/gitlab@85498977a5a687f9480889d4ca1154024bf42354) by @sathieu ([merge request](gitlab-org/gitlab!71918))
|
||||
- [Add Debian endpoints for D-I Packages](gitlab-org/gitlab@32b646a4d443c43f6adabcfeaf0e3e8c52aeac8f) by @sathieu ([merge request](gitlab-org/gitlab!71918))
|
||||
- [Add support for task item status tooltip](gitlab-org/gitlab@3cba766af094334950ad508bcb51262fe24e80e7) ([merge request](gitlab-org/gitlab!96251))
|
||||
- [Support Group Avatar Removal in REST API](gitlab-org/gitlab@b212c782d07e682271643eeb33e0e13ea0591426) by @tuxtimo ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96421))
|
||||
- [Align namespace of DeployAccessLevel model](gitlab-org/gitlab@7fde5bdb710d81a68d8939656389c8bb494dc677) ([merge request](gitlab-org/gitlab!96351))
|
||||
- [Show epics blocking info on list & boards](gitlab-org/gitlab@7a94c59aae538f26a22d1f1c6237cc0ac9716356) ([merge request](gitlab-org/gitlab!89316)) **GitLab Enterprise Edition**
|
||||
- [Create API endpoint to update a protected environment](gitlab-org/gitlab@ba0c0be1a73de086b7077bf679943e68d1d3397b) ([merge request](gitlab-org/gitlab!95914)) **GitLab Enterprise Edition**
|
||||
- [Add work item weight widget subscription](gitlab-org/gitlab@83a8f7999db35a393859f07ec80a1971dc9615b7) ([merge request](gitlab-org/gitlab!96371))
|
||||
- [Add security finding dismiss service](gitlab-org/gitlab@eaa3e799094277f7b5aa02863d7165e8397f9359) ([merge request](gitlab-org/gitlab!96168)) **GitLab Enterprise Edition**
|
||||
- [Add branchRules to project in graphql endpoint](gitlab-org/gitlab@d6f8deda701407725e0a8043cdd54628a511fb83) ([merge request](gitlab-org/gitlab!95583))
|
||||
- [Introduce etag caching for diff batches endpoint](gitlab-org/gitlab@63dfa9b06f0d343352ec943790651e242b785c3e) ([merge request](gitlab.com/gitlab-org/gitlab/-/merge_requests/96456))
|
||||
- [Set forked source cost factor to .008](gitlab-org/gitlab@a750452c556e5232e82d65fff89f5f288ee04f1c) ([merge request](gitlab-org/gitlab!96190)) **GitLab Enterprise Edition**
|
||||
- [Add auto_ban_user_on_excessive_projects_download to group settings](gitlab-org/gitlab@9e49cf109b5c289408b11ecab7c8d170ac2176fe) ([merge request](gitlab-org/gitlab!94159))
|
||||
- [Support GraphQL subscription for weight update](gitlab-org/gitlab@b4b9bcc761731918ea7b769c35d3ffd6eac033f1) ([merge request](gitlab-org/gitlab!93993)) **GitLab Enterprise Edition**
|
||||
- [Utilize dormant user period in application settings](gitlab-org/gitlab@96f04ae63b948b9585ad296c20cc0df3603e7328) by @joe-snyder ([merge request](gitlab-org/gitlab!95496))
|
||||
- [Extend deployments graphql query for index page](gitlab-org/gitlab@15c76231c6ed88030ebf08b686a3c8191d7f36c9) ([merge request](gitlab-org/gitlab!95792))
|
||||
- [Add resource events to Import/Export](gitlab-org/gitlab@d71b379b49f5a7368e69c7cab9cab090d5484d1c) ([merge request](gitlab-org/gitlab!96033)) **GitLab Enterprise Edition**
|
||||
- [Add sorting/filtering/paging to CRM organizations](gitlab-org/gitlab@b7a530c44306b8dc0191b6d671901669053af3a4) by @leetickett ([merge request](gitlab-org/gitlab!95658))
|
||||
- [Add helper method to prevent default action on submit in feature specs](gitlab-org/gitlab@521bcc63b742cc865dddfc0a1bcab8e5275a5271) by @mehulsharma ([merge request](gitlab-org/gitlab!96002))
|
||||
- [Backfill values for cluster_agents.has_vulnerabilities](gitlab-org/gitlab@2039cd08157eca9238af8d25c3f18936e07b9207) ([merge request](gitlab-org/gitlab!90276))
|
||||
- [Display health status on issue board cards](gitlab-org/gitlab@e12e518a978bdd8631a1f38895b9736b3abd508c) ([merge request](gitlab-org/gitlab!95771))
|
||||
- [Adds a Cleanup class for unused still-active Personal Access Tokens](gitlab-org/gitlab@cb10135353e5ed9c59344a4d00dd9d7851dc36de) ([merge request](gitlab-org/gitlab!95340))
|
||||
- [Relate `BroadcastMessage` and `Namespace` models](gitlab-org/gitlab@e9dc58b253cb150bccf27ba9b50835c8b40ea10a) ([merge request](gitlab-org/gitlab!95913))
|
||||
- [Adds CiConfigVariableType to ProjectType](gitlab-org/gitlab@e26fda1125a7f9bc57a29c50c070514faa0e952a) ([merge request](gitlab-org/gitlab!93387))
|
||||
- [Update Import/Export for iterations cadences](gitlab-org/gitlab@2a8315e4e588b325013d7f4fbe0dfda7a0f33f51) ([merge request](gitlab-org/gitlab!95918)) **GitLab Enterprise Edition**
|
||||
- [Record cache data about api/web cache helpers](gitlab-org/gitlab@4d7f19aad7b114ff65110b105ccca32b336e156d) ([merge request](gitlab-org/gitlab!94966))
|
||||
- [Add clusterAgent.vulnerabilityImages to GraphQL API](gitlab-org/gitlab@b6b53821ad12c5abf877852513756ffddfb36141) ([merge request](gitlab-org/gitlab!95383)) **GitLab Enterprise Edition**
|
||||
- [Allow to specify the fields to search for when querying work items](gitlab-org/gitlab@40b8edeec1e92a8161005369a16359f78a0952ce) ([merge request](gitlab-org/gitlab!95268)) **GitLab Enterprise Edition**
|
||||
- [Support lowercase query string status](gitlab-org/gitlab@2fcb2ebc30c1c7b92f5e9db651a316f8c6789fb6) ([merge request](gitlab-org/gitlab!96089))
|
||||
- [Add new instance setting to UI and controller](gitlab-org/gitlab@26c8d415981f9ff901e8ca126bc8692032f0e2ce) ([merge request](gitlab-org/gitlab!92218))
|
||||
- [Support Project Avatar removal in REST API](gitlab-org/gitlab@d612f34e9b4b8702fbad710db72e3e2a0d88f204) by @tuxtimo ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92604))
|
||||
- [Add external_url field to Environment GraphQL Type](gitlab-org/gitlab@388e63b015b95042498bd12440543fd3052f74e6) by @Taucher2003 ([merge request](gitlab-org/gitlab!95843))
|
||||
- [Introduce REST API for group transfer locations](gitlab-org/gitlab@dc8358a5aeaec18c42e695627b135fd0a5167d43) ([merge request](gitlab-org/gitlab!95675))
|
||||
- [Show alert for email exposure for service desk](gitlab-org/gitlab@1d80b958181340faf7a42bd7509615685fb53139) ([merge request](gitlab-org/gitlab!95919))
|
||||
- [Add work type icon to boards and color gray for icons](gitlab-org/gitlab@c447ccac08a82d1a7ca7681559064c2d2b3c6ba4) ([merge request](gitlab-org/gitlab!95671))
|
||||
- [Implement Vuln Scanner reportTypeHumanized for easier frontend use](gitlab-org/gitlab@e0b27b50b8e1d4142203104142495826b7a0ee06) ([merge request](gitlab-org/gitlab!93208)) **GitLab Enterprise Edition**
|
||||
- [REST API for project transfer locations](gitlab-org/gitlab@ad8a8d09606c1c8648df5df844d88a51951b80a8) ([merge request](gitlab-org/gitlab!95572))
|
||||
- [Re-introduce manual iteration management](gitlab-org/gitlab@3daf9f8509e8bc98f9dc4a693cd254eb5b4415fa) ([merge request](gitlab-org/gitlab!94768)) **GitLab Enterprise Edition**
|
||||
- [Add GraphQL query for deployment details](gitlab-org/gitlab@275073165ec43d90b3434c826d8a36295bb18478) ([merge request](gitlab-org/gitlab!95681))
|
||||
- [Add auto_ban_user_on_excessive_projects_download to application settings](gitlab-org/gitlab@eeef1a1f3a0615663853ae5adc3418ec1034bff9) ([merge request](gitlab-org/gitlab!94153))
|
||||
- [Add support for snippet spam](gitlab-org/gitlab@423e7036c94a53804c506898c168fb66df815b8c) ([merge request](gitlab-org/gitlab!90080))
|
||||
- [Added loading state to "Commit changes" button in the single file editor](gitlab-org/gitlab@a887b17203f8aefd942aa7545d0e1928b6ba17df) by @payal-jain ([merge request](gitlab-org/gitlab!94211))
|
||||
- [Allow admins to merge topics [frontend]](gitlab-org/gitlab@c57c261a4bfe1cb1bba897f0fde9ed948ded1474) by @wwwjon ([merge request](gitlab-org/gitlab!95261))
|
||||
- [Fetch child epics with colour when FF is enabled](gitlab-org/gitlab@06b9a1d23502c8d1f6101b70ea4ea274d5015a5d) ([merge request](gitlab-org/gitlab!92055)) **GitLab Enterprise Edition**
|
||||
- [Thread Google Chat messages by topic](gitlab-org/gitlab@f137d4ca3720b531efcdf9030cac6fec026e5dd4) by @csarva ([merge request](gitlab-org/gitlab!92610))
|
||||
- [Add query string filtering](gitlab-org/gitlab@7e1c4a17426a882660bc0a4b6d5b9c03dfd1df75) ([merge request](gitlab-org/gitlab!95740))
|
||||
- [Add Vulnerabilities Finding Create Issue mutation](gitlab-org/gitlab@bf4a43a9707b828b5c4c984c4c3ac9310c2fbc7a) ([merge request](gitlab-org/gitlab!86830)) **GitLab Enterprise Edition**
|
||||
- [Add selected state for ellipsis button in last commit](gitlab-org/gitlab@09bb8214ec69975a669b8e768c9f2f8c98b2f40e) ([merge request](gitlab-org/gitlab!95032))
|
||||
- [Set public open source cost factor to .5](gitlab-org/gitlab@ac876bd6496f8238f2dc5c742b705f4d8cb63f2f) ([merge request](gitlab-org/gitlab!95705)) **GitLab Enterprise Edition**
|
||||
- [Add GraphQL query for deployments](gitlab-org/gitlab@64be1a1331cc07421b06804933c6c664c7406156) ([merge request](gitlab-org/gitlab!95255))
|
||||
- [Support line chart for DORA charts](gitlab-org/gitlab@c9f7c96e71dddafd042ad9f7f061f163e95a6cbb) ([merge request](gitlab-org/gitlab!95591)) **GitLab Enterprise Edition**
|
||||
- [Add GraphQL custom emoji schema, flagged](gitlab-org/gitlab@0c964b70dfed5ebd644a940f542a1c7b7ec8bccc) ([merge request](gitlab-org/gitlab!95416))
|
||||
- [Provide ability to move a board card to the top/bottom of the list](gitlab-org/gitlab@bcec772529f65b323a8e29b192e7874f0ed5590d) ([merge request](gitlab-org/gitlab!93669))
|
||||
- [Enables track_work_items_activity feature flag by default](gitlab-org/gitlab@268f90547b538cf3bc0d550d4f0a7bf832964966) ([merge request](gitlab-org/gitlab!95654))
|
||||
- [Add GraphQL sort/filter/page crm organizations](gitlab-org/gitlab@342a27315653559815532186c1800a223d0a36e3) by @leetickett ([merge request](gitlab-org/gitlab!95368))
|
||||
- [Track CI/CD Tunnel usage](gitlab-org/gitlab@0dd8d6c5908091424b65efdc34d40037dda70dda) ([merge request](gitlab-org/gitlab!95648))
|
||||
- [Add present on default branch to project_id_and_id_active_cis index](gitlab-org/gitlab@ff812dd41e92ed9d35b5d69314568a2f380e601f) ([merge request](gitlab-org/gitlab!90426))
|
||||
- [Log JWT authentication failures](gitlab-org/gitlab@ffbfaf2173293fedf31f1add333be53336a5013c) ([merge request](gitlab-org/gitlab!95565))
|
||||
- [Show tooltip on hover on work item icons](gitlab-org/gitlab@1752660efd85f839143fe57f418c485c1ee6fceb) ([merge request](gitlab-org/gitlab!95563))
|
||||
- [Add Iteration Cadences to Group Import/Export](gitlab-org/gitlab@92d433ccda4efc50677d0f21d3b0fd8cb4fa5471) ([merge request](gitlab-org/gitlab!95372)) **GitLab Enterprise Edition**
|
||||
|
||||
### Fixed (163 changes)
|
||||
|
||||
- [Remove vulnerability approval rules](gitlab-org/gitlab@3f8f2309d7717157f90a298a502fa2f1fcf30df1) ([merge request](gitlab-org/gitlab!96293)) **GitLab Enterprise Edition**
|
||||
- [Fix default date timezone for VSA](gitlab-org/gitlab@16dc337f38b3abeab32357245d6c7018c6b9550d) ([merge request](gitlab-org/gitlab!97106))
|
||||
- [Fixing Deduplication of ProcessSyncEventsWorkers](gitlab-org/gitlab@27ce7b29958bb9022dd2779e302ad8360d9acc1a) ([merge request](gitlab-org/gitlab!97718))
|
||||
- [List groups from group shares on project transfer](gitlab-org/gitlab@849ab5557f96e4dfb40be035803f86bbbe3a2237) ([merge request](gitlab-org/gitlab!98191))
|
||||
- [Remove extra padding on every 8th participant in sidebar](gitlab-org/gitlab@fcc0416124c95d79eddf18c3cc3b3b1083f285ad) ([merge request](gitlab-org/gitlab!98001))
|
||||
- [Handle large offset more gracefully](gitlab-org/gitlab@43c1df2b305a1ccd0c38b96584cadda786c79441) ([merge request](gitlab-org/gitlab!97553))
|
||||
- [Show add button when user has sufficient permissions](gitlab-org/gitlab@57218a5226d3cfb1497ba77dd201dc213da47949) ([merge request](gitlab-org/gitlab!97782)) **GitLab Enterprise Edition**
|
||||
- [Don't show View entire blame button for a single blame page](gitlab-org/gitlab@dc9b94f76e241a799dadf78435ef908c40a80b70) ([merge request](gitlab-org/gitlab!98049))
|
||||
- [Resolve web hook edit page timeout](gitlab-org/gitlab@1b875cac2eae89ca8be288251efb1c4eec2360ac) ([merge request](gitlab-org/gitlab!98046))
|
||||
- [Fix selective code owner removals](gitlab-org/gitlab@730da89701b56ac098c0d8d70b2d98b6a29f6e5f) by @leetickett ([merge request](gitlab-org/gitlab!96933))
|
||||
- [Fix gitaly ref replication on project fork](gitlab-org/gitlab@44f8f29ff9731d1f011a015d8b8066d725415653) ([merge request](gitlab-org/gitlab!97210))
|
||||
- [Add a new ability for reading billable members](gitlab-org/gitlab@f26c03909120b7de26b88bdd4f56ab7c2c587434) ([merge request](gitlab-org/gitlab!97686)) **GitLab Enterprise Edition**
|
||||
- [Fill missing dates on VSA duration chart](gitlab-org/gitlab@111c3489523717445dbe9c28ffb4a2e6fe0cb55e) ([merge request](gitlab-org/gitlab!97230)) **GitLab Enterprise Edition**
|
||||
- [Resetting form doesn't affect submit button](gitlab-org/gitlab@18d431663205874dab0480e596752903509bf011) ([merge request](gitlab-org/gitlab!97480))
|
||||
- [Fix group IP allowlist update bug](gitlab-org/gitlab@000fdd31fe7f30491d12228aafa673b6056a951e) ([merge request](gitlab-org/gitlab!97768)) **GitLab Enterprise Edition**
|
||||
- [Fix 500 error sorting merge requests with approvers by milestone](gitlab-org/gitlab@c53867248589c0a56bf9f2f59e7cffc38a7454a3) ([merge request](gitlab-org/gitlab!97726))
|
||||
- [Show test reports immediately on pipeline tests tab](gitlab-org/gitlab@c9e8dff4ba3acc2af45fd33fa881f83fc25f7934) ([merge request](gitlab-org/gitlab!97494))
|
||||
- [Improve fast-forward merge service reliability](gitlab-org/gitlab@3a32634a9bc880d98f3b3f8ab7099d86b9498338) ([merge request](gitlab-org/gitlab!97871))
|
||||
- [Fixes spacing for issue widgets](gitlab-org/gitlab@219a108b07f99c9262aac24e6cbc176faf598cfc) ([merge request](gitlab-org/gitlab!97629)) **GitLab Enterprise Edition**
|
||||
- [Fix feature flag link in related feature flags](gitlab-org/gitlab@193b6f7091893dec80911dcabcdf83206cf03aa6) ([merge request](gitlab-org/gitlab!97861)) **GitLab Enterprise Edition**
|
||||
- [Fixes spacing for design management](gitlab-org/gitlab@4c6f80040d088222c6213cf52aceff7a5b7aab8e) ([merge request](gitlab-org/gitlab!97631))
|
||||
- [Fix json payload for external status check feature](gitlab-org/gitlab@b4514086c5168591fa9f80323e2c78dfd0759401) ([merge request](gitlab-org/gitlab!97821)) **GitLab Enterprise Edition**
|
||||
- [Fix group name in memberships export email](gitlab-org/gitlab@05bb570d350ec98da6ffaf6d18ae87327136e93d) ([merge request](gitlab-org/gitlab!97665)) **GitLab Enterprise Edition**
|
||||
- [Prevent error when user has approved the merge request](gitlab-org/gitlab@6b5895aa4d6d13075a28df593f2676f2483307ff) by @batu ([merge request](gitlab-org/gitlab!97448))
|
||||
- [Fix: locale issues on repository settings](gitlab-org/gitlab@f61d64b677fb3c11ca2e3fb743c079e20d83d102) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!97786)) **GitLab Enterprise Edition**
|
||||
- [Create authroizations record for personal projects](gitlab-org/gitlab@173e32655c7ef30a6b3f9725938d1420015441f9) ([merge request](gitlab-org/gitlab!97118))
|
||||
- [Remove search bar from project/group hook log pages](gitlab-org/gitlab@00409b5d76cbf3b08e1801ac34470d01a128e514) ([merge request](gitlab-org/gitlab!95973))
|
||||
- [Fix: milestones sidebar locale issue](gitlab-org/gitlab@99a787c93d4ddfb44077e6f5ea5a611c60a650d5) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!97741)) **GitLab Enterprise Edition**
|
||||
- [Geo: Avoid runaway queue growth](gitlab-org/gitlab@c3a0355351d0bf57cd15118d66501fa831b8012a) ([merge request](gitlab-org/gitlab!97442)) **GitLab Enterprise Edition**
|
||||
- [Use distinct location fingerprints for manually created vulnerabilities](gitlab-org/gitlab@474acee857d74a6adb7f8464ad46954f28a38c61) ([merge request](gitlab-org/gitlab!97720)) **GitLab Enterprise Edition**
|
||||
- [Add flex wrap tp prevent aws logo from overflowing](gitlab-org/gitlab@d88c1f464bf2d127348d4eba7d4356e04a42a7c1) by @beverett ([merge request](gitlab-org/gitlab!94498))
|
||||
- [Add db fixtures for providers](gitlab-org/gitlab@93c183fb344dcac98fe22124041dece065c08cfd) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95953)) **GitLab Enterprise Edition**
|
||||
- [CI npm template: Fix comparison of pre-release versions](gitlab-org/gitlab@cc59396a7e654518f64dd56de02af6ab503e57a6) by @the_s ([merge request](gitlab-org/gitlab!97357))
|
||||
- [Update the Changes tab with the real file count when it loads](gitlab-org/gitlab@68c56126f3a9adaee9317bfa7214fc993c055aa1) ([merge request](gitlab-org/gitlab!96205))
|
||||
- [Override ancestor icon background for dark mode](gitlab-org/gitlab@ebdb36fb58590a92ddeabfdedde19832d0d4c741) ([merge request](gitlab-org/gitlab!97621))
|
||||
- [Use first day of week in roadmap](gitlab-org/gitlab@e1b8e4834f2d19446d934a4ba95e4b6d08538746) ([merge request](gitlab-org/gitlab!97623)) **GitLab Enterprise Edition**
|
||||
- [Prevent outdated manual deployment jobs from being ran](gitlab-org/gitlab@7eaf7b5206da80a6f50d653b4e7f6ef7c9eaf91e) ([merge request](gitlab-org/gitlab!97171))
|
||||
- [Remove unintended "#" from push_to_merge_request_email](gitlab-org/gitlab@489c07afb9f599482554ed542e4933e9ff0a096c) ([merge request](gitlab-org/gitlab!97555))
|
||||
- [Fix trial applying bug in .com](gitlab-org/gitlab@dbda37b92dfa4c6025f7077932be5b5a6d114c32) ([merge request](gitlab-org/gitlab!97558)) **GitLab Enterprise Edition**
|
||||
- [Fix paste markdown feature in Content Editor](gitlab-org/gitlab@9bb5bc27851d1118e8d9aaa7e45a690fad54313d) ([merge request](gitlab-org/gitlab!97538))
|
||||
- [Improve VSA edit modal responsiveness](gitlab-org/gitlab@a223acc262f8d5a282af0e335d5c20eea1854a98) ([merge request](gitlab-org/gitlab!97387)) **GitLab Enterprise Edition**
|
||||
- [Give blob header buttons correct spacing](gitlab-org/gitlab@916855a595bfdd43c03861f32aaaa256a4e3d615) ([merge request](gitlab-org/gitlab!97524))
|
||||
- [Fix GitHub import un/assigned events](gitlab-org/gitlab@42afcb30a6c3fde10b7fc843c8845e95298134bf) ([merge request](gitlab-org/gitlab!97069))
|
||||
- [Fix deploy freezes when period overlaps with itself](gitlab-org/gitlab@0366c3d1b8a97573d6c8b9d89e156f29dbb8833c) ([merge request](gitlab-org/gitlab!97474))
|
||||
- [Hide Auto DevOps button on the project page](gitlab-org/gitlab@c294f5fd9b8a571102c2a44899a75b7d22d28bcd) ([merge request](gitlab-org/gitlab!97242))
|
||||
- [Show visibility level when creating subgroup](gitlab-org/gitlab@d020b5a946711f073b5844946c7815378f2bfe70) ([merge request](gitlab-org/gitlab!97224))
|
||||
- [Remove hidden checkboxes when not needed](gitlab-org/gitlab@f8402ad55ab74f0720a81580013402dce482619e) ([merge request](gitlab-org/gitlab!97380))
|
||||
- [Ensure the VSA duration chart renders all dates](gitlab-org/gitlab@5f8fbcb4990b15fb7ec0a0347fcd73af73e5fb36) ([merge request](gitlab-org/gitlab!96634)) **GitLab Enterprise Edition**
|
||||
- [Fix: pipeline reports missing secret detection report](gitlab-org/gitlab@f542bec855296720fde3840ac1ec392e48d85ca0) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!96841)) **GitLab Enterprise Edition**
|
||||
- [Fix: repository analytics time rendering locale issue](gitlab-org/gitlab@18dfa0c4ad77c62c9ede847408a0c5ebf0074b20) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!97369)) **GitLab Enterprise Edition**
|
||||
- [Geo: Realign concurrency limits](gitlab-org/gitlab@293195c6c3d11a96a5dc68d4b8ad25f045a4d7b9) ([merge request](gitlab-org/gitlab!96934)) **GitLab Enterprise Edition**
|
||||
- [This MR fixes bug with missing banner](gitlab-org/gitlab@d322d14138233964f9b42c0ec67ffb46ee51b458) ([merge request](gitlab-org/gitlab!97050))
|
||||
- [Fix environment auto stop in assignment when former value present](gitlab-org/gitlab@37e0becee88f4da0e8219077c88eab74f5ffc271) ([merge request](gitlab-org/gitlab!97425))
|
||||
- [Fix: locale on reviewer sidebar](gitlab-org/gitlab@e60e37ea5b9c1f18a980ea50bb28303de7117e21) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!97018))
|
||||
- [Fix sha argument passing of ProjectType.ci_config_variables](gitlab-org/gitlab@32bc27c2f2275ac8df95ca736ee8d8ded207c29d) ([merge request](gitlab-org/gitlab!97166))
|
||||
- [Sort timeline events by occurred_at then by id](gitlab-org/gitlab@cfde27acbdd0e066589728f7f59c4f94a88676eb) ([merge request](gitlab-org/gitlab!96626))
|
||||
- [Return 0 when credit_card_validation.holder_name is nil](gitlab-org/gitlab@4c9ef3b0ce7f27bb673cb2f81ef84ca7306cc3df) ([merge request](gitlab-org/gitlab!97081))
|
||||
- [Fix: locale on assignee sidebar](gitlab-org/gitlab@a8798caefd860db9108796afc199f1633d12271f) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!97012))
|
||||
- [Fix padding for text editors](gitlab-org/gitlab@f0401ac8022f0eb09e149791d648962f37ac5f45) ([merge request](gitlab-org/gitlab!97257)) **GitLab Enterprise Edition**
|
||||
- [Switch 'b' shortcut to not ever focus or click an in-page element](gitlab-org/gitlab@ba7516b35ce21fb55c858e1a0740f3a9f827f945) ([merge request](gitlab-org/gitlab!95637))
|
||||
- [Fix boards switcher for unauthorized user](gitlab-org/gitlab@ffd538c9c8d87e755d5c8ea274c72630accf8866) ([merge request](gitlab-org/gitlab!97209))
|
||||
- [Fix subgroup support for approval rules](gitlab-org/gitlab@9d607b26acc6bfac12a377ba5232cbe06fc22c8d) ([merge request](gitlab-org/gitlab!96657)) **GitLab Enterprise Edition**
|
||||
- [Handling Database Timeouts in gitlab:db:truncate_legacy_tables:*](gitlab-org/gitlab@34f950ced268acc38a670e1963b51ed3b28c6d9f) ([merge request](gitlab-org/gitlab!96576))
|
||||
- [Fix: new compare merge request locale issues](gitlab-org/gitlab@17ca2fc585dc5af8e5abed510979f783c53d270a) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!97084))
|
||||
- [Removed detached prefix from mr pipelines](gitlab-org/gitlab@f1e6cffaca85f486cf208c1ae81f754a0801ad92) by @leetickett ([merge request](gitlab-org/gitlab!97021))
|
||||
- [Prevent race condition when jobs acquire resource groups](gitlab-org/gitlab@15f5d957bb6f4cb9d47661e2806be93747439f05) ([merge request](gitlab-org/gitlab!96786))
|
||||
- [Invalidate the merge request cache when assignee/reviewer changes](gitlab-org/gitlab@3ed1e8f26991401ec745dae195dd342c3475ceff) ([merge request](gitlab-org/gitlab!96860))
|
||||
- [Fix stage name escaping in pipeline views](gitlab-org/gitlab@82c2a55e74337cd082dd32981fae9605f2787a5b) by @fabsrc ([merge request](gitlab-org/gitlab!96869))
|
||||
- [Fix wrapping in source files](gitlab-org/gitlab@81ddd10525c415fe1d8fcd4d27af5e41c7fb9893) ([merge request](gitlab-org/gitlab!96888))
|
||||
- [Call .length rather than .size so another query isn't executed](gitlab-org/gitlab@8a0f5b7a015dd102ea6d914d161fe712fa08dd75) ([merge request](gitlab-org/gitlab!96769))
|
||||
- [Trigger hooks when updating assignees via GraphQL](gitlab-org/gitlab@46c10dd2437dabdad33e2c71c5db1960a588850f) ([merge request](gitlab-org/gitlab!96726))
|
||||
- [Multiline blockquote leading/trailing newline](gitlab-org/gitlab@b96c029bff512352881f7658c3cfabec49a65e54) ([merge request](gitlab-org/gitlab!95967))
|
||||
- [Update region codes on gtag analytics](gitlab-org/gitlab@75e5d5d0e5bfa78c8550cb200f0d5ec6c359dd24) ([merge request](gitlab-org/gitlab!95650))
|
||||
- [Fix oauth password to not be forced to be lowercase](gitlab-org/gitlab@6d279a74ab8e814a1abae4cbaebcc67a0f10e6da) by @mtan-gitlab ([merge request](gitlab-org/gitlab!96442))
|
||||
- [Update squash commit SHA outside of merge method](gitlab-org/gitlab@12b7988976a50dbb60012271b6b602eaddc702b8) ([merge request](gitlab-org/gitlab!96806))
|
||||
- [Fix visual regression in top toolbar](gitlab-org/gitlab@7fab72d5bc787e41554cde87f079f1f6205af2ab) ([merge request](gitlab-org/gitlab!95626))
|
||||
- [Improve toolbar performance](gitlab-org/gitlab@837c2ddaccf27742d7a826bb686765b7902cecdd) ([merge request](gitlab-org/gitlab!95626))
|
||||
- [Clean up orphaned invited members](gitlab-org/gitlab@66478d170fe0050bd06d52248f54256ae37367b9)
|
||||
- [Fix parsing commit trailers without specified email](gitlab-org/gitlab@ac218dfdbd3e3030fa4870cd745b39b3a31cad68) ([merge request](gitlab-org/gitlab!96791))
|
||||
- [Fix link bubble menu bug](gitlab-org/gitlab@261596d709774fb9ab94ad622133212e9af55014) ([merge request](gitlab-org/gitlab!95954))
|
||||
- [Remove any broken symlink before creating it for .gitlab_shell_secret](gitlab-org/gitlab@ac65596e8160103c9c02240eafd0b92830172d36) ([merge request](gitlab-org/gitlab!96775))
|
||||
- [Use FIFO as pending builds strategy for group runners](gitlab-org/gitlab@06c30825126291df9e91e5426f6127f77ab7eaaa) by @wwwjon ([merge request](gitlab-org/gitlab!94815))
|
||||
- [Fix 500 error for Commits API](gitlab-org/gitlab@d0749f2e3a39d29cdc0df2b566948f1baa648440) ([merge request](gitlab-org/gitlab!96768))
|
||||
- [Fixed note buttons spacing on issues](gitlab-org/gitlab@0618fa5473a0de1336b421133ac62c6166c47a64) by @zillemarco ([merge request](gitlab-org/gitlab!96750))
|
||||
- [Fix markdown tabs alignment on issue/MR create pages](gitlab-org/gitlab@f7c392905e03253cba1512895a7aacc25c53b86f) ([merge request](gitlab-org/gitlab!96720))
|
||||
- [Geo: Fix redirects of LFS transfer downloads](gitlab-org/gitlab@5ada5356d1ccfc67169a84fa7eedee76bb09616b) ([merge request](gitlab-org/gitlab!95974)) **GitLab Enterprise Edition**
|
||||
- [Fixes todo button in sticky header not working](gitlab-org/gitlab@8fe1cb2e4405fc98ff1299d1c6ed1059e9c864d2) ([merge request](gitlab-org/gitlab!96643))
|
||||
- [Fix start_line/end_line link values](gitlab-org/gitlab@e5312c60660ce556f10ff250c42eedb3dae98eed) ([merge request](gitlab-org/gitlab!96580)) **GitLab Enterprise Edition**
|
||||
- [Fix page javascript after a deploy token got created](gitlab-org/gitlab@3c912ddb5c000f01bd2172a5690ae999674abb22) ([merge request](gitlab-org/gitlab!96671))
|
||||
- [Fix for broken tag/branch switcher](gitlab-org/gitlab@29c119aec34e463ed57eb46557ae6bbd393de833) ([merge request](gitlab-org/gitlab!96564))
|
||||
- [Use dynamic select dropdown on forks form](gitlab-org/gitlab@b1370d6bbb7b7a989b39ad956d5146410ba28638) ([merge request](gitlab-org/gitlab!92363))
|
||||
- [Fix/Add css selector](gitlab-org/gitlab@e9f188e1420fcca8ddc108347de63bb2e6d46edb) by @TrueKalix ([merge request](gitlab-org/gitlab!95171))
|
||||
- [Fix/Add css selector](gitlab-org/gitlab@1cbb78d4a8a438ab5a988b19e2d17016b93aefff) by @TrueKalix ([merge request](gitlab-org/gitlab!95178))
|
||||
- [Enable geo_batch_count feature flag](gitlab-org/gitlab@af7d9861d222c8b141cb4e0795a9b5241d69156c) ([merge request](gitlab-org/gitlab!96574)) **GitLab Enterprise Edition**
|
||||
- [Save repository size limit set in admin group page correctly](gitlab-org/gitlab@88566c55bd2d2f101b9d3575d9a0d6d041569d5b) ([merge request](gitlab-org/gitlab!96193)) **GitLab Enterprise Edition**
|
||||
- [Fix incorrect job artifacts expire_at](gitlab-org/gitlab@94099c2b22dc5a0a20a1602749e3a042e9b7d4c7) ([merge request](gitlab-org/gitlab!89318))
|
||||
- [Fix language mapping in the Source Viewer](gitlab-org/gitlab@a567b2f04b7bbdac52b0cb8f692a9ca2f2089534) ([merge request](gitlab-org/gitlab!96043))
|
||||
- [Fix SVGs not rendering in issuables](gitlab-org/gitlab@6ff8a04cf1087b14e656e76a624c01198107474f) ([merge request](gitlab-org/gitlab!96398))
|
||||
- [Do not prefill new form again with successfully created deploy token](gitlab-org/gitlab@dfa031ff4380ee2c497f5261fd06ea5839f96fb2) ([merge request](gitlab-org/gitlab!95477))
|
||||
- [Fix custody report CSV for projects inside subgroup](gitlab-org/gitlab@693982937b30a9a1f8d1ce0afcefc34fdc694e62) ([merge request](gitlab-org/gitlab!96396)) **GitLab Enterprise Edition**
|
||||
- [Fix not showing "job dependencies" view when all jobs are bridges](gitlab-org/gitlab@b7976b54aac2555e3e600e5201829532a735d0e7) ([merge request](gitlab-org/gitlab!89660))
|
||||
- [Fix 'Assign yourself' visibility for users without permissions](gitlab-org/gitlab@d10bb9a9b246cf854ebebd553d0d23f331088c2e) by @zillemarco ([merge request](gitlab-org/gitlab!96378))
|
||||
- [Fix missing metadata for system notes](gitlab-org/gitlab@09ec6dc0e0da4d9511c16470df56183e336513b4) ([merge request](gitlab-org/gitlab!96272))
|
||||
- [Fix: issue list assignees label translation](gitlab-org/gitlab@9d587a0ba9780cd1388c9e78c27712dfc105750b) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!95891))
|
||||
- [Board card location row breaks incorrectly fix](gitlab-org/gitlab@224cd1e0467a0ce45639d46d97c5b3574a217388) ([merge request](gitlab-org/gitlab!96330))
|
||||
- [Add screen reader only text to content editor dropdowns](gitlab-org/gitlab@2868c30075958b6471aacef48982e3a1b6b16799) ([merge request](gitlab-org/gitlab!96296))
|
||||
- [Handle the exception in case of large yml](gitlab-org/gitlab@e4efa43f0471cf13c4d4a3dc6cd25e6b692dec8b) ([merge request](gitlab-org/gitlab!94192)) **GitLab Enterprise Edition**
|
||||
- [Fix empty state MR pipeline run](gitlab-org/gitlab@b9f5e5337031cbb7e7da9d691dc26e3efb898d19) ([merge request](gitlab-org/gitlab!96200))
|
||||
- [Fix: merge request editing page wrong translations](gitlab-org/gitlab@650e0fff8741b4d3927612cfe4fd7aee3282f689) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!96003))
|
||||
- [Update 2FA requirements async for group members](gitlab-org/gitlab@1aa065f1cfc3da548c24a699a41373b4d99662b2) ([merge request](gitlab-org/gitlab!95424))
|
||||
- [Add missing runner variables to predefined list](gitlab-org/gitlab@fc7336f649b46ac402f7cbf5770c198ce6839e54) by @bbodenmiller ([merge request](gitlab-org/gitlab!93133))
|
||||
- [Fix search_files_by_name escaping names twice](gitlab-org/gitlab@f4b74eb15d4dbaea446daa1989a2b96ff62bb159) ([merge request](gitlab-org/gitlab!95672))
|
||||
- [Automatically remove leading spaces in project names](gitlab-org/gitlab@e56b0649cadd5dd5957f77f9657568ed768bb744) ([merge request](gitlab-org/gitlab!95952))
|
||||
- [Fix clear icon alignment](gitlab-org/gitlab@ddcf97140f1485089a460149f363787946761568) ([merge request](gitlab-org/gitlab!96169))
|
||||
- [Prevent invalid characters from causing diffs to error out](gitlab-org/gitlab@2642ebbcdc966562a9ce80ae9db476d2f866cc81) ([merge request](gitlab-org/gitlab!96192))
|
||||
- [Removing mixin from mr widget pipeline](gitlab-org/gitlab@a953759a9d489a7f25d02052410b719fc34dece5) ([merge request](gitlab-org/gitlab!96189))
|
||||
- [Alter when to send releasedAt when release created](gitlab-org/gitlab@78df38e392d0f9b5d67ea4b60308c4e1b9876c87) ([merge request](gitlab-org/gitlab!96183))
|
||||
- [Fix broken UI text in selector in dashboard milestones](gitlab-org/gitlab@f80d241b193587e11b85662f9e024e9b9f1a07b2) by @tnir ([merge request](gitlab-org/gitlab!96171))
|
||||
- [Ensure the VSA form loading state is rendered](gitlab-org/gitlab@64335ee973aaca21ef0356f7d756fa9fc90fcb3c) ([merge request](gitlab-org/gitlab!95343)) **GitLab Enterprise Edition**
|
||||
- [Fix hash order issue test in DORA reducer](gitlab-org/gitlab@5c4c0d21968f69f8f84b2f4dc2f077f92bd5998d) ([merge request](gitlab-org/gitlab!96161)) **GitLab Enterprise Edition**
|
||||
- [Improve the performance of bubble menus](gitlab-org/gitlab@efba65a89a6d470db1302f23520b78b5282318d8) ([merge request](gitlab-org/gitlab!95732))
|
||||
- [Fix missing project for included remote file including with rules:exists](gitlab-org/gitlab@e4e0ca6ed12c5c311a2b1f51d1701b57c8f72ca3) ([merge request](gitlab-org/gitlab!96138))
|
||||
- [Fix NoMethodError in IssueResolverArguments](gitlab-org/gitlab@37a5cb376de7c09ae02f519bce6e3ff83cd0c008) ([merge request](gitlab-org/gitlab!96149))
|
||||
- [Include reserved report_approvers rule names as](gitlab-org/gitlab@1649515cacb2a678b36fc43d7008723969e66ce9) ([merge request](gitlab-org/gitlab!96140)) **GitLab Enterprise Edition**
|
||||
- [Fix board sidebar links color](gitlab-org/gitlab@93505421d938f8b6a66a5034022aa3e4824bd474) ([merge request](gitlab-org/gitlab!96107))
|
||||
- [Fix hardcode text on new branch page](gitlab-org/gitlab@4fadebbdbde4d46ee1da068eba95133b2d2cf6aa) by @icbd ([merge request](gitlab-org/gitlab!95791))
|
||||
- [Fix nested ordered task list styling in issue description](gitlab-org/gitlab@147f117bc11dca64a69a084cb0a3919a075165b8) ([merge request](gitlab-org/gitlab!95799))
|
||||
- [Add gray color on component icon to fix all use cases](gitlab-org/gitlab@9aca6689d8641c9300de7199fbde11f0b6d1f7ff) ([merge request](gitlab-org/gitlab!95980))
|
||||
- [Fix fetching epics when changing sort option](gitlab-org/gitlab@87f0c2921bfdb6dc8ed04ceeb74e63fb6966e549) ([merge request](gitlab-org/gitlab!95978))
|
||||
- [Fix timelog type policy check](gitlab-org/gitlab@cb87176051f7f0abcbed3afae3d21c87d5ca12eb) by @leetickett ([merge request](gitlab-org/gitlab!96017))
|
||||
- [Remove extra space after dismissing free cap alert](gitlab-org/gitlab@b1096f5d1e3d44dad42d582cc9b663506c3bf8b0) ([merge request](gitlab-org/gitlab!96077)) **GitLab Enterprise Edition**
|
||||
- [Localize dateformat text](gitlab-org/gitlab@5d8a65289598dc8ed5dfa103b3e24946ba3f472d) ([merge request](gitlab-org/gitlab!95492))
|
||||
- [Improve blame link feature](gitlab-org/gitlab@a7f2ebae1b22602339f5bd6c2e2006be2da0d666) ([merge request](gitlab-org/gitlab!95962))
|
||||
- [Skip file removal if GitLab managed replication is disabled](gitlab-org/gitlab@76f7e413ec36f72196ba8e5cf10fb9be5f5f83ea) ([merge request](gitlab-org/gitlab!95937)) **GitLab Enterprise Edition**
|
||||
- [Fixed fullPath for assignees and labels](gitlab-org/gitlab@818e6eaf7b7686873ee412306145e30de60bb41f) ([merge request](gitlab-org/gitlab!95932))
|
||||
- [Open task in new window when doing ctrl/cmd+click](gitlab-org/gitlab@f26167fe3b53596d6799a72799849c9f45fa29d5) ([merge request](gitlab-org/gitlab!96024))
|
||||
- [Upgrade three.js dependency](gitlab-org/gitlab@a6c1066191cc8a8e759617310d0e4eac8015a1c4) ([merge request](gitlab-org/gitlab!95994))
|
||||
- [Fix issue searches using Russian characters](gitlab-org/gitlab@5763d4c8b0793f2bdfbd27c6cf88bb6eee8e8575) ([merge request](gitlab-org/gitlab!96005))
|
||||
- [Fix: untranslated merge request consent box](gitlab-org/gitlab@88f9e12b4a3d657921bd4498938fe7bc7d211d38) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!95993))
|
||||
- [Remove redundant class name from group template](gitlab-org/gitlab@2afbf0c771b76d194c9fe1d5db90912293c2262c) by @tnir ([merge request](gitlab-org/gitlab!94462))
|
||||
- [Added lowercase to the actual con-reg api call](gitlab-org/gitlab@5a908aff6fe2932cab9df26b2f84ba5ca121bbaa) ([merge request](gitlab-org/gitlab!95923))
|
||||
- [Fixed alignment of MR activity dropdowns on mobile](gitlab-org/gitlab@592d46ffebc1180df9301e12aa204b5fc7b1e5ee) by @zillemarco ([merge request](gitlab-org/gitlab!95715))
|
||||
- [Handle all uploads instead of a hardcoded list](gitlab-org/gitlab@e588f0e910adc771903a55130ff9df482776a593) ([merge request](gitlab-org/gitlab!95587))
|
||||
- [Bypass earliest date validation in importing of iteration cadences](gitlab-org/gitlab@1959672609f03ace6c4e9c873dde9a79ea87df2a) ([merge request](gitlab-org/gitlab!95872)) **GitLab Enterprise Edition**
|
||||
- [Fix Geo removing uploads on object storage](gitlab-org/gitlab@59cce76ac68a6fc0549f9a98e8f1bbde81fc7dca) ([merge request](gitlab-org/gitlab!95130)) **GitLab Enterprise Edition**
|
||||
- [Set all attachments to Content-Type application/octet-stream](gitlab-org/gitlab@d77bb599a6287fa0a90b932df53243a439a87b95) ([merge request](gitlab-org/gitlab!95859))
|
||||
- [Do not update approval rules for merge request](gitlab-org/gitlab@91753d421635fcb6d087405a77b8571ce2b5dee5) ([merge request](gitlab-org/gitlab!95727)) **GitLab Enterprise Edition**
|
||||
- [Rake Task gitlab:db:lock_writes more efficient](gitlab-org/gitlab@9c9970a027dd2e9a32aab34468cf2e11ad73a6f6) ([merge request](gitlab-org/gitlab!95728))
|
||||
- [Update subscription service for new hashed OAuth tokens](gitlab-org/gitlab@3b169c6739bb2589350f061e61ab395eb9cfefef) ([merge request](gitlab-org/gitlab!95647)) **GitLab Enterprise Edition**
|
||||
- [Ignore accents in search term when searcing issues](gitlab-org/gitlab@8ffa3144cfd230e768797ac3ade452318c15c2ce) ([merge request](gitlab-org/gitlab!95262))
|
||||
- [Update Oj to v3.13.21](gitlab-org/gitlab@866dbfb1d4cb0df414679b20338a2f23aea240d8) ([merge request](gitlab-org/gitlab!95822))
|
||||
- [Make compliance report email `html_safe`](gitlab-org/gitlab@519c7683d8bcf784e2bb965f28fe856653fecad7) ([merge request](gitlab-org/gitlab!95578))
|
||||
- [Quick fix for the move to position](gitlab-org/gitlab@cf52ecf5c62e110b9b3c56010c3b0ced56a37f4f) ([merge request](gitlab-org/gitlab!95777))
|
||||
- [Fix Redis pipeline/multi-exec deprecation errors](gitlab-org/gitlab@7957211eafd09c215dea4f854c5f4b403de48bc8) ([merge request](gitlab-org/gitlab!95402))
|
||||
- [Geo: Fix registry backfilling](gitlab-org/gitlab@b3ee8ce858a7386c33e576431fd395fe1f11e4fb) ([merge request](gitlab-org/gitlab!87720)) **GitLab Enterprise Edition**
|
||||
- [Fix user recent activity links for work item actions](gitlab-org/gitlab@59a2abe050440ea9020a3d80609410189a3af481) ([merge request](gitlab-org/gitlab!95738))
|
||||
- [Restore transaction block while extracting sync](gitlab-org/gitlab@f73a430c0704dbee936055b1eb206581ec2eb261) ([merge request](gitlab-org/gitlab!95400)) **GitLab Enterprise Edition**
|
||||
- [Fix issue description list item reordering indentation](gitlab-org/gitlab@83bfd9271c35467252d7603b9b75d90074e164aa) ([merge request](gitlab-org/gitlab!95487))
|
||||
- [Fix boards alignment and dark mode issues](gitlab-org/gitlab@fdeec5e0f0bebdbf72fca8d513f378b3ea05e7ea) ([merge request](gitlab-org/gitlab!95026))
|
||||
- [Fix visual bugs from !95073](gitlab-org/gitlab@510b2d9638e060d51ef69025fbab07561f867e22) ([merge request](gitlab-org/gitlab!95638))
|
||||
- [Fix CI/CD legacy variables fetching group projects](gitlab-org/gitlab@2432e4d89f4a4df403a8e435eb74ca4db4749679) ([merge request](gitlab-org/gitlab!95624))
|
||||
- [Hide copy failed tests button when endpoint returns null files](gitlab-org/gitlab@a880fbead69e7d421710acef2ea2ef12cc2de52b) ([merge request](gitlab-org/gitlab!95558))
|
||||
- [Fix detection of URLs in markdown selection](gitlab-org/gitlab@4e7190b4f94273b8abf51147c1909b63efb97079) ([merge request](gitlab-org/gitlab!95353))
|
||||
|
||||
### Changed (167 changes)
|
||||
|
||||
- [Rename last_run_date to next_run_date](gitlab-org/gitlab@d5f107d679116f60cfc2d0563f1fb323cac36be7) ([merge request](gitlab-org/gitlab!91074))
|
||||
- [Update pg_query to v2.1.4](gitlab-org/gitlab@91a037f7c17a0a61e0416833d34cefcd06538281) ([merge request](gitlab-org/gitlab!98274))
|
||||
- [Convert issues analytics table to graphql](gitlab-org/gitlab@b85f0a86da91ce50c2d4070cf2eacf5271a6bd46) by @ali_o_kan ([merge request](gitlab-org/gitlab!97955)) **GitLab Enterprise Edition**
|
||||
- [Hash Oauth application secrets](gitlab-org/gitlab@e0452a432d8424b72e2531edf93b1d96332bbf98) ([merge request](gitlab-org/gitlab!96252))
|
||||
- [Fix: notify locale on new user email](gitlab-org/gitlab@92f17aba68cb8e1c584b4b245e5a13a82c19476d) by @qt-gith ([merge request](gitlab-org/gitlab!96732))
|
||||
- [Cleanup attention request related system notes](gitlab-org/gitlab@2231abbc1f92d8f6d4342ddf651e543f532dcc65) ([merge request](gitlab-org/gitlab!97753))
|
||||
- [Remove temp index group membership namespace id](gitlab-org/gitlab@8d5ef9e45a40d9a475dd2d260f1c6a65797ff889) ([merge request](gitlab-org/gitlab!93324))
|
||||
- [Add graphql feature flag for job_app](gitlab-org/gitlab@a7af150a2109ffc9282b17fcf0d45f77be1884cb) ([merge request](gitlab-org/gitlab!96703))
|
||||
- [Account for inherited runners in RunnerPolicy](gitlab-org/gitlab@4298966270e3ba2474e3527f7fa4a1d781cb7ca9) ([merge request](gitlab-org/gitlab!97263))
|
||||
- [Allow job token configuration while disabled](gitlab-org/gitlab@d4e7795c37ec1a057c1eef0013b143b4529fb01d) by @ali_o_kan ([merge request](gitlab-org/gitlab!96661))
|
||||
- [Use a stacked layout for runners list](gitlab-org/gitlab@272b381d6b71d2347703b89104816935ee2734d1) ([merge request](gitlab-org/gitlab!98004))
|
||||
- [Adjust codequality inline severity icon](gitlab-org/gitlab@81f9bdc01cbf1af403c46246fcb68de2d1240c71) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96472)) **GitLab Enterprise Edition**
|
||||
- [Add project harbor registry feature flag](gitlab-org/gitlab@7e45ed04402d0e5fc08fc82cf89f373827cfa45f) by @orozot ([merge request](gitlab-org/gitlab!98060))
|
||||
- [Fix: notify locale on pipeline fixed email](gitlab-org/gitlab@66f8bed1f662c4e78c514130b2b9b8d8020c6091) by @qt-gith ([merge request](gitlab-org/gitlab!96730))
|
||||
- [Hide information for blocked user in popover](gitlab-org/gitlab@65ef9b86a4092270963b6e59cc22aa35cff7fcce) ([merge request](gitlab-org/gitlab!97670))
|
||||
- [Add new MR environment auto-stop logic](gitlab-org/gitlab@7c6383a74b1e17235c58b40d9ae85ba6122c8165) ([merge request](gitlab-org/gitlab!96827))
|
||||
- [Add epoch column to rpm metadata](gitlab-org/gitlab@7fb9a35ffc4b31457455ddab26da2c4eb759d998) ([merge request](gitlab-org/gitlab!97710))
|
||||
- [Merge branch '359067-rename-package-files-to-assets' into 'master'](gitlab-org/gitlab@312798606324084ff1d3c426e18c06b7a2ede154) ([merge request](gitlab-org/gitlab!93962))
|
||||
- [Add bot badge in user list for admins](gitlab-org/gitlab@e63b0c1ec04d0d2ea5ef7762e97995e4176ae220) ([merge request](gitlab-org/gitlab!97584))
|
||||
- [Issuable title updates no longer update last_edited values](gitlab-org/gitlab@66f216011ccb4c8e6fe338d5ceb86f9b339047c9) ([merge request](gitlab-org/gitlab!97721))
|
||||
- [Move Google IP fetch into a separate service with rate limiting](gitlab-org/gitlab@0535ff53a0673a07661aaa9bfd3900a74a7bee0a) ([merge request](gitlab-org/gitlab!97709))
|
||||
- [Fix: notify locale on remote mirror update failed email](gitlab-org/gitlab@cba01daeeb1639902dbd2d46da1b44950a3e1867) by @qt-gith ([merge request](gitlab-org/gitlab!96636))
|
||||
- [Enable restyle_login_page by default](gitlab-org/gitlab@2aa2242efd1bd88447bd9f7115dde70d7e1950fe) ([merge request](gitlab-org/gitlab!97499))
|
||||
- [Changed draft text](gitlab-org/gitlab@c198956c5c834b36bfe2f135bf8f23d56b9d611c) by @mehulsharma ([merge request](gitlab-org/gitlab!96629))
|
||||
- [Use default project for epic issue creation](gitlab-org/gitlab@c56d15622ec0e4ab225c57e0b1d7a279e33f321c) ([merge request](gitlab-org/gitlab!97513)) **GitLab Enterprise Edition**
|
||||
- [Add bot badge in project and group member lists](gitlab-org/gitlab@1dcabb6a83bb273739919ed5ed3c0c84e0de67e2) ([merge request](gitlab-org/gitlab!97583))
|
||||
- [Feat(Subscripion activation): add error handling](gitlab-org/gitlab@5a9ac6d454b3228b536d212ce955202274ccf748) ([merge request](gitlab-org/gitlab!95807)) **GitLab Enterprise Edition**
|
||||
- [Adds redirection when cleanup policy is saved](gitlab-org/gitlab@16addf6d8842431a4eaee13ace73dcb12c79cc7b) ([merge request](gitlab-org/gitlab!97085))
|
||||
- [GraphQL Max Call field extension](gitlab-org/gitlab@9d0cedfaf68b71d0874cef7f8a7a21e18f47fb5e) ([merge request](gitlab-org/gitlab!95885))
|
||||
- [Update SubscriptionUpgradeInfoCard title when group is in a trial](gitlab-org/gitlab@246d95f7d763cd027fd9e9b47fe977c143825d39) ([merge request](gitlab-org/gitlab!97250)) **GitLab Enterprise Edition**
|
||||
- [Move file editor CSS to its own page bundle](gitlab-org/gitlab@d0bad14bcd4a86394a69e205c5c4204b958e89cf) ([merge request](gitlab-org/gitlab!97862))
|
||||
- [Remove the markdown_corrected_blockquote](gitlab-org/gitlab@51f8cab8a86fb9dfa5c30cf62ddebefc41f455b0) ([merge request](gitlab-org/gitlab!97859))
|
||||
- [Unlock CI pipeline artifacts when pipeline is unlocked](gitlab-org/gitlab@4cff4b9bd362fb0a59119b1557a4e78e94c92562) ([merge request](gitlab-org/gitlab!97228))
|
||||
- [Updated show work item page title](gitlab-org/gitlab@8513fb267bb9de1ac3723c1476e49303f939fcfb) ([merge request](gitlab-org/gitlab!94834))
|
||||
- [Remove exess buttons](gitlab-org/gitlab@4d8d947fcbb3d44e73ad9662adcfb203ef6cb102) ([merge request](gitlab-org/gitlab!97389))
|
||||
- [Update default initializer value for Sidekiq routing_rules](gitlab-org/gitlab@270941d79b60971e21d120063bb4aeb28a9e89c9) ([merge request](gitlab-org/gitlab!97908))
|
||||
- [Update Service Desk settings help text](gitlab-org/gitlab@dcd1058845a64b43f2cd86e5f596056516fa56cb) ([merge request](gitlab-org/gitlab!97463))
|
||||
- [Update Service Desk settings help text](gitlab-org/gitlab@f0d622a23d6355c8b87ad45f0eb636c66c26d410) ([merge request](gitlab-org/gitlab!97346))
|
||||
- [Mass update legacy Slack integrations](gitlab-org/gitlab@4d8b0ffe316a9fb1de0c3e29a847ad6dcd75e49a) ([merge request](gitlab-org/gitlab!97734))
|
||||
- [Update third party login styles](gitlab-org/gitlab@ba5438feb39c3006b139e468b12d5bdb595fd4d5) ([merge request](gitlab-org/gitlab!97232))
|
||||
- [Narrow the definition of an OSS contribution](gitlab-org/gitlab@f5c53637e3710f1bd4f8fb2cb7db98e716a728cb) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97713))
|
||||
- [Allow to sort tags by semantic version](gitlab-org/gitlab@9e5bfce2d5e2badfd05bcc0b8198568c43653e8e) ([merge request](gitlab-org/gitlab!95095))
|
||||
- [Splits feature flag for removing note attributes](gitlab-org/gitlab@e2a7b297ec69de78d76e667c0efc9e422fc57b59) ([merge request](gitlab-org/gitlab!97520)) **GitLab Enterprise Edition**
|
||||
- [Rename last_used_before scope to last_used_before_or_unused](gitlab-org/gitlab@6eaa6cf5bf6655b089f93c92383786a801fcca46) by @TrueKalix ([merge request](gitlab-org/gitlab!97636))
|
||||
- [Add prefix comment on note in backend](gitlab-org/gitlab@fb15bc0d67a6c553e30e6e337c3057713ff1bfd7) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97473))
|
||||
- [Update license compliance docs](gitlab-org/gitlab@ae5b5233585729980f010f3645f1a3a15c8b6142) ([merge request](gitlab-org/gitlab!97417)) **GitLab Enterprise Edition**
|
||||
- [Add setting for max pages custom domains per project](gitlab-org/gitlab@74f9042b8965f0e5008d7a5cdab481309ad8c064) ([merge request](gitlab-org/gitlab!95610))
|
||||
- [This MR enables feature flag](gitlab-org/gitlab@dc9b0bbc2215bbd0fd2fff471e5caa4cfcb88db1) ([merge request](gitlab-org/gitlab!96678)) **GitLab Enterprise Edition**
|
||||
- [Simplify primary navigation bar and align global search to the left](gitlab-org/gitlab@325c6dc89f3f2e74bbe5da707c9e9b51576c6ed7) ([merge request](gitlab-org/gitlab!96932))
|
||||
- [Simplify primary navigation by removing infrequently used options](gitlab-org/gitlab@5c0ad0b8d229dd41fcbf259e7d2236b3b56685be) ([merge request](gitlab-org/gitlab!96931))
|
||||
- [Removed vuln training message](gitlab-org/gitlab@fb43545d8109462911d3026d26659e48043a513b) ([merge request](gitlab-org/gitlab!97540)) **GitLab Enterprise Edition**
|
||||
- [Removed and-Separators with comma-separators](gitlab-org/gitlab@8cd7188390cc6be6327f2c51a2d26668fb378141) by @anshulriyal ([merge request](gitlab-org/gitlab!94134))
|
||||
- [Cleanup «New tag» page](gitlab-org/gitlab@57d5c134148d745a38f7b8267f26814bf147c96f) ([merge request](gitlab-org/gitlab!97495))
|
||||
- [Pipeline job pill alignment](gitlab-org/gitlab@df7a7e94913f4a800e9e30c163c8edb79c84864c) ([merge request](gitlab-org/gitlab!97505))
|
||||
- [Update controller update to allow clean MD render](gitlab-org/gitlab@f79f6e1086abc59bc36aa9156745deeb2982e030) ([merge request](gitlab-org/gitlab!95938))
|
||||
- [Lower the default Rails.cache ttl to 8 hours](gitlab-org/gitlab@e63fee03348cb7b9d16bcfd94f2db20f4e8b79d7) ([merge request](gitlab-org/gitlab!97374))
|
||||
- [Improve account limit settings text](gitlab-org/gitlab@ffb0113e24f67eb87b017679e23c52014e97d93c) ([merge request](gitlab-org/gitlab!97456))
|
||||
- [Update dependency auto-deploy-image to v2.37.0](gitlab-org/gitlab@82b4785d0a6121f3be1cb7586d7c2228f8fe1cde) ([merge request](gitlab-org/gitlab!94920))
|
||||
- [Improve UI text of FloC setting](gitlab-org/gitlab@95f2df1b66d50441dad67fc85478eb8e58617f7a) ([merge request](gitlab-org/gitlab!97204))
|
||||
- [Fix: notify locale on push to merge request email](gitlab-org/gitlab@e3db01096b67084041a08eba555b826269970f09) by @qt-gith ([merge request](gitlab-org/gitlab!96642))
|
||||
- [Remove extra whitespace in buildkite.rb](gitlab-org/gitlab@b76a9501d534fe2d57c30b20cb78b0fa426071ff) ([merge request](gitlab-org/gitlab!93620))
|
||||
- [Update group runners Edit page look and feel](gitlab-org/gitlab@5a61d5897711d8f4e748d655cdedd7571a5c1fae) ([merge request](gitlab-org/gitlab!97393))
|
||||
- [Update removal date in clusters deprecation alert](gitlab-org/gitlab@144d07e6cc0757747aecd5c8398525d0874ad096) ([merge request](gitlab-org/gitlab!97383))
|
||||
- [Replace the term homepage with dashboard](gitlab-org/gitlab@411ae4e78b4814ae5bfc4fc0fc16223b48cf9907) ([merge request](gitlab-org/gitlab!96579))
|
||||
- [Dropzone: Change border-radius to default radius](gitlab-org/gitlab@ed8f3cd132129f03a178d37043cee5d4c87d8e89) ([merge request](gitlab-org/gitlab!97146))
|
||||
- [Call update_web_hook! for buildkite when ensuring ssl validation](gitlab-org/gitlab@88ac00442e5cdcc7ae1e9a2366cf2072f9776eb2) ([merge request](gitlab-org/gitlab!93620))
|
||||
- [Update copy text for self metrics toggle](gitlab-org/gitlab@a2a19f33bb21d3302a3e020ea779f46a975840df) ([merge request](gitlab-org/gitlab!97164))
|
||||
- [Add locked column to Ci::PipelineArtifact](gitlab-org/gitlab@c730b7c5a784c5602fa7375c2bb3fd7ba02cd99b) ([merge request](gitlab-org/gitlab!97194))
|
||||
- [Advanced Search: Index label_ids for issues](gitlab-org/gitlab@3b7edbe464f75b77cffb6359ea9518ed3318d1dc) ([merge request](gitlab-org/gitlab!96153)) **GitLab Enterprise Edition**
|
||||
- [Remove after_save callback to create integration webhooks](gitlab-org/gitlab@1f2c8e25c790999942ba093e8df9e4041bfc3e1f) ([merge request](gitlab-org/gitlab!93620))
|
||||
- [Replace Wiki service find_page RPC by normal repository RPCs](gitlab-org/gitlab@0ed0882a8ae22040c3166a7842884330ba7baf11) ([merge request](gitlab-org/gitlab!95897))
|
||||
- [Add column 'branch_filter_strategy' to 'web_hooks'](gitlab-org/gitlab@93eeb88f37d15ecbe32ccfc3587663ca5a08d37e) by @luzhiyuan.deer ([merge request](gitlab-org/gitlab!97132))
|
||||
- [First pass legacy license compliance widget removal](gitlab-org/gitlab@369585475e26223dbef213195bfe794ed40eb51b) ([merge request](gitlab-org/gitlab!96948)) **GitLab Enterprise Edition**
|
||||
- [Remove file edit actions from blame view](gitlab-org/gitlab@e863572c48b68156b7e810a83f7f0d10eca4cdd7) ([merge request](gitlab-org/gitlab!96554))
|
||||
- [Fix: notify locale on resolved all discussions email](gitlab-org/gitlab@f5e4b1418646be79409074da268d2ed37eb8e494) by @qt-gith ([merge request](gitlab-org/gitlab!96500))
|
||||
- [Handle 429 response for the integration testing](gitlab-org/gitlab@ca5b7e945da4e4580c50ad56ab2ccc15def49b5d) ([merge request](gitlab-org/gitlab!96871))
|
||||
- [Improve bulk issue creation on epics](gitlab-org/gitlab@5eb6924a11e092863999e95609a70e96fb93c877) ([merge request](gitlab-org/gitlab!96879)) **GitLab Enterprise Edition**
|
||||
- [Limit number of branches/tags loaded from Gitaly](gitlab-org/gitlab@0aa8beb1faaeadaebb50048f4c1f9df25937be22) ([merge request](gitlab-org/gitlab!97137))
|
||||
- [EE Group Settings General headers expand on click](gitlab-org/gitlab@6424e196b80b9ee08e99efd248c2b396db6bbc15) by @quatauta ([merge request](gitlab-org/gitlab!97032)) **GitLab Enterprise Edition**
|
||||
- [Fix case of DAST UI text](gitlab-org/gitlab@03587ecb2b3e824bd013d492123cd1ad6ac95498) ([merge request](gitlab-org/gitlab!96725)) **GitLab Enterprise Edition**
|
||||
- [Fix migration type](gitlab-org/gitlab@5f4088d656d0b63112ec52f4f50ad21d94b22cc7) ([merge request](gitlab-org/gitlab!97067))
|
||||
- [Update packages registries menu as sentence case](gitlab-org/gitlab@fd0c9526a98e1d9ea9b7278fc45b8b051a5295f4) by @parkourkarthik ([merge request](gitlab-org/gitlab!95575))
|
||||
- [Allow tokens with any scope to use the self-revocation API](gitlab-org/gitlab@15356d6895d87f1608d3128bf0b0e15e8d689a92) by @fabsrc ([merge request](gitlab-org/gitlab!94463))
|
||||
- [Update Runner UI badges](gitlab-org/gitlab@d54cf964a603fe49124f7ea086e70a6276842fb7) ([merge request](gitlab-org/gitlab!95720))
|
||||
- [Add days as unit to VSA duration chart](gitlab-org/gitlab@2d077b091e22087ae36278793be761dd18d2643e) ([merge request](gitlab-org/gitlab!96358)) **GitLab Enterprise Edition**
|
||||
- [Do not show revoke button if revoke_path is absent](gitlab-org/gitlab@25a6439e8f0321c1dd3cd03dbd1ce0de9ec98526) ([merge request](gitlab-org/gitlab!96276))
|
||||
- [Change code block border-radius to default](gitlab-org/gitlab@969384f5aa5a710f717b3b2d3e1db1e280ac445a) ([merge request](gitlab-org/gitlab!96886))
|
||||
- [Hide mirror repos list when not available](gitlab-org/gitlab@7cce6189b77edfb6ce9fdad386ad386413d53ff0) by @parkourkarthik ([merge request](gitlab-org/gitlab!94939))
|
||||
- [Modify scope to avoid table join](gitlab-org/gitlab@2bb70eb02443cb36c0c74f931a96446eaa07c4fe) ([merge request](gitlab-org/gitlab!95580))
|
||||
- [Conclude the combined registration experiment](gitlab-org/gitlab@95c16a23b5fe6601341c619b735a623802c6903d) ([merge request](gitlab-org/gitlab!95755)) **GitLab Enterprise Edition**
|
||||
- [Cleans up the edit form for issuables](gitlab-org/gitlab@0a6ff8892de2fe08e6c9001ef24aa54b680e4383) ([merge request](gitlab-org/gitlab!96018))
|
||||
- [This MR adds warning modal for unsaved changes](gitlab-org/gitlab@84e82bb90f6ec6d1a9e3499f5026dcd126ffa39f) ([merge request](gitlab-org/gitlab!94213)) **GitLab Enterprise Edition**
|
||||
- [Destroy invalid project members](gitlab-org/gitlab@3a3a3a7fc008555234fe73ea0a777ee637640b90) ([merge request](gitlab-org/gitlab!95881))
|
||||
- [Update successful plan purchase message and variant](gitlab-org/gitlab@5f41e57dabcaa2d2965717ffef9d11d8686f8a08) ([merge request](gitlab-org/gitlab!96674)) **GitLab Enterprise Edition**
|
||||
- [Remove s3_omit_multipart_urls feature flag](gitlab-org/gitlab@4ba376fabf4e187474e08eba1a2726641005aca3) ([merge request](gitlab-org/gitlab!96411))
|
||||
- [Feat: Increase stats margin on the project home page](gitlab-org/gitlab@c1d5009e0f48d92238e33dc9b65c8c6e5b14c4fa) by @nadia_sotnikova ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96524))
|
||||
- [Add vulnerability_advisories and vulnerable_component_versions tables](gitlab-org/gitlab@9317c8cb0f7afdd05b292a28977f734240d829e0) ([merge request](gitlab-org/gitlab!95622))
|
||||
- [Update blocking issues system note text](gitlab-org/gitlab@0f1faa413f6c493008d043dcdcb8f27df9972fc4) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95636)) **GitLab Enterprise Edition**
|
||||
- [Refactored time tracking widget to be more reactive](gitlab-org/gitlab@c3902eaeec8f93cb25326b623ffffe8606cb27f8) by @zillemarco ([merge request](gitlab-org/gitlab!92234))
|
||||
- [Use the standard dynamic segment for Debian packages](gitlab-org/gitlab@638f9b15ffd06ff07015e4fd779deaaf2a9cee4a) by @sathieu ([merge request](gitlab-org/gitlab!93036))
|
||||
- [Add similar credit cards counts to external PVS payload](gitlab-org/gitlab@dafded912147d52bd55521e397a76a5d77a9977a) ([merge request](gitlab-org/gitlab!96264))
|
||||
- [Edit profile tooltip for style compliance](gitlab-org/gitlab@37caf393dc2beeb153b8c010c411b459ff56b62b) ([merge request](gitlab-org/gitlab!96209)) **GitLab Enterprise Edition**
|
||||
- [Reset access token form selectively](gitlab-org/gitlab@929dc1cc34a9150bf0b8d7f214f6b6efea7fb9d0) ([merge request](gitlab-org/gitlab!96379))
|
||||
- [Show an additional warning text on SaaS for removing license](gitlab-org/gitlab@c68d777b7b3b6b1eb7c6ab8fbae936f30e23b5e4) ([merge request](gitlab-org/gitlab!96185)) **GitLab Enterprise Edition**
|
||||
- [Change text Elasticsearch to OpenSearch in AWS search service config](gitlab-org/gitlab@2787a9352aab996a60ccdadc4fbd511130c51dee) ([merge request](gitlab-org/gitlab!96413)) **GitLab Enterprise Edition**
|
||||
- [Update stackprof to v0.2.21](gitlab-org/gitlab@75aba050c06cc54afec9ccf6c5b38afcfe3ec3bd) ([merge request](gitlab-org/gitlab!96113))
|
||||
- [Hide Register Runner button when user is not permitted to do the action](gitlab-org/gitlab@697eec1d89bd84887d2ed5ba4342118824cde738) ([merge request](gitlab-org/gitlab!92396))
|
||||
- [Update case for Manually added text](gitlab-org/gitlab@51e25b43029fd6e0e04f050954da7112124b0bae) ([merge request](gitlab-org/gitlab!96281)) **GitLab Enterprise Edition**
|
||||
- [Show deployment approval options for read access](gitlab-org/gitlab@4aaf6526b24a89502a86eff06725d3fb846349fe) ([merge request](gitlab-org/gitlab!95071))
|
||||
- [Always show deployment approval options](gitlab-org/gitlab@7c824813ec65561bc6f1aa88ec73e5505b5aa78f) ([merge request](gitlab-org/gitlab!95071)) **GitLab Enterprise Edition**
|
||||
- [Updates UI for package duplicate settings](gitlab-org/gitlab@51a6d3755e31aff8002e02283ce90d6a68ee9e5b) ([merge request](gitlab-org/gitlab!95193))
|
||||
- [Clarify lifetime setting that affects all tokens](gitlab-org/gitlab@b1cb11ba5b0d880d461e2661cc9344c7a34e2bb0) ([merge request](gitlab-org/gitlab!96181)) **GitLab Enterprise Edition**
|
||||
- [Add environment tier to allowed agents API response](gitlab-org/gitlab@668f4b56639c6598945a69b97dc146b7b863c6ca) ([merge request](gitlab-org/gitlab!95441))
|
||||
- [Removes spacing from system note](gitlab-org/gitlab@92b9ba647043f2252a88ca3445ae97967a9e3754) ([merge request](gitlab-org/gitlab!95800))
|
||||
- [Hide create project tile for some users](gitlab-org/gitlab@21b38d3ec9c56dd404dca66c12ec8bf79344246a) ([merge request](gitlab-org/gitlab!95726))
|
||||
- [Remove FF for seat count usage alerts](gitlab-org/gitlab@5516d5a669cbf1388c52d89271295a4a7241de11) ([merge request](gitlab-org/gitlab!95775)) **GitLab Enterprise Edition**
|
||||
- [Adds skeleton loader to Usage Quotas Seats page](gitlab-org/gitlab@0335c2f31bf0cfd3981505d551794823ce110307) ([merge request](gitlab-org/gitlab!91716)) **GitLab Enterprise Edition**
|
||||
- [Expose ci_job_token_scope_enabled in job API](gitlab-org/gitlab@8ac85bb3fe977ba337e3999ad722a93501682c5f) by @paulbry ([merge request](gitlab-org/gitlab!95105))
|
||||
- [Remove the Show Details button for Deployments](gitlab-org/gitlab@17cf1f4b55ad7df2947d565c6511236c4abd6abc) ([merge request](gitlab-org/gitlab!95955))
|
||||
- [Changes column width on package side by side settings](gitlab-org/gitlab@7a899347f5c604e107ee5f12cb3aa1610a161742) ([merge request](gitlab-org/gitlab!96162))
|
||||
- [Update tabs line-height to match Pajamas](gitlab-org/gitlab@2ba05a69ceade68a3981610d8289f028d4eba839) ([merge request](gitlab-org/gitlab!96156))
|
||||
- [Event type information in saml auth audit event stream](gitlab-org/gitlab@6853f9cc84aad036974676ba8087fd2d157f51c6) ([merge request](gitlab-org/gitlab!95172)) **GitLab Enterprise Edition**
|
||||
- [Extend approvers_select component to group level](gitlab-org/gitlab@ce9adc28d368b3ad7d80693630eb742f47a45fc7) ([merge request](gitlab-org/gitlab!95196)) **GitLab Enterprise Edition**
|
||||
- [Updated copy around tasks](gitlab-org/gitlab@b94c7dc192d3ae159da3948367528c86b8d9e00b) ([merge request](gitlab-org/gitlab!95529))
|
||||
- [Move Slack Events code to EE](gitlab-org/gitlab@a40a1502bec3434c8668ee5eb9aa42e4aa784527) ([merge request](gitlab-org/gitlab!96094)) **GitLab Enterprise Edition**
|
||||
- [Add description_html to SecurityReportFindingType](gitlab-org/gitlab@3d6e6c959dec9129645e71bff4fb3bffb48bfccf) ([merge request](gitlab-org/gitlab!96079)) **GitLab Enterprise Edition**
|
||||
- [Update Puma to v5.6.5](gitlab-org/gitlab@4e6ca70f8a9643449d1f77744eae3e248842db45) ([merge request](gitlab-org/gitlab!95987))
|
||||
- [Disallow the rebase without pipeline on certain settings](gitlab-org/gitlab@e5e5e937c0a26edd7714dbda6ed7ccd88ac60996) ([merge request](gitlab-org/gitlab!95736))
|
||||
- [Rename existing task system notes](gitlab-org/gitlab@8f7e96a8a1798a30df8f740ed3fa074ebaf999b9) ([merge request](gitlab-org/gitlab!95631))
|
||||
- [Dont generate pipeline reports if the base pipeline is not complete](gitlab-org/gitlab@7435602ba923319c14e46798250db57db34ff943) ([merge request](gitlab-org/gitlab!93229))
|
||||
- [Add generic cost factor logging](gitlab-org/gitlab@96ee0f1854c57ac47b63135b3de86b9fb24424fd) ([merge request](gitlab-org/gitlab!95845)) **GitLab Enterprise Edition**
|
||||
- [Update error message](gitlab-org/gitlab@df7b2fd595396d5cc10aa66552ed3f9a86d9901c) ([merge request](gitlab-org/gitlab!95946)) **GitLab Enterprise Edition**
|
||||
- [Update breadcrumbs of packages and registries under settings](gitlab-org/gitlab@37f4d3f90bc5388286a85e028dc0869380842a3f) by @parkourkarthik ([merge request](gitlab-org/gitlab!95554))
|
||||
- [Add prefix to trigger tokens](gitlab-org/gitlab@4c44cb600b3a82dc9ab1c0cc06b60581fe04e8cd) ([merge request](gitlab-org/gitlab!95968))
|
||||
- [Remove execute_build_hooks_inline feature flag](gitlab-org/gitlab@a05ba200c088234686f3632db4022a3bfbf00238) ([merge request](gitlab-org/gitlab!95712))
|
||||
- [Autocomplete dropdown optimization](gitlab-org/gitlab@90450a9947f5f7cf362fe9c45e345fb73cd1884a) ([merge request](gitlab-org/gitlab!94058))
|
||||
- [Fix canary badge styling](gitlab-org/gitlab@3f271cb56aa796023be114e55cc5f4bb1fc5f65e) ([merge request](gitlab-org/gitlab!95277))
|
||||
- [Enable async_after_approval feature flag](gitlab-org/gitlab@ffdc7bd77ced8ced74c33b65bcb5fc9f3b934007) ([merge request](gitlab-org/gitlab!95677))
|
||||
- [Combine sort and filter into one dropdown](gitlab-org/gitlab@cc30f9bdc26ffdc9058ff35fee36f154b8a93a7a) ([merge request](gitlab-org/gitlab!92072))
|
||||
- [Use static terraform-images version in Terraform template](gitlab-org/gitlab@8c4a6de3705f532726693e74b252c2c0d4371003) ([merge request](gitlab-org/gitlab!95883))
|
||||
- [Don't create `EE::Member` audit events when there is no change](gitlab-org/gitlab@b8f9c99a1409e92832984005cdea15cca8fc0ccb) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95508)) **GitLab Enterprise Edition**
|
||||
- [Update haml-lint to v0.40.1](gitlab-org/gitlab@6ef8517a5467122aced5f8f24f4589d275bc576c) ([merge request](gitlab-org/gitlab!95870))
|
||||
- [Highlight runner name and move locked icon](gitlab-org/gitlab@e28dd5825ef8e7119f0b0a1cef89579ef10427db) ([merge request](gitlab-org/gitlab!95693))
|
||||
- [Update thrift to v0.16.0](gitlab-org/gitlab@ab38c0933ae8a3f6bde0062f89ef1bf3ea824625) ([merge request](gitlab-org/gitlab!95838))
|
||||
- [Use ProtectedBranch service to destroy the branch](gitlab-org/gitlab@5bd75706602d8fd2852b652530b1a3c7cc0c1080) ([merge request](gitlab-org/gitlab!95702))
|
||||
- [Extract 'read_package' rule into separate policy](gitlab-org/gitlab@a406799420e410928d4595b02a02abca3f1d032c) by @wwwjon ([merge request](gitlab-org/gitlab!90963))
|
||||
- [Remove self managed wiki notes](gitlab-org/gitlab@970df8b2c02e231548559064021afa2a9f8dce33) ([merge request](gitlab-org/gitlab!88545))
|
||||
- [This MR adds schedule rule component](gitlab-org/gitlab@d8096ef8a8f629dcdd00b389514599a51680eaec) ([merge request](gitlab-org/gitlab!95192)) **GitLab Enterprise Edition**
|
||||
- [Change the way autoclosing issues is checked](gitlab-org/gitlab@340dbccb04790c473e31a06770ac192123aef33c) ([merge request](gitlab-org/gitlab!95614))
|
||||
- [Reduce header and footer height of comments](gitlab-org/gitlab@bc5d40c13952d3d2f13fa0f0633042f490f2cfb4) ([merge request](gitlab-org/gitlab!95772))
|
||||
- [Update redis gem to v4.7.1](gitlab-org/gitlab@e3b5ecd35f9b72d4e4c11a47db3c816a389400cc) ([merge request](gitlab-org/gitlab!95402))
|
||||
- [Update Cluster Managed project template](gitlab-org/gitlab@a09f430dccfdd89a42c81d843502052686c6cacf) ([merge request](gitlab-org/gitlab!95643))
|
||||
- [Redesign runners stats](gitlab-org/gitlab@73dba9e929ee9db518f751fc2c6f276d41013d21) ([merge request](gitlab-org/gitlab!95509))
|
||||
- [Allow verification token when creation external audit event destination](gitlab-org/gitlab@dc46f0874fdb95a69fdc3f3b4e37decc5d06d0ff) ([merge request](gitlab-org/gitlab!94936)) **GitLab Enterprise Edition**
|
||||
- [Replace native date input field to `GlDatePicker`](gitlab-org/gitlab@6bc608fcca99adc3108eb8b2eccd3ee102820c14) ([merge request](gitlab-org/gitlab!93467))
|
||||
- [Geo Replicables - Enhaced Empty States](gitlab-org/gitlab@4a45847fce79887c0e1f5a81d8d0bbb9bb9cd5a8) ([merge request](gitlab-org/gitlab!95113)) **GitLab Enterprise Edition**
|
||||
- [Consolidate pipeline mini graph code](gitlab-org/gitlab@9a03bea1809c2f9274b76772e2a87f83c4ba3d07) ([merge request](gitlab-org/gitlab!91612)) **GitLab Enterprise Edition**
|
||||
- [Move Group Push Rules to Settings/Repository](gitlab-org/gitlab@c53f2b605719e8f3929ab38f0da1ebb7a9e66ce4) ([merge request](gitlab-org/gitlab!92977)) **GitLab Enterprise Edition**
|
||||
- [Query group descendants using comparison operators](gitlab-org/gitlab@9799c67fb18e0811a1256d00c03fa631146ba764) ([merge request](gitlab-org/gitlab!94004))
|
||||
- [Disable DAST profile name field when configured](gitlab-org/gitlab@75bbfcd4b460daec844cab9a792f0caaa329974a) ([merge request](gitlab-org/gitlab!94188)) **GitLab Enterprise Edition**
|
||||
- [Add job logs collection to Datadog Integration](gitlab-org/gitlab@c3305a2de47399dc3b2e11d70c88e9bded5dc31d) by @AdrianLC ([merge request](gitlab-org/gitlab!89548))
|
||||
- [Reorganize runner tags in runners table](gitlab-org/gitlab@78b7316cd0294cb49988e4c8c8437490d0dd0d08) ([merge request](gitlab-org/gitlab!95460))
|
||||
- [Add support for MulanPSL-2.0 in license detection](gitlab-org/gitlab@67b2a3b5388752a23cdd838f0ef06627f994ea5e) by @tnir ([merge request](gitlab-org/gitlab!94948))
|
||||
- [Destroy invalid group membership records](gitlab-org/gitlab@65dbfd39815a9211fcf39ed10ee431501cd06d6d) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80253))
|
||||
- [Allow Invite button to be enabled by default](gitlab-org/gitlab@1bfa8c18de1705ceb0dafa373a50de6c27c38557) ([merge request](gitlab-org/gitlab!95527))
|
||||
- [Add skip_users as param for members rest api](gitlab-org/gitlab@88166066340bbfb0978dc5414b75fbbfd9f7abf5) ([merge request](gitlab-org/gitlab!95195)) **GitLab Enterprise Edition**
|
||||
- [Rename web_hooks service_id to integration_id](gitlab-org/gitlab@a627b1bcc55908d16fbe60d99dab0072dc90a262) ([merge request](gitlab-org/gitlab!95335))
|
||||
|
||||
### Deprecated (5 changes)
|
||||
|
||||
- [Deprecate draft quick action toggle](gitlab-org/gitlab@fe4549783dedac09cc5abd5e356e34ddf2faf9e3) ([merge request](gitlab-org/gitlab!96794))
|
||||
- [Add feature flag for /draft toggle](gitlab-org/gitlab@ee1c73ed2f32067c51be11a9c3714aee8bd59290) ([merge request](gitlab-org/gitlab!92654))
|
||||
- [GraphQL: Deprecate RunnerMembershipFilter](gitlab-org/gitlab@5e97c2e04f830bdd9c9626ed04b8ede7fa55069e) ([merge request](gitlab-org/gitlab!97127))
|
||||
- [Document CS environment variable deprecations](gitlab-org/gitlab@3bb34b006484a87c87628d327d0345a243a39126) ([merge request](gitlab-org/gitlab!96172))
|
||||
- [Deprecate security related `confidence` fields](gitlab-org/gitlab@23001ffa2abe40638247f456e1334687fd2c6e40) ([merge request](gitlab-org/gitlab!96361)) **GitLab Enterprise Edition**
|
||||
|
||||
### Removed (17 changes)
|
||||
|
||||
- [Remove unused VSA aggregation DB columns](gitlab-org/gitlab@07f6285afc6f9c614bfaf22012d34ba8736f09ce) ([merge request](gitlab-org/gitlab!98201))
|
||||
- [Analyzer consolidation in SAST CI template](gitlab-org/gitlab@7752a7a6deea2724563bb09d5b53e31c2f020b7c) ([merge request](gitlab-org/gitlab!97216)) **GitLab Enterprise Edition**
|
||||
- [Remove free user cap awaiting user logic](gitlab-org/gitlab@ed673d8ca878f389551e5049b91ae7fda5c7d5f7) ([merge request](gitlab-org/gitlab!96582))
|
||||
- [Remove nonexistent index from schema](gitlab-org/gitlab@40b55826b4be12a1c3b59d502b3ce92762f95076) ([merge request](gitlab-org/gitlab!96401))
|
||||
- [Remove awaiting members from billable user finder](gitlab-org/gitlab@3ff90056a0479be36164882e79d76fbd886678af) ([merge request](gitlab-org/gitlab!96925)) **GitLab Enterprise Edition**
|
||||
- [Put DAST Basic-auth option behind feature flag](gitlab-org/gitlab@c9329e0eef2e3dec9940fd7a2081254dbb627161) ([merge request](gitlab-org/gitlab!96877)) **GitLab Enterprise Edition**
|
||||
- [Weekend migration for dropping an empty index](gitlab-org/gitlab@b94439a154112f9dd88ad16bc28df9e4d4deb324) ([merge request](gitlab-org/gitlab!96400))
|
||||
- [Remove pipeline insights experiment](gitlab-org/gitlab@ce7363d07bfc6f968b79571ab697be4c771e9433) ([merge request](gitlab-org/gitlab!95951))
|
||||
- [Remove mr_attention_requests feature flag](gitlab-org/gitlab@523c4c8fffc62d97bef7444d93f0b5fc7a13f9a6) ([merge request](gitlab-org/gitlab!95446))
|
||||
- [Remove temporary todos index for attention request](gitlab-org/gitlab@8a8ec206960fd2e292d6ba6576bef92130dfc01f) ([merge request](gitlab-org/gitlab!96228))
|
||||
- [Remove unused /scan_execution_policies internal API](gitlab-org/gitlab@e702c38d039cff94dbcca7214b1affd22b793c86) ([merge request](gitlab-org/gitlab!96083)) **GitLab Enterprise Edition**
|
||||
- [Drop Project#build_coverage_regex](gitlab-org/gitlab@ab50d40b9ee40d0282ece9605537bebf84b8000a) ([merge request](gitlab-org/gitlab!95908))
|
||||
- [Remove other_role column from user_details](gitlab-org/gitlab@aee1474ea5aeeb55e69ab3b0691ab7355196bcd1) ([merge request](gitlab-org/gitlab!95889))
|
||||
- [chore: Cleanup report_artifact_build_completed FF](gitlab-org/gitlab@fc3be99490e156198c82b7f0dbf93486b30de97c) ([merge request](gitlab-org/gitlab!95823))
|
||||
- [Remove the use_vsa_aggregated_tables FF](gitlab-org/gitlab@8505c2db6cb04d6c3130c28fec420a4b26f57e7d) ([merge request](gitlab-org/gitlab!94945)) **GitLab Enterprise Edition**
|
||||
- [Deprecations in SAST template](gitlab-org/gitlab@973f70cdc6586b93cafbe6e8f533e8484f4758d4) ([merge request](gitlab-org/gitlab!92325))
|
||||
- [Remove tmp_index_merge_requests_draft_and_status](gitlab-org/gitlab@9b0d550a563a898bb5726dcc2c6aba30c7587ea3) ([merge request](gitlab-org/gitlab!90524))
|
||||
|
||||
### Security (19 changes)
|
||||
|
||||
- [No overriding methods for Sawyer class](gitlab-org/gitlab@089d1cac03d8b21d89fad09c3e791c9358489157)
|
||||
- [Optimize handling repositories with huge trees](gitlab-org/gitlab@b4a91d2d0ecd9d5024976cce69d7e406626d0c7d)
|
||||
- [HTML escape the label background color](gitlab-org/gitlab@513066c360bcfaa8d5cd40795f7d98d46b9e1e44)
|
||||
- [Fix unauthorized GFM references in Incident Timeline](gitlab-org/gitlab@8c59e44edffd6ebcb798d533476797ee91b4de51)
|
||||
- [Sandbox jupyter notebook HTML output](gitlab-org/gitlab@56bbf33ef15557cc6bde32a432539866a8c4a38c)
|
||||
- [Prevent long loops when generating suggested branch name](gitlab-org/gitlab@754ee30016139b6315acef874707b2e1618cad15)
|
||||
- [Validate description length for snippets](gitlab-org/gitlab@34d02079a31a1ba28f8206a1c5c0f84056b705c1)
|
||||
- [Prevent brute force vuln for Git over HTTP(S) requests](gitlab-org/gitlab@2a7449f6d903a5b87fa48d9667133f01f1267033)
|
||||
- [Replaced smooshpack to fix the vulnerability in LivePreview](gitlab-org/gitlab@83fe17cf45176103afa14641e361ac227d61e147)
|
||||
- [Check for pathological markdown input](gitlab-org/gitlab@01992b9884bbe86dffba0550f3b2be0466141897)
|
||||
- [Update package auth for group IP allowlist](gitlab-org/gitlab@1c59c4a8b945138d3c7ee678ece1c9a709cfcbca)
|
||||
- [IDOR in Zentao integration issue show page](gitlab-org/gitlab@85fa1ffac02579954aefd3fcf664eab532d1e170)
|
||||
- [Patch VULNDB-255039 (potential Rack cache poisoning)](gitlab-org/gitlab@848d7a0cd095c564f258beb6ab4786cf8c28131e)
|
||||
- [Don't show pipeline status](gitlab-org/gitlab@f0bb4d181acd1ea5f90de91babf605d952bd5ce8)
|
||||
- [Parse commit trailers without using regexp](gitlab-org/gitlab@f1854753c3cc923615e311e218dc9e581e781ea1)
|
||||
- [Sanitize img attributes in Banzai::Filter::ImageLinkFilter](gitlab-org/gitlab@99a451bd4a279eaf77befd5c2bfc646128e7ddb8)
|
||||
- [Validate if values to be saved in Redis can be converted to string](gitlab-org/gitlab@cc8d3e3efdcb919439317d010f1949b92de92e19)
|
||||
- [Enable SSL certification verification by default with Fog access](gitlab-org/gitlab@ee6b07e70351c7cb81e0704ac0659dd4afc57857) ([merge request](gitlab-org/gitlab!95514))
|
||||
- [Update diffy to v3.4.2](gitlab-org/gitlab@b3e685df7b090e0161e3d1ea4791f346a430127f) ([merge request](gitlab-org/gitlab!95485))
|
||||
|
||||
### Performance (19 changes)
|
||||
|
||||
- [Optimize GraphQL next page check](gitlab-org/gitlab@cd9c2c0697bcd10f7b878bf9fe574946f8cd7707) ([merge request](gitlab-org/gitlab!97509))
|
||||
- [Introduce rate-limiting for namespace exists API](gitlab-org/gitlab@6179f66d298c738bdb6a999f0f907aedadcedb41) ([merge request](gitlab-org/gitlab!98188))
|
||||
- [Optimize contribution analytics queries](gitlab-org/gitlab@0080b3bdc2c70ba9a8c2d2c310f7894cabcd51b0) ([merge request](gitlab-org/gitlab!98028)) **GitLab Enterprise Edition**
|
||||
- [Broadly restrict downstream pipeline tree size](gitlab-org/gitlab@8467414dbf6acf1da8e1807d002a5c35775d48c5) ([merge request](gitlab-org/gitlab!95857))
|
||||
- [Remove ci_namespace_mirrors sync_children_namespaces](gitlab-org/gitlab@d9838f3c276e249f21ee4abb23a1e6c43e6173e2) ([merge request](gitlab-org/gitlab!96194))
|
||||
- [Remove Workhorse pubsub feature flags](gitlab-org/gitlab@9e129af6c8cc3d224fea741f33f7f4cee7570d49) ([merge request](gitlab-org/gitlab!97646))
|
||||
- [Place trial creation on user registration in background](gitlab-org/gitlab@459acb51b9ce12b18d730df276abf60d3b78fec1) ([merge request](gitlab-org/gitlab!96807)) **GitLab Enterprise Edition**
|
||||
- [Speed up environments search](gitlab-org/gitlab@5e0ede982e6780a4c9acfcb029bce27f3ef24b7d) ([merge request](gitlab-org/gitlab!96774))
|
||||
- [Refactor diff_view to include diff_line](gitlab-org/gitlab@b299f8533e1d609aa0a8c91831f280e8d0a38ec6) ([merge request](gitlab-org/gitlab!96454))
|
||||
- [Enable async project authroizations by default](gitlab-org/gitlab@8fcf6aecff58c9b1ea89590f08701c7e264c9000) ([merge request](gitlab-org/gitlab!96650))
|
||||
- [Remove the feature flag remove_branch_caching_feature_flag](gitlab-org/gitlab@27962c00497ab87b1b8d9c14b00b7749411359ac) ([merge request](gitlab-org/gitlab!96748))
|
||||
- [Add performance optimization for Insights queries](gitlab-org/gitlab@388b55b7a99648109b6ded44c98204362f824967) ([merge request](gitlab-org/gitlab!95935))
|
||||
- [Introduce rate-limiting for namespace exists API](gitlab-org/gitlab@d5e5d8697aa3646b45c992e2425d1fcd1425c9d1) ([merge request](gitlab-org/gitlab!96133))
|
||||
- [Place learn gitlab creation into background and measure](gitlab-org/gitlab@a0a991563ea8ccbf5e7d019488412dda4496bcd2) ([merge request](gitlab-org/gitlab!95629)) **GitLab Enterprise Edition**
|
||||
- [Prevent CounterJobWorker from exceeding 300 seconds](gitlab-org/gitlab@c687279ac003e24c236beca9d4470f14ad6e6cce) ([merge request](gitlab-org/gitlab!95466))
|
||||
- [Fix N+1 in runner jobs API](gitlab-org/gitlab@6871b9b96f43420062f0849acfa546ab55635373) ([merge request](gitlab-org/gitlab!95887))
|
||||
- [Update container repositories migration index](gitlab-org/gitlab@10b20473a6f49e413383c4ee0049277015a22ac6) ([merge request](gitlab-org/gitlab!95871))
|
||||
- [Drop database_async_index_creation feature flag](gitlab-org/gitlab@00a8dc5a0ac510d235c9632c52027410604947cd) ([merge request](gitlab-org/gitlab!95570))
|
||||
- [Skip repository disconnect if project is pending delete](gitlab-org/gitlab@212c1e07a92d0393a2ff82facd40855636b551bf) ([merge request](gitlab-org/gitlab!93006))
|
||||
|
||||
### Other (54 changes)
|
||||
|
||||
- [RPM initial upload and package creation](gitlab-org/gitlab@3aa4ee895879364eefc157b116d9be6f1d6269ec) ([merge request](gitlab-org/gitlab!97587))
|
||||
- [Remove feature flags for tracking jetbeans and cli api requests](gitlab-org/gitlab@22791eee184a81d15d198d5aa0acc927fb198052) ([merge request](gitlab.com/gitlab-org/gitlab/-/merge_requests/98078))
|
||||
- [Helper to convert a table to its first partition](gitlab-org/gitlab@76088d6bf6feb7ed9eacd8430fbd0d9a9ccf9a7f) ([merge request](gitlab-org/gitlab!96815))
|
||||
- [Workhorse: Bump gitaly version](gitlab-org/gitlab@8a87e4ef9913d1f31bc55f17ecc814fa997274c6) ([merge request](gitlab-org/gitlab!98089))
|
||||
- [RuboCop: Enable previously disabled Style/BarePercentLiterals](gitlab-org/gitlab@9bb15926760bbf825a9b32fca9037e14a80a5afd) by @edith007 ([merge request](gitlab-org/gitlab!94078))
|
||||
- [Enable FF ci_stop_expanding_file_vars_for_runners](gitlab-org/gitlab@52ba68d06526b0d13f27bacd03da8435b50ff06a) ([merge request](gitlab-org/gitlab!98038))
|
||||
- [Add internal column to notes](gitlab-org/gitlab@e4be938c3bc2b911cad684e0eb483b76575e7188) ([merge request](gitlab-org/gitlab!97253))
|
||||
- [Clean up attention_requested states](gitlab-org/gitlab@aaf7b77f0e6cbc55a38f12dc574a53512c79af6a) ([merge request](gitlab-org/gitlab!97010))
|
||||
- [Reschedule work_item_type backfill on issues](gitlab-org/gitlab@5ae56311fe282f0deb35c5fde0b61576b0b434e6) ([merge request](gitlab-org/gitlab!96591))
|
||||
- [Disable ultimate for projects less than 1 MB in size](gitlab-org/gitlab@cd8e978ac3f02b5c1d515356d2bab402cda7457e) ([merge request](gitlab-org/gitlab!97140))
|
||||
- [Remove duplicated % in sprintf](gitlab-org/gitlab@1cdb176563040f7875b2bea213827fe0873656e6) ([merge request](gitlab-org/gitlab!95613))
|
||||
- [Update the Harbor registry doc](gitlab-org/gitlab@8960f6308c899d046f9accce3dfe99662d8c821a) by @zhaoqi01 ([merge request](gitlab-org/gitlab!97362))
|
||||
- [Remove FF group_level_protected_environment_settings_permission](gitlab-org/gitlab@6d0466828203decaba145ba2a702e6c0d8f4c810) ([merge request](gitlab-org/gitlab!95939))
|
||||
- [Cleanup rebalance_issues feature flag](gitlab-org/gitlab@21fd2344210c163fa242550db09e25e72e2be1a6) ([merge request](gitlab-org/gitlab!97644))
|
||||
- [Quarantine flaky test in redis_interceptor_spec.rb](gitlab-org/gitlab@c84b65f039b4b04a8ca672ddc13d4e28ba694660) ([merge request](gitlab-org/gitlab!97568))
|
||||
- [Remove find_epics_performance_improvement feature flag](gitlab-org/gitlab@3cbef9517a13f10b416459cb6653c19bc98e3e02) ([merge request](gitlab-org/gitlab!97537)) **GitLab Enterprise Edition**
|
||||
- [Add menu headers in primary navigation dropdown](gitlab-org/gitlab@59d0bfc380b3277d2d6daea316ecc09736ca9c5f) ([merge request](gitlab-org/gitlab!96924))
|
||||
- [Remove redis caching for diff_batches endpoint](gitlab-org/gitlab@d8e9680fd0b156e70d1df9a2f271ff36e662fe4d) ([merge request](gitlab-org/gitlab!97355))
|
||||
- [Update the Harbor registry doc](gitlab-org/gitlab@24515cb7db500a293fe5762c074938d4ad4447e9) by @zhaoqi01 ([merge request](gitlab-org/gitlab!97362))
|
||||
- [Remove unnecessary gl-alert-dismiss class](gitlab-org/gitlab@61504d4e9ecebca946fdeaa943b52c0dedb6af7d) ([merge request](gitlab-org/gitlab!97433))
|
||||
- [Add the Harbor registry doc](gitlab-org/gitlab@c409b8eb7bd7cd4d444a15a60bd127c7a8842870) by @zhaoqi01 ([merge request](gitlab-org/gitlab!97362))
|
||||
- [Remove GITLAB_LEGACY_BACKGROUND_UPLOADS](gitlab-org/gitlab@83980495ef512ffc6afcc5a7b8369ea5f40f03b7) ([merge request](gitlab-org/gitlab!97170))
|
||||
- [Remove user callouts that are related to attention request](gitlab-org/gitlab@ca82ad35799b07072da8b3c530fe16a0a9f95c9d) ([merge request](gitlab-org/gitlab!96740))
|
||||
- [Add not null constraint for board recent visits columns](gitlab-org/gitlab@2362f3553ef5ce4b3e7517ec747077bbd0b88c2e) ([merge request](gitlab-org/gitlab!96705))
|
||||
- [Remove feature flag `inactive_projects_deletion`](gitlab-org/gitlab@3af90fb938bcaa0a8caecf70c85f0fc446d8cfd2) ([merge request](gitlab-org/gitlab!96803))
|
||||
- [Remove reads from ci_builds.stage](gitlab-org/gitlab@99a0530b34d620b818b27d799d4c53569851396a) ([merge request](gitlab-org/gitlab!97030))
|
||||
- [Improve error message while validating config/database.yml](gitlab-org/gitlab@b91e55166e7069956106594be51f9f6adf21e4cf) ([merge request](gitlab-org/gitlab!97058))
|
||||
- [Delete the FF ci_variable_for_group_gitlab_deploy_token](gitlab-org/gitlab@8c4c9c314743829debfa7763b407bd036e51c912) ([merge request](gitlab-org/gitlab!96648))
|
||||
- [Geo: Remove geo_file_transfer_validation FF](gitlab-org/gitlab@25fd50651bf2f9519322fc1e75b48b18782ee9bf) ([merge request](gitlab-org/gitlab!96836)) **GitLab Enterprise Edition**
|
||||
- [Create partitioned `security_findings` table](gitlab-org/gitlab@0728b4c565cb7df93dcb84c9d9e7ba6c0e5e48c7) ([merge request](gitlab-org/gitlab!93558))
|
||||
- [Prevent updating requirement deprecated attributes](gitlab-org/gitlab@b06aad0bf611f57e0e7aa58010bc21484bd7d2e0) ([merge request](gitlab-org/gitlab!95506)) **GitLab Enterprise Edition**
|
||||
- [Finalize removal of incorrect issue indexes](gitlab-org/gitlab@5cea3b23ef76eb4a4a1f2d092bcfbb4ea7943862) ([merge request](gitlab-org/gitlab!96743))
|
||||
- [Refactor Groups Rest API to use workhorse for avatar upload](gitlab-org/gitlab@b50749d099da0e0fa7432d23eeaac8f414f05bbd) by @tuxtimo ([merge request](gitlab-org/gitlab!96381))
|
||||
- [Fix flaky tests in ee/spec/models/ee/group_spec.rb](gitlab-org/gitlab@d66b2f58deeb217672789372d61669c9de76aadd) ([merge request](gitlab-org/gitlab!96313)) **GitLab Enterprise Edition**
|
||||
- [Change copy on issues empty state for logged users](gitlab-org/gitlab@fffc77825e3cde0dd5dfa9622fdb726be6be9812) by @pjjakubowska ([merge request](gitlab-org/gitlab!96430)) **GitLab Enterprise Edition**
|
||||
- [Remove not null constraint for confidence columns](gitlab-org/gitlab@998f2661a92c60125fc18c98d61b03823c599912) ([merge request](gitlab-org/gitlab!96268))
|
||||
- [Add extended open issues index](gitlab-org/gitlab@27a1763895ce15ea341c28888a4a83928f2e9aab) ([merge request](gitlab-org/gitlab!96274))
|
||||
- [Use the new mergeability check framework](gitlab-org/gitlab@8ed5d5080fa3e995dca736fdca372b4cb61f7d14) ([merge request](gitlab-org/gitlab!95916))
|
||||
- [Migrate cadence start date to automation start date](gitlab-org/gitlab@b84a2d54ffac9b6949cae59a0418914ab213c475) ([merge request](gitlab-org/gitlab!95571))
|
||||
- [Cleanup old work item type id backfill on issues table](gitlab-org/gitlab@0d22ebe8bee78304372c3e0bbb59d23b3ead28b5) ([merge request](gitlab-org/gitlab!96198))
|
||||
- [Vertically align the revoke button](gitlab-org/gitlab@1dbd8999bd8d89689f0001749e6cda8b7b1baeb9) ([merge request](gitlab-org/gitlab!96289))
|
||||
- [Remove registry deploy_token feature flag](gitlab-org/gitlab@46e92973c6442de613874f61725549980be84eb8) ([merge request](gitlab-org/gitlab!96389))
|
||||
- [Remove code to limit inviting groups in hierarchy for free user cap](gitlab-org/gitlab@9d381d3017aeddaef5c37a59c2538189e6c4140f) ([merge request](gitlab-org/gitlab!95812))
|
||||
- [Use keyset pagination for Tags API](gitlab-org/gitlab@ad6a31d8cad19f97d39ecba50351d0ccee51bf61) ([merge request](gitlab-org/gitlab!96259))
|
||||
- [Rake Task to truncate Legacy tables on Main and CI Database](gitlab-org/gitlab@37f231d6e366a5cfba9fec6a052a3805d1812958) ([merge request](gitlab-org/gitlab!94252))
|
||||
- [Remove the feature flag ci_docker_image_pull_policy](gitlab-org/gitlab@b436386708ff8e395027f71c583e641f10393365) ([merge request](gitlab-org/gitlab!96245))
|
||||
- [Move data-reference-type attribute into a constant](gitlab-org/gitlab@77441654e69e8995aaf0d524c0a86518fd2d0f7f) ([merge request](gitlab-org/gitlab!96075))
|
||||
- [Improve how fields can bre preloaded for WidgetInterface](gitlab-org/gitlab@1b605f1e36ae138f9e913501187c54a692ec8100) ([merge request](gitlab-org/gitlab!95290))
|
||||
- [Avoid using group's web_url in issue_analytics QA](gitlab-org/gitlab@1357d4cbf390d604a7d9f651e65627a07729621e) by @tnir ([merge request](gitlab-org/gitlab!95311))
|
||||
- [Update trial alert to follow design system](gitlab-org/gitlab@557e0100a489bc11801b728beb511908d4cb7f8a) ([merge request](gitlab-org/gitlab!95844)) **GitLab Enterprise Edition**
|
||||
- [Fix group authorization when searching epics](gitlab-org/gitlab@7614aea2bcbca7cafa23e1e8ec4cabbe05c6c2bb) ([merge request](gitlab-org/gitlab!95731)) **GitLab Enterprise Edition**
|
||||
- [Drop unused security findings index](gitlab-org/gitlab@0fbee5c0d4eb896547f695326f6e1ce081f34a47) ([merge request](gitlab-org/gitlab!95450))
|
||||
- [Improve specs with shared examples](gitlab-org/gitlab@dd3f2ecd882e89511eaa927102fc4101f684a38f) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95539)) **GitLab Enterprise Edition**
|
||||
- [Fix Style/Next offenses](gitlab-org/gitlab@bdf877063ba1d8d4df1216f7875905343d9e5e33) ([merge request](gitlab-org/gitlab!93329))
|
||||
|
||||
## 15.3.3 (2022-09-01)
|
||||
|
||||
|
@ -665,6 +1303,36 @@ entry.
|
|||
- [Remove FF import_release_authors_from_github](gitlab-org/gitlab@c4d6871e4438a1626d688856903778623138f671) ([merge request](gitlab-org/gitlab!92686))
|
||||
- [Remove unused feature](gitlab-org/gitlab@0ef95d341e4a15150d6ccb3d104ebbe064aa062a) ([merge request](gitlab-org/gitlab!92753))
|
||||
|
||||
## 15.2.4 (2022-08-30)
|
||||
|
||||
### Security (18 changes)
|
||||
|
||||
- [No overriding methods for Sawyer class](gitlab-org/security/gitlab@fafcaf91c510ace5c3fc845197fa71d2ad8943cc) ([merge request](gitlab-org/security/gitlab!2755))
|
||||
- [Update Oj to v3.13.21](gitlab-org/security/gitlab@e14f62112f51315288f3f08108b59cf40ab5635e) ([merge request](gitlab-org/security/gitlab!2729))
|
||||
- [Bump yajl-ruby gem version](gitlab-org/security/gitlab@ad7469e802aff36989276bd77afcebf9bcb8a545) ([merge request](gitlab-org/security/gitlab!2689))
|
||||
- [Prevent long loops when generating suggested branch name](gitlab-org/security/gitlab@f8f1631a7751b40444debbd69188187c895d2ad6) ([merge request](gitlab-org/security/gitlab!2744))
|
||||
- [IDOR in Zentao integration issue show page](gitlab-org/security/gitlab@01004871400564e5b18a2efa4f6d87c8ca37db5c) ([merge request](gitlab-org/security/gitlab!2741))
|
||||
- [Patch VULNDB-255039 (potential Rack cache poisoning)](gitlab-org/security/gitlab@a951318f5870e8f35c742eab58132c63d6d36198) ([merge request](gitlab-org/security/gitlab!2694))
|
||||
- [HTML escape the label background color](gitlab-org/security/gitlab@de115e3b0896aa1504882d3230b5427506fee3e2) ([merge request](gitlab-org/security/gitlab!2720))
|
||||
- [Sandbox jupyter notebook HTML output](gitlab-org/security/gitlab@67aeba4ae4c95d2668d0428cb66d263ee4247b68) ([merge request](gitlab-org/security/gitlab!2711))
|
||||
- [Fix unauthorized GFM references in Incident Timeline](gitlab-org/security/gitlab@f091bc238efa1d669c1257aa146339f4b1134a0c) ([merge request](gitlab-org/security/gitlab!2708))
|
||||
- [Optimize handling repositories with huge trees](gitlab-org/security/gitlab@9969c2cabccef2367631498f38ab8d0b19cf9da3) ([merge request](gitlab-org/security/gitlab!2666))
|
||||
- [Parse commit trailers without using regexp](gitlab-org/security/gitlab@9bd64457525313a949f151fd27f2954ff71e399d) ([merge request](gitlab-org/security/gitlab!2700))
|
||||
- [Check for pathological markdown input](gitlab-org/security/gitlab@c05642874c38e4d914297ad788a07c42b77b6b1e) ([merge request](gitlab-org/security/gitlab!2732))
|
||||
- [Replaced smooshpack to fix the vulnerability in LivePreview](gitlab-org/security/gitlab@e48df65563c6c66fd6d89fb7bf626bdf8b465cc0) ([merge request](gitlab-org/security/gitlab!2662))
|
||||
- [Update package auth for group IP allowlist](gitlab-org/security/gitlab@eb7b9e646732cc3590e00d5694d5a662e71c9f99) ([merge request](gitlab-org/security/gitlab!2684))
|
||||
- [Don't show pipeline status](gitlab-org/security/gitlab@a5962d9ee7aec4f86a982f2d686a690806df6f15) ([merge request](gitlab-org/security/gitlab!2680))
|
||||
- [Sanitize img attributes in Banzai::Filter::ImageLinkFilter](gitlab-org/security/gitlab@ee68b29c2199e1c399a4d0065ed53c50592e54a0) ([merge request](gitlab-org/security/gitlab!2676))
|
||||
- [Validate description length for snippets](gitlab-org/security/gitlab@e9e4c3b3109590a5c12ecb2f25e4641dd408ce36) ([merge request](gitlab-org/security/gitlab!2703))
|
||||
- [Prevent brute force vuln for Git over HTTP(S) requests](gitlab-org/security/gitlab@aab24e532b8c0b9e8acc90e7954434519e19b908) ([merge request](gitlab-org/security/gitlab!2717))
|
||||
|
||||
## 15.2.3 (2022-08-22)
|
||||
|
||||
### Security (2 changes)
|
||||
|
||||
- [Validate if values to be saved in Redis can be converted to string](gitlab-org/security/gitlab@427c7818b229fd45b10cb5de9ea6cc7c451dd4da) ([merge request](gitlab-org/security/gitlab!2724))
|
||||
- [Fix CSS selector used in specs](gitlab-org/security/gitlab@47bb40d097e2b05ecdbeebf6bdbe6eb9b6db1c7b) ([merge request](gitlab-org/security/gitlab!2727))
|
||||
|
||||
## 15.2.2 (2022-08-01)
|
||||
|
||||
### Fixed (6 changes)
|
||||
|
@ -1381,6 +2049,35 @@ entry.
|
|||
- [Update GitLab Runner Helm Chart to 0.42.0](gitlab-org/gitlab@cc89200f498fe216864914c79b5b0d1d578edab3) ([merge request](gitlab-org/gitlab!90605))
|
||||
- [Address database documentation Vale warningss](gitlab-org/gitlab@e5f9a089766bace046d3bbd760a2979865a4bbc0) by @cgives ([merge request](gitlab-org/gitlab!90093))
|
||||
|
||||
## 15.1.6 (2022-08-30)
|
||||
|
||||
### Security (17 changes)
|
||||
|
||||
- [No overriding methods for Sawyer class](gitlab-org/security/gitlab@720a17d03791c298d193b2d49d322a5f259bb6f2) ([merge request](gitlab-org/security/gitlab!2756))
|
||||
- [Bump yajl-ruby gem version](gitlab-org/security/gitlab@acb8bee73354ddbd7a7a52e3d09c870d1cd99e27) ([merge request](gitlab-org/security/gitlab!2690))
|
||||
- [Prevent long loops when generating suggested branch name](gitlab-org/security/gitlab@e331ecf658de25901def2ea4a368104b82a0109c) ([merge request](gitlab-org/security/gitlab!2745))
|
||||
- [IDOR in Zentao integration issue show page](gitlab-org/security/gitlab@0a238baf6a1d4aa0bc834448aefaf756d594a7be) ([merge request](gitlab-org/security/gitlab!2742))
|
||||
- [Patch VULNDB-255039 (potential Rack cache poisoning)](gitlab-org/security/gitlab@1f5ecd95b3631c8352ff57cf4bee23d26aa51ecc) ([merge request](gitlab-org/security/gitlab!2695))
|
||||
- [HTML escape the label background color](gitlab-org/security/gitlab@470b75a53ea4383ea30de5a482d39b322f87dfa2) ([merge request](gitlab-org/security/gitlab!2721))
|
||||
- [Sandbox jupyter notebook HTML output](gitlab-org/security/gitlab@72089898a60de7f17c19a2fa9d4f1330d3052b52) ([merge request](gitlab-org/security/gitlab!2713))
|
||||
- [Fix unauthorized GFM references in Incident Timeline](gitlab-org/security/gitlab@c62408682ed47bc2e5f93585a5b4e92e8cfebf9f) ([merge request](gitlab-org/security/gitlab!2709))
|
||||
- [Optimize handling repositories with huge trees](gitlab-org/security/gitlab@396f20e019a9888d1645e9345a82fdf21153bf76) ([merge request](gitlab-org/security/gitlab!2667))
|
||||
- [Parse commit trailers without using regexp](gitlab-org/security/gitlab@b377a1ecbb37c5359b2c2a0ecfbd911654664700) ([merge request](gitlab-org/security/gitlab!2701))
|
||||
- [Check for pathological markdown input](gitlab-org/security/gitlab@e3a1376ec70d8d60f11a380cce6e0b3c35f68646) ([merge request](gitlab-org/security/gitlab!2731))
|
||||
- [Replaced smooshpack to fix the vulnerability in LivePreview](gitlab-org/security/gitlab@d520ffd2a5a75d33ac98c39cd2f2fe623b0e1115) ([merge request](gitlab-org/security/gitlab!2664))
|
||||
- [Update package auth for group IP allowlist](gitlab-org/security/gitlab@12bb8656bdaa9a7502c0a1b77c12fefb72677ba1) ([merge request](gitlab-org/security/gitlab!2685))
|
||||
- [Don't show pipeline status](gitlab-org/security/gitlab@7fb43f899f2342704bda81643f8375a126efc2ae) ([merge request](gitlab-org/security/gitlab!2679))
|
||||
- [Sanitize img attributes in Banzai::Filter::ImageLinkFilter](gitlab-org/security/gitlab@594fa5874fb7cc6b6588bbf8aff2f04b8acbbfd0) ([merge request](gitlab-org/security/gitlab!2677))
|
||||
- [Validate description length for snippets](gitlab-org/security/gitlab@94ae3d05741bc69b9307e5f58f0d61bf2566c21b) ([merge request](gitlab-org/security/gitlab!2704))
|
||||
- [Prevent brute force vuln for Git over HTTP(S) requests](gitlab-org/security/gitlab@7b76542e197ea72289c881c312b3a519c8b28e63) ([merge request](gitlab-org/security/gitlab!2718))
|
||||
|
||||
## 15.1.5 (2022-08-22)
|
||||
|
||||
### Security (2 changes)
|
||||
|
||||
- [Validate if values to be saved in Redis can be converted to string](gitlab-org/security/gitlab@0bc82f875f78b6a2703b294b1a5a8d941000f9f2) ([merge request](gitlab-org/security/gitlab!2725))
|
||||
- [Fix CSS selector used in specs](gitlab-org/security/gitlab@a900e65b192a8415baa6bcd4050566543107ab1f) ([merge request](gitlab-org/security/gitlab!2728))
|
||||
|
||||
## 15.1.4 (2022-07-28)
|
||||
|
||||
### Security (18 changes)
|
||||
|
|
|
@ -1 +1 @@
|
|||
15.3.4
|
||||
15.4.2
|
|
@ -1 +1 @@
|
|||
3.0.1
|
||||
3.0.2
|
||||
|
|
|
@ -1 +1 @@
|
|||
15.3.0
|
||||
15.4.0
|
||||
|
|
71
Gemfile
71
Gemfile
|
@ -2,6 +2,8 @@
|
|||
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false
|
||||
|
||||
gem 'rails', '~> 6.1.6.1'
|
||||
|
||||
gem 'bootsnap', '~> 1.13.0', require: false
|
||||
|
@ -11,7 +13,7 @@ gem 'responders', '~> 3.0'
|
|||
|
||||
gem 'sprockets', '~> 3.7.0'
|
||||
|
||||
gem 'view_component', '~> 2.61'
|
||||
gem 'view_component', '~> 2.71.0'
|
||||
|
||||
# Default values for AR models
|
||||
gem 'default_value_for', '~> 3.4.0'
|
||||
|
@ -29,32 +31,33 @@ gem 'marginalia', '~> 1.10.0'
|
|||
gem 'declarative_policy', '~> 1.1.0'
|
||||
|
||||
# Authentication libraries
|
||||
gem 'devise', '~> 4.7.2'
|
||||
gem 'devise', '~> 4.8.1'
|
||||
gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable'
|
||||
gem 'bcrypt', '~> 3.1', '>= 3.1.14'
|
||||
gem 'doorkeeper', '~> 5.5.0.rc2'
|
||||
gem 'doorkeeper-openid_connect', '~> 1.7.5'
|
||||
gem 'rexml', '~> 3.2.5'
|
||||
gem 'ruby-saml', '~> 1.13.0'
|
||||
gem 'omniauth', '~> 1.8'
|
||||
gem 'omniauth-rails_csrf_protection'
|
||||
gem 'omniauth', '~> 2.1.0'
|
||||
gem 'omniauth-auth0', '~> 2.0.0'
|
||||
gem 'omniauth-azure-activedirectory-v2', '~> 1.0'
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.9' # See vendor/gems/omniauth-azure-oauth2/README.md
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.9', path: 'vendor/gems/omniauth-azure-oauth2' # See gem README.md
|
||||
gem 'omniauth-cas3', '~> 1.1.4', path: 'vendor/gems/omniauth-cas3' # See vendor/gems/omniauth-cas3/README.md
|
||||
gem 'omniauth-dingtalk-oauth2', '~> 1.0'
|
||||
gem 'omniauth-alicloud', '~> 1.0.1'
|
||||
gem 'omniauth-facebook', '~> 4.0.0'
|
||||
gem 'omniauth-github', '~> 1.4'
|
||||
gem 'omniauth-github', '2.0.0'
|
||||
gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md
|
||||
gem 'omniauth-google-oauth2', '~> 0.6.0'
|
||||
gem 'omniauth-google-oauth2', '~> 1.0.1', path: 'vendor/gems/omniauth-google-oauth2' # See gem README.md
|
||||
gem 'omniauth-oauth2-generic', '~> 0.2.2'
|
||||
gem 'omniauth-saml', '~> 1.10'
|
||||
gem 'omniauth-saml', '~> 2.0.0'
|
||||
gem 'omniauth-shibboleth', '~> 1.3.0'
|
||||
gem 'omniauth-twitter', '~> 1.4'
|
||||
gem 'omniauth_crowd', '~> 2.4.0', path: 'vendor/gems/omniauth_crowd' # See vendor/gems/omniauth_crowd/README.md
|
||||
gem 'omniauth-authentiq', '~> 0.3.3'
|
||||
gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect'
|
||||
gem 'omniauth-salesforce', '~> 1.0.5'
|
||||
gem 'gitlab-omniauth-openid-connect', '~> 0.10.0', require: 'omniauth_openid_connect'
|
||||
gem 'omniauth-salesforce', '~> 1.0.5', path: 'vendor/gems/omniauth-salesforce' # See gem README.md
|
||||
gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
|
||||
gem 'rack-oauth2', '~> 1.21.2'
|
||||
gem 'jwt', '~> 2.1.0'
|
||||
|
@ -164,21 +167,21 @@ gem 'rdoc', '~> 6.3.2'
|
|||
gem 'org-ruby', '~> 0.9.12'
|
||||
gem 'creole', '~> 0.5.0'
|
||||
gem 'wikicloth', '0.8.1'
|
||||
gem 'asciidoctor', '~> 2.0.10'
|
||||
gem 'asciidoctor', '~> 2.0.17'
|
||||
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
|
||||
gem 'asciidoctor-plantuml', '~> 0.0.12'
|
||||
gem 'asciidoctor-plantuml', '~> 0.0.16'
|
||||
gem 'asciidoctor-kroki', '~> 0.5.0', require: false
|
||||
gem 'rouge', '~> 3.30.0'
|
||||
gem 'truncato', '~> 0.7.12'
|
||||
gem 'bootstrap_form', '~> 4.2.0'
|
||||
gem 'nokogiri', '~> 1.13.0'
|
||||
gem 'nokogiri', '~> 1.13.8'
|
||||
gem 'escape_utils', '~> 1.1'
|
||||
|
||||
# Calendar rendering
|
||||
gem 'icalendar'
|
||||
|
||||
# Diffs
|
||||
gem 'diffy', '~> 3.3'
|
||||
gem 'diffy', '~> 3.4'
|
||||
gem 'diff_match_patch', '~> 0.1.0'
|
||||
|
||||
# Application server
|
||||
|
@ -187,7 +190,7 @@ gem 'rack', '~> 2.2.4'
|
|||
gem 'rack-timeout', '~> 0.6.0', require: 'rack/timeout/base'
|
||||
|
||||
group :puma do
|
||||
gem 'puma', '~> 5.6.4', require: false
|
||||
gem 'puma', '~> 5.6.5', require: false
|
||||
gem 'puma_worker_killer', '~> 0.3.1', require: false
|
||||
gem 'sd_notify', '~> 0.1.0', require: false
|
||||
end
|
||||
|
@ -199,8 +202,8 @@ gem 'state_machines-activerecord', '~> 0.8.0'
|
|||
gem 'acts-as-taggable-on', '~> 9.0'
|
||||
|
||||
# Background jobs
|
||||
gem 'sidekiq', '~> 6.4'
|
||||
gem 'sidekiq-cron', '~> 1.2'
|
||||
gem 'sidekiq', '~> 6.4.0'
|
||||
gem 'sidekiq-cron', '~> 1.4.0'
|
||||
gem 'redis-namespace', '~> 1.8.1'
|
||||
gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch'
|
||||
|
||||
|
@ -233,7 +236,7 @@ gem 'js_regex', '~> 3.7'
|
|||
gem 'device_detector'
|
||||
|
||||
# Redis
|
||||
gem 'redis', '~> 4.4.0'
|
||||
gem 'redis', '~> 4.7.0'
|
||||
gem 'connection_pool', '~> 2.0'
|
||||
|
||||
# Redis session store
|
||||
|
@ -272,7 +275,9 @@ gem 'babosa', '~> 1.0.4'
|
|||
gem 'loofah', '~> 2.18.0'
|
||||
|
||||
# Working with license
|
||||
gem 'licensee', '~> 9.14.1'
|
||||
# Detects the open source license the repository includes
|
||||
# This version needs to be in sync with gitlab-org/gitaly
|
||||
gem 'licensee', '~> 9.15'
|
||||
|
||||
# Detect and convert string character encoding
|
||||
gem 'charlock_holmes', '~> 0.7.7'
|
||||
|
@ -318,9 +323,7 @@ gem 'premailer-rails', '~> 1.10.3'
|
|||
|
||||
# LabKit: Tracing and Correlation
|
||||
gem 'gitlab-labkit', '~> 0.24.0'
|
||||
# Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0
|
||||
# because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900
|
||||
gem 'thrift', '>= 0.14.0'
|
||||
gem 'thrift', '>= 0.16.0'
|
||||
|
||||
# I18n
|
||||
gem 'ruby_parser', '~> 3.15', require: false
|
||||
|
@ -338,22 +341,21 @@ gem 'peek', '~> 1.1'
|
|||
gem 'snowplow-tracker', '~> 0.6.1'
|
||||
|
||||
# Metrics
|
||||
gem 'method_source', '~> 1.0', require: false
|
||||
gem 'webrick', '~> 1.6.1', require: false
|
||||
gem 'prometheus-client-mmap', '~> 0.16', require: 'prometheus/client'
|
||||
|
||||
gem 'warning', '~> 1.3.0'
|
||||
|
||||
group :development do
|
||||
gem 'lefthook', '~> 1.1.0', require: false
|
||||
gem 'lefthook', '~> 1.1.1', require: false
|
||||
gem 'rubocop'
|
||||
gem 'solargraph', '~> 0.45.0', require: false
|
||||
gem 'solargraph', '~> 0.46.0', require: false
|
||||
|
||||
gem 'letter_opener_web', '~> 2.0.0'
|
||||
gem 'lookbook'
|
||||
gem 'lookbook', '~> 1.0'
|
||||
|
||||
# Better errors handler
|
||||
gem 'better_errors', '~> 2.9.0'
|
||||
gem 'better_errors', '~> 2.9.1'
|
||||
|
||||
gem 'sprite-factory', '~> 1.7'
|
||||
end
|
||||
|
@ -380,12 +382,14 @@ group :development, :test do
|
|||
gem 'spring', '~> 2.1.0'
|
||||
gem 'spring-commands-rspec', '~> 1.0.4'
|
||||
|
||||
gem 'gitlab-styles', '~> 7.1.0', require: false
|
||||
gem 'gitlab-styles', '~> 8.0.0', require: false
|
||||
|
||||
gem 'haml_lint', '~> 0.36.0', require: false
|
||||
gem 'haml_lint', '~> 0.40.0', require: false
|
||||
gem 'bundler-audit', '~> 0.7.0.1', require: false
|
||||
|
||||
# Benchmarking & profiling
|
||||
gem 'benchmark-ips', '~> 2.3.0', require: false
|
||||
gem 'benchmark-memory', '~> 0.1', require: false
|
||||
|
||||
gem 'knapsack', '~> 1.21.1'
|
||||
gem 'crystalball', '~> 0.7.0', require: false
|
||||
|
@ -406,7 +410,7 @@ group :development, :test do
|
|||
end
|
||||
|
||||
group :development, :test, :danger do
|
||||
gem 'gitlab-dangerfiles', '~> 3.5.0', require: false
|
||||
gem 'gitlab-dangerfiles', '~> 3.5.2', require: false
|
||||
end
|
||||
|
||||
group :development, :test, :coverage do
|
||||
|
@ -457,10 +461,9 @@ gem 'email_reply_trimmer', '~> 0.1'
|
|||
gem 'html2text'
|
||||
|
||||
gem 'ruby-prof', '~> 1.3.0'
|
||||
gem 'stackprof', '~> 0.2.15', require: false
|
||||
gem 'stackprof', '~> 0.2.21', require: false
|
||||
gem 'rbtrace', '~> 0.4', require: false
|
||||
gem 'memory_profiler', '~> 0.9', require: false
|
||||
gem 'benchmark-memory', '~> 0.1', require: false
|
||||
gem 'activerecord-explain-analyze', '~> 0.1', require: false
|
||||
|
||||
# OAuth
|
||||
|
@ -480,10 +483,10 @@ gem 'net-ntp'
|
|||
gem 'ssh_data', '~> 1.3'
|
||||
|
||||
# Spamcheck GRPC protocol definitions
|
||||
gem 'spamcheck', '~> 0.1.0'
|
||||
gem 'spamcheck', '~> 1.0.0'
|
||||
|
||||
# Gitaly GRPC protocol definitions
|
||||
gem 'gitaly', '~> 15.3.0-rc3'
|
||||
gem 'gitaly', '~> 15.4.0-rc2'
|
||||
|
||||
# KAS GRPC protocol definitions
|
||||
gem 'kas-grpc', '~> 0.0.2'
|
||||
|
@ -524,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'
|
||||
|
||||
|
|
639
Gemfile.checksum
Normal file
639
Gemfile.checksum
Normal file
|
@ -0,0 +1,639 @@
|
|||
[
|
||||
{"name":"RedCloth","version":"4.3.2","platform":"ruby","checksum":"1ee7bc55c8dcec92cf7741a2132a9a6cd19e4b884fbc1b3aca23e1a4fcd92d55"},
|
||||
{"name":"acme-client","version":"2.0.11","platform":"ruby","checksum":"edf6da9f3c5dbe3ab0c6738eb3b97978b7a60e3500445480d2a72fcc610089de"},
|
||||
{"name":"actioncable","version":"6.1.6.1","platform":"ruby","checksum":"11f079141cf032026881e4a79ae0cc93753351089c1b6ca1ed30a8a6a21f961b"},
|
||||
{"name":"actionmailbox","version":"6.1.6.1","platform":"ruby","checksum":"a4cc16fe634c9de4e22669fc4bf20d5b84f65039c7e3d7308c804b82726d03d2"},
|
||||
{"name":"actionmailer","version":"6.1.6.1","platform":"ruby","checksum":"13964bff4a75efd705304cb7aeb71380a4b11d404c7304b67f3bc3208cde12a7"},
|
||||
{"name":"actionpack","version":"6.1.6.1","platform":"ruby","checksum":"f3e0a82a62aa36fecadbacbb266e38338da032f18aaf97674f335671b420bdd4"},
|
||||
{"name":"actiontext","version":"6.1.6.1","platform":"ruby","checksum":"ff26b96769b6f4bdf3c0e74f613b232b2cdab7e46f1433c9cfa4fdcd081afac0"},
|
||||
{"name":"actionview","version":"6.1.6.1","platform":"ruby","checksum":"a87fc7d2c4fe9b6357492a3ee361be8169f3f319f47bf70fda1b1718b944d06b"},
|
||||
{"name":"activejob","version":"6.1.6.1","platform":"ruby","checksum":"9efee4499d31aaaab73b843a09564d4a2aabcd51c2088361a92e08766ab0db65"},
|
||||
{"name":"activemodel","version":"6.1.6.1","platform":"ruby","checksum":"239953365a7da4bcb9a3819b8ac2557a58a3ba89ddd36bee9bb3eca818e4a3e2"},
|
||||
{"name":"activerecord","version":"6.1.6.1","platform":"ruby","checksum":"82f74804ab34ea549fd593e5ced68c32426564786127d2de9b933ba78467d0b0"},
|
||||
{"name":"activerecord-explain-analyze","version":"0.1.0","platform":"ruby","checksum":"5debb11fe23f35b91953a80677d80ba9284ee737fd9d148c1d7603ce45217f7b"},
|
||||
{"name":"activestorage","version":"6.1.6.1","platform":"ruby","checksum":"3fbf4c355a69a46e14676004ad8e06245bdce7f96858e72782715218326aafc5"},
|
||||
{"name":"activesupport","version":"6.1.6.1","platform":"ruby","checksum":"5fc9fd6fe6f755e7523bb3aaf4370fb91a8416b39e3202939fd8bded4fec606d"},
|
||||
{"name":"acts-as-taggable-on","version":"9.0.0","platform":"ruby","checksum":"5a409be0eae125b7b02c1a7316264b40d4a583584a13d4ea4a6d82acdb351b86"},
|
||||
{"name":"addressable","version":"2.8.0","platform":"ruby","checksum":"f76d29d2d1f54b6c6a49aec58f9583b08d97e088c227a3fcba92f6c6531d5908"},
|
||||
{"name":"aes_key_wrap","version":"1.1.0","platform":"ruby","checksum":"b935f4756b37375895db45669e79dfcdc0f7901e12d4e08974d5540c8e0776a5"},
|
||||
{"name":"akismet","version":"3.0.0","platform":"ruby","checksum":"74991b8e3d3257eeea996b47069abb8da2006c84a144255123e8dffd1c86b230"},
|
||||
{"name":"android_key_attestation","version":"0.3.0","platform":"ruby","checksum":"467eb01a99d2bb48ef9cf24cc13712669d7056cba5a52d009554ff037560570b"},
|
||||
{"name":"apollo_upload_server","version":"2.1.0","platform":"ruby","checksum":"e5f3c9dda0c2ca775d007072742b98d517dfd91a667111fedbcdc94dfabd904e"},
|
||||
{"name":"asana","version":"0.10.13","platform":"ruby","checksum":"36d0d37f8dd6118a54580f1b80224875d7b6a9027598938e1722a508bfc2d7ac"},
|
||||
{"name":"asciidoctor","version":"2.0.17","platform":"ruby","checksum":"ed5b5e399e8d64994cc16f0983f993d6e33990909a8415b6fc8b786cdeb00f3d"},
|
||||
{"name":"asciidoctor-include-ext","version":"0.4.0","platform":"ruby","checksum":"406adb9d2fbfc25536609ca13b787ed704dc06a4e49d6709b83f3bad578f7878"},
|
||||
{"name":"asciidoctor-kroki","version":"0.5.0","platform":"ruby","checksum":"622c8b74796689bdaf8abdf89ad5295b11ce310e3d193e28f19e5baf58d45f12"},
|
||||
{"name":"asciidoctor-plantuml","version":"0.0.16","platform":"ruby","checksum":"407e47cd1186ded5ccc75f0c812e5524c26c571d542247c5132abb8f47bd1793"},
|
||||
{"name":"ast","version":"2.4.2","platform":"ruby","checksum":"1e280232e6a33754cde542bc5ef85520b74db2aac73ec14acef453784447cc12"},
|
||||
{"name":"atlassian-jwt","version":"0.2.0","platform":"ruby","checksum":"52e653e9d6062d7a740c3675b0e79fa08367927c6fc17f5476d1b6b3798c6eb2"},
|
||||
{"name":"attr_encrypted","version":"3.1.0","platform":"ruby","checksum":"4f0682604714ed4599cf00771ad27e82f0b51b0ed8644af51a43d21fbe129b59"},
|
||||
{"name":"attr_required","version":"1.0.1","platform":"ruby","checksum":"024e10393bd30901e1adf6769bd756b873a5ef7da60f86f8f11066116b5742bc"},
|
||||
{"name":"autoprefixer-rails","version":"10.2.5.1","platform":"ruby","checksum":"3711d67f1112361c7628847ac192d8aa6f3b8abe47527aee8a69dc8985e798ee"},
|
||||
{"name":"awesome_print","version":"1.9.2","platform":"ruby","checksum":"e99b32b704acff16d768b3468680793ced40bfdc4537eb07e06a4be11133786e"},
|
||||
{"name":"awrence","version":"1.1.1","platform":"ruby","checksum":"9be584c97408ed92d5e1ca11740853646fe270de675f2f8dd44e8233226dfc97"},
|
||||
{"name":"aws-eventstream","version":"1.2.0","platform":"ruby","checksum":"ffa53482c92880b001ff2fb06919b9bb82fd847cbb0fa244985d2ebb6dd0d1df"},
|
||||
{"name":"aws-partitions","version":"1.600.0","platform":"ruby","checksum":"23592386dd0bb34c38fae2714eb1ab5c18fbef714f22b042815a92fdd51fa733"},
|
||||
{"name":"aws-sdk-cloudformation","version":"1.41.0","platform":"ruby","checksum":"31e47539719734413671edf9b1a31f8673fbf9688549f50c41affabbcb1c6b26"},
|
||||
{"name":"aws-sdk-core","version":"3.131.1","platform":"ruby","checksum":"481c602d682b61abccb4e9f5b64750907bb49758f6f31b3bec599819951a3f7a"},
|
||||
{"name":"aws-sdk-kms","version":"1.57.0","platform":"ruby","checksum":"ffd7dbb9b4251f29d4f508af761d0addd7035a346a88e3481cdb4dc548e51bd5"},
|
||||
{"name":"aws-sdk-s3","version":"1.114.0","platform":"ruby","checksum":"ce0f71df1a7b0fb1f88d40a70636ef1a9b08e69fb560694c5dab3f4ac7efcde4"},
|
||||
{"name":"aws-sigv4","version":"1.5.0","platform":"ruby","checksum":"3f81c08bacabec6cbc77ebbbac755ca6132a74a4a3279afbde64db83796ce776"},
|
||||
{"name":"azure-storage-blob","version":"2.0.3","platform":"ruby","checksum":"61b76118843c91776bd24bee22c74adafeb7c4bb3a858a325047dae3b59d0363"},
|
||||
{"name":"azure-storage-common","version":"2.0.4","platform":"ruby","checksum":"608f4daab0e06b583b73dcffd3246ea39e78056de31630286b0cf97af7d6956b"},
|
||||
{"name":"babosa","version":"1.0.4","platform":"ruby","checksum":"18dea450f595462ed7cb80595abd76b2e535db8c91b350f6c4b3d73986c5bc99"},
|
||||
{"name":"backport","version":"1.2.0","platform":"ruby","checksum":"912c7dfdd9ee4625d013ddfccb6205c3f92da69a8990f65c440e40f5b2fc7f75"},
|
||||
{"name":"base32","version":"0.3.2","platform":"ruby","checksum":"532e9b19c5dd1fce281df67fc93a803ebd5d26426a93f6dda6612769bc46fe2c"},
|
||||
{"name":"batch-loader","version":"2.0.1","platform":"ruby","checksum":"93f711df78d316ee0440a7a45daba4f5418d0ee2b5f58f60c9ea038424e7a89d"},
|
||||
{"name":"bcrypt","version":"3.1.16","platform":"java","checksum":"2925a1546fa8e85bdb1b10f1fc95c4e1ea15992ada16adea4af82b0978ed662c"},
|
||||
{"name":"bcrypt","version":"3.1.16","platform":"ruby","checksum":"0b8bf031ba81aa76c0f10c5a8dac779b6035d84b09af1dbb2b1a32a7e360210b"},
|
||||
{"name":"benchmark","version":"0.2.0","platform":"ruby","checksum":"5f7087b794613abdd3ac9c13f4351f65b164bcb15ced2ad29508e365f9b28c77"},
|
||||
{"name":"benchmark-ips","version":"2.3.0","platform":"ruby","checksum":"12443aa327d3129aa965244f79d7d5cb0f692f0f92ba7db76fba61526a40062e"},
|
||||
{"name":"benchmark-malloc","version":"0.2.0","platform":"ruby","checksum":"37c68f0435261634026f584d79956a35325a3027e3e6b4cc8d7575aa10537e6b"},
|
||||
{"name":"benchmark-memory","version":"0.1.2","platform":"ruby","checksum":"aa7bfe6776174d0ddefe6fb39945d88fff6d76eac165690188391d9acd441c87"},
|
||||
{"name":"benchmark-perf","version":"0.6.0","platform":"ruby","checksum":"fe2b01959f3de0f9dd34820d54ef881eb4f3589fccb7d17b63068ac92d7f9621"},
|
||||
{"name":"benchmark-trend","version":"0.4.0","platform":"ruby","checksum":"de5a02a9f443babefbbd97784759820decee8554a0c273d859c02a0990845d81"},
|
||||
{"name":"better_errors","version":"2.9.1","platform":"ruby","checksum":"39efc116ab04d6c4200052c5782936e4bd99906978d098992bce6bf81d054284"},
|
||||
{"name":"bindata","version":"2.4.10","platform":"ruby","checksum":"798b5e3ec00e9d562243076b819c16b1e226eb176d5b7b5cd21417bc3589981a"},
|
||||
{"name":"binding_ninja","version":"0.2.3","platform":"java","checksum":"bbcf70b211d6e397493bf57c249bbec6aaf28fa7dafeb78e447b1b2f0610484f"},
|
||||
{"name":"binding_ninja","version":"0.2.3","platform":"ruby","checksum":"4a85550a0066ee4721506b4e150857486808e50c9ddfeed04bdc896bb61eca9d"},
|
||||
{"name":"bootsnap","version":"1.13.0","platform":"ruby","checksum":"c673282ec0f48506f093ca9acefe0f666d1ab9fda716e49fb95c9fe677653e78"},
|
||||
{"name":"bootstrap_form","version":"4.2.0","platform":"ruby","checksum":"f578b3c900d2cf15fab641064d357318b29e285bd5fdf090f903727912889710"},
|
||||
{"name":"browser","version":"4.2.0","platform":"ruby","checksum":"fc194b422ea8b313f98443c6ec249ccf252e29007ce01bb99ebe828bd7fe3e60"},
|
||||
{"name":"builder","version":"3.2.4","platform":"ruby","checksum":"99caf08af60c8d7f3a6b004029c4c3c0bdaebced6c949165fe98f1db27fbbc10"},
|
||||
{"name":"bullet","version":"7.0.2","platform":"ruby","checksum":"4b7986b366f694bb05d5c1b4ea8ba949a99224d4511bf02f0c3944112f719c81"},
|
||||
{"name":"bundler-audit","version":"0.7.0.1","platform":"ruby","checksum":"12d853cb0b92fa8868abbb539414d7a33da9e48b792e2ff28271d36c8ace8912"},
|
||||
{"name":"byebug","version":"11.1.3","platform":"ruby","checksum":"2485944d2bb21283c593d562f9ae1019bf80002143cc3a255aaffd4e9cf4a35b"},
|
||||
{"name":"capybara","version":"3.35.3","platform":"ruby","checksum":"3389f8203b05175352b763f4d04c31b29ba606a96224649ac42ef967f56538ee"},
|
||||
{"name":"capybara-screenshot","version":"1.0.22","platform":"ruby","checksum":"f86040349a0df7f723123460d9456023f7d693068338991529f10f670fa420f5"},
|
||||
{"name":"carrierwave","version":"1.3.2","platform":"ruby","checksum":"3c42f3f3c2c83b29efe2b441d246829c42bc626ac3f6af1486c9a62d971fb114"},
|
||||
{"name":"cbor","version":"0.5.9.6","platform":"ruby","checksum":"434a147658dd1df24ec9e7b3297c1fd4f8a691c97d0e688b3049df8e728b2114"},
|
||||
{"name":"character_set","version":"1.4.1","platform":"java","checksum":"38b632136b40e02fecba2898497b07ac640cc121f17ac536eaf19873d50053d0"},
|
||||
{"name":"character_set","version":"1.4.1","platform":"ruby","checksum":"f71b1ac35b21c4c6f9f26b8a67c7eec8e10bdf0da17488ac7f8fae756d9f8062"},
|
||||
{"name":"charlock_holmes","version":"0.7.7","platform":"ruby","checksum":"1790eca3f661ffa6bbf5866c53c7191e4b8472626fc4997ff9dbe7c425e2cb43"},
|
||||
{"name":"chef-config","version":"16.10.17","platform":"ruby","checksum":"1f4961e4d6aa4df374f739c6f62ae1d2be03dcff1bd93e56d9c963b8a156747c"},
|
||||
{"name":"chef-utils","version":"16.10.17","platform":"ruby","checksum":"a74253da6aab8ff92c955549536bdecbc4d1ce8032c8201576f2a8ef4e8ed7b3"},
|
||||
{"name":"childprocess","version":"3.0.0","platform":"ruby","checksum":"4579a87cdc962de252eebf1482a4185fad383ae7dbe29a746ba2be8e261280c5"},
|
||||
{"name":"chunky_png","version":"1.3.5","platform":"ruby","checksum":"b6ab1011b2e79bcc973c92deee4110d071d5cd59ed950efcd0aba49a5f57c06d"},
|
||||
{"name":"citrus","version":"3.0.2","platform":"ruby","checksum":"4ec2412fc389ad186735f4baee1460f7900a8e130ffe3f216b30d4f9c684f650"},
|
||||
{"name":"claide","version":"1.1.0","platform":"ruby","checksum":"6d3c5c089dde904d96aa30e73306d0d4bd444b1accb9b3125ce14a3c0183f82e"},
|
||||
{"name":"claide-plugins","version":"0.9.2","platform":"ruby","checksum":"c7ea78bc067ab23bce8515497cdcdcb8f01c86dadfbe13c44644e382922c1c2e"},
|
||||
{"name":"coderay","version":"1.1.3","platform":"ruby","checksum":"dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b"},
|
||||
{"name":"colored2","version":"3.1.2","platform":"ruby","checksum":"b13c2bd7eeae2cf7356a62501d398e72fde78780bd26aec6a979578293c28b4a"},
|
||||
{"name":"commonmarker","version":"0.23.4","platform":"ruby","checksum":"95d9cb050576376374a66d71a4feab3562e0955aab9d80a3e8606a5cf5e9c7ce"},
|
||||
{"name":"concurrent-ruby","version":"1.1.10","platform":"ruby","checksum":"244cb1ca0d91ec2c15ca2209507c39fb163336994428e16fbd3f465c87bd8e68"},
|
||||
{"name":"connection_pool","version":"2.2.5","platform":"ruby","checksum":"13a8fc3921ce4df8e04fb65f1037251decb08d74757b41163688bd1c1feccd39"},
|
||||
{"name":"contracts","version":"0.11.0","platform":"ruby","checksum":"df6e438efa89c31dd3095851c3f7a25dfdae36b35ff1d4547f1d92941b3c7286"},
|
||||
{"name":"cork","version":"0.3.0","platform":"ruby","checksum":"a0a0ac50e262f8514d1abe0a14e95e71c98b24e3378690e5d044daf0013ad4bc"},
|
||||
{"name":"cose","version":"1.0.0","platform":"ruby","checksum":"520ebaad97b56d2873de02ff4e2c973f5e77ce2f8edbda454af9ee3073643bc0"},
|
||||
{"name":"countries","version":"3.0.0","platform":"ruby","checksum":"ecb4287436f83f4bb098a9462828b145bec3143fa49e7ce5b1714d0ee5454770"},
|
||||
{"name":"crack","version":"0.4.3","platform":"ruby","checksum":"5318ba8cd9cf7e0b5feb38948048503ba4b1fdc1b6ff30a39f0a00feb6036b29"},
|
||||
{"name":"crass","version":"1.0.6","platform":"ruby","checksum":"dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d"},
|
||||
{"name":"creole","version":"0.5.0","platform":"ruby","checksum":"951701e2d80760f156b1cb2a93471ca97c076289becc067a33b745133ed32c03"},
|
||||
{"name":"crystalball","version":"0.7.0","platform":"ruby","checksum":"6e729f372a5071daec877adb40c5df4cb25fe21f350635e2a9624373fc151ef2"},
|
||||
{"name":"css_parser","version":"1.11.0","platform":"ruby","checksum":"568926c3193579446ad3e3f9d761c73e2918ee5b3b7757a1a49ec166c67d6de1"},
|
||||
{"name":"danger","version":"8.6.1","platform":"ruby","checksum":"d95eb58b41f68d3aaa9bbef697916b6b4d161a38819517c98562531be75cdfd8"},
|
||||
{"name":"danger-gitlab","version":"8.0.0","platform":"ruby","checksum":"497dd7d0f6513913de651019223d8058cf494df10acbd17de92b175dfa04a3a8"},
|
||||
{"name":"database_cleaner","version":"1.7.0","platform":"ruby","checksum":"bdf833c197afac7054015bcde2567c3834c366bbfe6a377c30151ca984b32016"},
|
||||
{"name":"dead_end","version":"3.1.1","platform":"ruby","checksum":"1011df7f7c0149be004e11cbbc37747760227c55305cd902fd3c06e1394b2f5b"},
|
||||
{"name":"deckar01-task_list","version":"2.3.1","platform":"ruby","checksum":"205a08c22a8f05c063d43c452aeada4214b58fdce1e55e92ec709e2cfb9e7ca1"},
|
||||
{"name":"declarative","version":"0.0.20","platform":"ruby","checksum":"8021dd6cb17ab2b61233c56903d3f5a259c5cf43c80ff332d447d395b17d9ff9"},
|
||||
{"name":"declarative-option","version":"0.1.0","platform":"ruby","checksum":"17508349f51c5631e5ad4158c29f78a4b2de618abffa066d76c11953705f91bc"},
|
||||
{"name":"declarative_policy","version":"1.1.0","platform":"ruby","checksum":"9af4cf299ade03f2bbf63908f2ce6a117d132fc714c39a128596667fb13331cb"},
|
||||
{"name":"default_value_for","version":"3.4.0","platform":"ruby","checksum":"35d2dc51675a6bedfa875778628d44b823e0d7336da9432519477174ebb0f40f"},
|
||||
{"name":"deprecation_toolkit","version":"1.5.1","platform":"ruby","checksum":"a8a1ab1a19ae40ea12560b65010e099f3459ebde390b76621ef0c21c516a04ba"},
|
||||
{"name":"derailed_benchmarks","version":"2.1.1","platform":"ruby","checksum":"25b0ba79dc52c715ea6cce35fd8afbbf84511ef1c7f2bbe1d8b7a30addc6aab3"},
|
||||
{"name":"device_detector","version":"1.0.0","platform":"ruby","checksum":"b800fb3150b00c23e87b6768011808ac1771fffaae74c3238ebaf2b782947a7d"},
|
||||
{"name":"devise","version":"4.8.1","platform":"ruby","checksum":"fdd48bbe79a89e7c1152236a70479842ede48bea4fa7f4f2d8da1f872559803e"},
|
||||
{"name":"devise-two-factor","version":"4.0.2","platform":"ruby","checksum":"6548d2696ed090d27046f888f4fa7380f151e0f823902d46fd9b91e7d0cac511"},
|
||||
{"name":"diff-lcs","version":"1.5.0","platform":"ruby","checksum":"49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67"},
|
||||
{"name":"diff_match_patch","version":"0.1.0","platform":"ruby","checksum":"b36057bfcfeaedf19dcb7b2c28c19ee625bd6ec6d0d182717d3ef22b3879c40e"},
|
||||
{"name":"diffy","version":"3.4.2","platform":"ruby","checksum":"36b42ffbe5138ddc56182107c24ad8d6b066ecfd2876829f391e3a4993d89ae1"},
|
||||
{"name":"discordrb-webhooks","version":"3.4.2","platform":"ruby","checksum":"cfdba8a4b28236b6ab34e37389f881a59c241aeb5be0a4447249efd4e4383c6e"},
|
||||
{"name":"docile","version":"1.4.0","platform":"ruby","checksum":"5f1734bde23721245c20c3d723e76c104208e1aa01277a69901ce770f0ebb8d3"},
|
||||
{"name":"domain_name","version":"0.5.20190701","platform":"ruby","checksum":"000a600454cb4a344769b2f10b531765ea7bd3a304fe47ed12e5ca1eab969851"},
|
||||
{"name":"doorkeeper","version":"5.5.0.rc2","platform":"ruby","checksum":"93a322ffca3cadbfb862b0199f78674d8372780afdd7471e657064610bb7b2d5"},
|
||||
{"name":"doorkeeper-openid_connect","version":"1.7.5","platform":"ruby","checksum":"2dea201ffd9e4bec573609c90bb638254a48bfa3de3ec4af892ec64e0b5947b2"},
|
||||
{"name":"dotenv","version":"2.7.6","platform":"ruby","checksum":"2451ed5e8e43776d7a787e51d6f8903b98e446146c7ad143d5678cc2c409d547"},
|
||||
{"name":"dry-configurable","version":"0.12.0","platform":"ruby","checksum":"87a9579a04dfbae73e401d694282800d64bbdb8631cb3e987bfb79b673df7c67"},
|
||||
{"name":"dry-container","version":"0.7.2","platform":"ruby","checksum":"a071824ba3451048b23500210f96a2b9facd6e46ac687f65e49c75d18786f6da"},
|
||||
{"name":"dry-core","version":"0.5.0","platform":"ruby","checksum":"3af9777320a7c930766e2fe638df970c62145100f673caf7aae25ecc3a2c4493"},
|
||||
{"name":"dry-equalizer","version":"0.3.0","platform":"ruby","checksum":"866c9245b98280696ee7799f14e0c89d19d0afe890832aaf914649f9c0bc5867"},
|
||||
{"name":"dry-inflector","version":"0.2.0","platform":"ruby","checksum":"c7cf29c3dc9d961c115aac873ac39a4ff6988fae7f7871c473a9694c1f6fb39e"},
|
||||
{"name":"dry-logic","version":"1.1.0","platform":"ruby","checksum":"eca4b39084c9d22778144b7e4cf8db20e8bab7de6d89deb220d20a9fde60b69d"},
|
||||
{"name":"dry-types","version":"1.4.0","platform":"ruby","checksum":"68003bb0db3077fecd0270f4ae486a82ee76bab6d666fdc4e094380a67c9a1df"},
|
||||
{"name":"e2mmap","version":"0.1.0","platform":"ruby","checksum":"45ee6bba2d97a7d91ee0885774261feee87e28c598355df31e93b56196ec0f59"},
|
||||
{"name":"ecma-re-validator","version":"0.3.0","platform":"ruby","checksum":"66a95bd8c2b0641baf1fbf9bd355a0dcf13c82c6883f6f496a722420a8b6e0d7"},
|
||||
{"name":"ed25519","version":"1.3.0","platform":"java","checksum":"8e5d2f8a5325c7a463d61d1a48406ce54074c610f3dccd889e6532c9527a3894"},
|
||||
{"name":"ed25519","version":"1.3.0","platform":"ruby","checksum":"514a5584f84d39daac568a17ec93a4e7261e140c52c562ed8c382c18456e627d"},
|
||||
{"name":"elasticsearch","version":"7.13.3","platform":"ruby","checksum":"58b1ad787fafd41836388176dc09e914b2f6e0b257e73b8a51a704ba6bf75b41"},
|
||||
{"name":"elasticsearch-api","version":"7.13.3","platform":"ruby","checksum":"888f35c64c896db7909f1a56f6c383c45ad6b73c3231649b9c989e39b3d2ba2e"},
|
||||
{"name":"elasticsearch-model","version":"7.2.0","platform":"ruby","checksum":"2cc1810a45619223c43eff78c6112988f12d475d201523243007dccc6ef96cc7"},
|
||||
{"name":"elasticsearch-rails","version":"7.2.1","platform":"ruby","checksum":"0750dc0e956358d9a3a0912a8186c266ef19f8de0b178c61996ed1a6998156e4"},
|
||||
{"name":"elasticsearch-transport","version":"7.13.3","platform":"ruby","checksum":"ab8d0226652fb5b32923f172c1abfbc7464058b7de2d9dde3215c88d518c8e2e"},
|
||||
{"name":"email_reply_trimmer","version":"0.1.6","platform":"ruby","checksum":"9fede222ce660993e4e2e3dad282535ceb7914e246eb8302c19aa9e021f7326e"},
|
||||
{"name":"email_spec","version":"2.2.0","platform":"ruby","checksum":"60b7980580a835e7f676db60667f17a2d60e8e0e39c26d81cfc231805c544d79"},
|
||||
{"name":"encryptor","version":"3.0.0","platform":"ruby","checksum":"abf23f94ab4d864b8cea85b43f3432044a60001982cda7c33c1cd90da8db1969"},
|
||||
{"name":"erubi","version":"1.9.0","platform":"ruby","checksum":"7d84d6037396418c4ba30bc40ed7a0aec9beb567ce55bcecb12e8c0cb1ed9fdb"},
|
||||
{"name":"escape_utils","version":"1.2.1","platform":"ruby","checksum":"e5292fe8d7e12a9bcb4502d99e28fb602e4e1514690d98a1c4957f6f77b4b162"},
|
||||
{"name":"et-orbi","version":"1.2.7","platform":"ruby","checksum":"3b693d47f94a4060ccc07e60adda488759b1e8b9228a633ebbad842dfc245fb4"},
|
||||
{"name":"ethon","version":"0.15.0","platform":"ruby","checksum":"0809805a035bc10f54162ca99f15ded49e428e0488bcfe1c08c821e18261a74d"},
|
||||
{"name":"excon","version":"0.90.0","platform":"ruby","checksum":"01beac0f20652b12de95aef931f72bcb82ffb009e1c34c42a5cf5df93f4070ae"},
|
||||
{"name":"execjs","version":"2.8.1","platform":"ruby","checksum":"6d939919cfd81bcc4d6556f322c3995a70cfe4289ea0bd3b1f999b489c323088"},
|
||||
{"name":"expression_parser","version":"0.9.0","platform":"ruby","checksum":"2b56db3cffc48c3337f4f29f5bc2374c86e7ba29acb40269c74bb55af9f868a4"},
|
||||
{"name":"extended-markdown-filter","version":"0.6.0","platform":"ruby","checksum":"46844b5740b1703a0e0674e31a17c83d1244a3198abb3aae51cad1eb152eb19e"},
|
||||
{"name":"factory_bot","version":"6.2.0","platform":"ruby","checksum":"d181902cdda531cf6cef036001b3a700a7b5e04bac63976864530120b2ac7d13"},
|
||||
{"name":"factory_bot_rails","version":"6.2.0","platform":"ruby","checksum":"278b969666b078e76e1c972c501da9b1fac15e5b0ff328cc7ce400366164d0a1"},
|
||||
{"name":"faraday","version":"1.10.0","platform":"ruby","checksum":"a42158d5c1932c16fd483c512f7e0797b4916096bcf0eb5fb927a1c915a7ea02"},
|
||||
{"name":"faraday-cookie_jar","version":"0.0.7","platform":"ruby","checksum":"f3cbbe6f2de3d4028f00a67ae4196b99348a6dc3c065fdae6d3c7123fa8b1402"},
|
||||
{"name":"faraday-em_http","version":"1.0.0","platform":"ruby","checksum":"7a3d4c7079789121054f57e08cd4ef7e40ad1549b63101f38c7093a9d6c59689"},
|
||||
{"name":"faraday-em_synchrony","version":"1.0.0","platform":"ruby","checksum":"460dad1c30cc692d6e77d4c391ccadb4eca4854b315632cd7e560f74275cf9ed"},
|
||||
{"name":"faraday-excon","version":"1.1.0","platform":"ruby","checksum":"b055c842376734d7f74350fe8611542ae2000c5387348d9ba9708109d6e40940"},
|
||||
{"name":"faraday-http-cache","version":"2.4.0","platform":"ruby","checksum":"388f901d63bd5903b470c5696bc886ed94fab0c4206b25c3761e7b9bdbbf6c90"},
|
||||
{"name":"faraday-httpclient","version":"1.0.1","platform":"ruby","checksum":"4c8ff1f0973ff835be8d043ef16aaf54f47f25b7578f6d916deee8399a04d33b"},
|
||||
{"name":"faraday-multipart","version":"1.0.4","platform":"ruby","checksum":"9012021ab57790f7d712f590b48d5f948b19b43cfa11ca83e6459f06090b0725"},
|
||||
{"name":"faraday-net_http","version":"1.0.1","platform":"ruby","checksum":"3245ce406ebb77b40e17a77bfa66191dda04be2fd4e13a78d8a4305854d328ba"},
|
||||
{"name":"faraday-net_http_persistent","version":"1.2.0","platform":"ruby","checksum":"0b0cbc8f03dab943c3e1cc58d8b7beb142d9df068b39c718cd83e39260348335"},
|
||||
{"name":"faraday-patron","version":"1.0.0","platform":"ruby","checksum":"dc2cd7b340bb3cc8e36bcb9e6e7eff43d134b6d526d5f3429c7a7680ddd38fa7"},
|
||||
{"name":"faraday-rack","version":"1.0.0","platform":"ruby","checksum":"ef60ec969a2bb95b8dbf24400155aee64a00fc8ba6c6a4d3968562bcc92328c0"},
|
||||
{"name":"faraday-retry","version":"1.0.3","platform":"ruby","checksum":"add154f4f399243cbe070806ed41b96906942e7f5259bb1fe6daf2ec8f497194"},
|
||||
{"name":"faraday_middleware","version":"1.2.0","platform":"ruby","checksum":"ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af"},
|
||||
{"name":"faraday_middleware-aws-sigv4","version":"0.3.0","platform":"ruby","checksum":"744654bd5b15539a54aed39b806e2dfb45aa47708fa1e6f6766fedcda6c262be"},
|
||||
{"name":"faraday_middleware-multi_json","version":"0.0.6","platform":"ruby","checksum":"38fc4dab7a78916ad09827d5a164aab62fbf2cb8b9de0507763de1f561d7a118"},
|
||||
{"name":"fast_blank","version":"1.0.0","platform":"ruby","checksum":"a67c93dbcb8c34ba40973688e4b600b640760503362f3aeb63b37ebe3d8d419b"},
|
||||
{"name":"fast_gettext","version":"2.1.0","platform":"ruby","checksum":"0d095dbc5a003b3caea13b9569288703086ae05aac2cc6d7b0881c8e0a07ae15"},
|
||||
{"name":"ffaker","version":"2.10.0","platform":"ruby","checksum":"4323b85b4bbdb0d932695b2ebffeb3645304215092e64e2a451630a9f5a5e507"},
|
||||
{"name":"ffi","version":"1.15.5","platform":"java","checksum":"610b9a993e67b812123cfedc1c45a639aa2f2455747af5443d54f98e092b1abe"},
|
||||
{"name":"ffi","version":"1.15.5","platform":"ruby","checksum":"6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0"},
|
||||
{"name":"ffi","version":"1.15.5","platform":"x64-mingw-ucrt","checksum":"3dea5573d11cd4c8a965e861052b0036098b239140caa0a98940c5c84eb5990d"},
|
||||
{"name":"ffi","version":"1.15.5","platform":"x64-mingw32","checksum":"9acc4e474bef25dbcf827b1e6fce4067e9a1eff74a0296d25f0af392fafcd096"},
|
||||
{"name":"ffi","version":"1.15.5","platform":"x86-mingw32","checksum":"6e52c39fdbbccc085ae05d489d1b835ce05dcdf2a4c88ba739e3b42afd2b5404"},
|
||||
{"name":"ffi-compiler","version":"1.0.1","platform":"ruby","checksum":"019f389b078a2fec9de7f4f65771095f80a447e34436b4588bcb629e2a564c30"},
|
||||
{"name":"ffi-yajl","version":"2.3.4","platform":"ruby","checksum":"a54b70a7539745701f79bb38602a3193527c89e939a9ae56096cb07c1fb0d5dd"},
|
||||
{"name":"ffi-yajl","version":"2.3.4","platform":"universal-java","checksum":"ac1acda7a7ebe900235222ddb4f47247f6480f06f480915d4e450f3b1ebe8713"},
|
||||
{"name":"filelock","version":"1.1.1","platform":"ruby","checksum":"5207258374370a75d5927b2eaf9b831732d224e48ce56c318e8308c7cdcabb20"},
|
||||
{"name":"find_a_port","version":"1.0.1","platform":"ruby","checksum":"605d6a84b5e6f138da2b06c87c5a4a0231e4fdc9b9a92022d9caa361f77d5ceb"},
|
||||
{"name":"flipper","version":"0.25.0","platform":"ruby","checksum":"ccb2776752b8378bc994c9d873ccde290c090341940761b873494695ee697add"},
|
||||
{"name":"flipper-active_record","version":"0.25.0","platform":"ruby","checksum":"85a5c99465e2cc6a09e91931a9998b0dbd463cd6c80dd513129377132e3eb67f"},
|
||||
{"name":"flipper-active_support_cache_store","version":"0.25.0","platform":"ruby","checksum":"7282bf994b08d1a076b65c6f3b51e3dc04fcb00fa6e7b20089e60db25c7b531b"},
|
||||
{"name":"flowdock","version":"0.7.1","platform":"ruby","checksum":"cfa95b2ac96e5f883f6e419d7a891f76cfcc17a28c416b6b714bbdffc8dbd912"},
|
||||
{"name":"fog-aliyun","version":"0.3.3","platform":"ruby","checksum":"d0aa317f7c1473a1d684fff51699f216bb9cb78b9ee9ce55a81c9bcc93fb85ee"},
|
||||
{"name":"fog-aws","version":"3.14.0","platform":"ruby","checksum":"07442dff8ee2a314413f812d6f6052e7d4a444540df84c193c135c1994114bbf"},
|
||||
{"name":"fog-core","version":"2.1.0","platform":"ruby","checksum":"53e5d793554d7080d015ef13cd44b54027e421d924d9dba4ce3d83f95f37eda9"},
|
||||
{"name":"fog-google","version":"1.15.0","platform":"ruby","checksum":"2f840780fbf2384718e961b05ef2fc522b4213bbda6f25b28c1bbd875ff0b306"},
|
||||
{"name":"fog-json","version":"1.2.0","platform":"ruby","checksum":"dd4f5ab362dbc72b687240bba9d2dd841d5dfe888a285797533f85c03ea548fe"},
|
||||
{"name":"fog-local","version":"0.6.0","platform":"ruby","checksum":"417473fe22a839af8f1388218d1843dbd09a5edfc8fcc59a893edb322ca5442d"},
|
||||
{"name":"fog-openstack","version":"1.0.8","platform":"ruby","checksum":"8f174ab5e5b1bc107c7da90cc7c47a24930e1566cd88ab4df447026ea8b63d9c"},
|
||||
{"name":"fog-rackspace","version":"0.1.1","platform":"ruby","checksum":"4a8c7a2432dd32321958c869f3b1b8190cf4eac292024e6ea267bc6040a44b78"},
|
||||
{"name":"fog-xml","version":"0.1.3","platform":"ruby","checksum":"5604c42649ebb0d8a31bd973aa000c2dd0127f1c1c4c174b69266a2e78e37410"},
|
||||
{"name":"formatador","version":"0.2.5","platform":"ruby","checksum":"80821869ddacb79e72870ff4bb1531efacd278c04f2df26bc6b4529ee13582bd"},
|
||||
{"name":"fugit","version":"1.2.3","platform":"ruby","checksum":"a0ba58211f4e69103531cc26d6d5c18f03a2d3989e7b8aa03d2d83f2181cb745"},
|
||||
{"name":"fuubar","version":"2.2.0","platform":"ruby","checksum":"9b0263c4074f39c68b37f1e4e69a7d3cfc7523c41bea43601235daa723179b4a"},
|
||||
{"name":"fuzzyurl","version":"0.9.0","platform":"ruby","checksum":"542efa80f2bcaadbdc402c2f0b572f2e335a1d53e375aecad68bbb3d86860c0f"},
|
||||
{"name":"gemoji","version":"3.0.1","platform":"ruby","checksum":"80553f2f4932a7a95fb1b3c7c63f7dd937e7c8c610164bbdea28fd06eba5f36d"},
|
||||
{"name":"get_process_mem","version":"0.2.7","platform":"ruby","checksum":"4afd3c3641dd6a817c09806c7d6d509d8a9984512ac38dea8b917426bbf77eba"},
|
||||
{"name":"gettext","version":"3.3.6","platform":"ruby","checksum":"ee6bbd1b2f833ee52d7797fa68acbfecc4726aec6b6280fd7eab92aa0190b413"},
|
||||
{"name":"gettext_i18n_rails","version":"1.8.0","platform":"ruby","checksum":"95e5cf8440b1e08705b27f2bccb56143272c5a7a0dabcf54ea1bd701140a496f"},
|
||||
{"name":"gettext_i18n_rails_js","version":"1.3.0","platform":"ruby","checksum":"5d10afe4be3639bff78c50a56768c20f39aecdabc580c08aa45573911c2bd687"},
|
||||
{"name":"git","version":"1.11.0","platform":"ruby","checksum":"7e95ba4da8298a0373ef1a6862aa22007d761f3c8274b675aa787966fecea0f1"},
|
||||
{"name":"gitaly","version":"15.4.0.pre.rc2","platform":"ruby","checksum":"48764528a730605a46f00cf86c7cfcb92d25f4f3d8cb9e09557baac3e9f3f8e3"},
|
||||
{"name":"github-markup","version":"1.7.0","platform":"ruby","checksum":"97eb27c70662d9cc1d5997cd6c99832026fae5d4913b5dce1ce6c9f65078e69d"},
|
||||
{"name":"gitlab","version":"4.16.1","platform":"ruby","checksum":"13fd7059cbdad5a1a21b15fa2cf9070b97d92e27f8c688581fe3d84dc038074f"},
|
||||
{"name":"gitlab-chronic","version":"0.10.5","platform":"ruby","checksum":"f80f18dc699b708870a80685243331290bc10cfeedb6b99c92219722f729c875"},
|
||||
{"name":"gitlab-dangerfiles","version":"3.5.2","platform":"ruby","checksum":"fae28a55b83b6c7f8298b9b1d90354ae73636729fd829ad58326bef46bd2f01f"},
|
||||
{"name":"gitlab-experiment","version":"0.7.1","platform":"ruby","checksum":"166dddb3aa83428bcaa93c35684ed01dc4d61f321fd2ae40b020806dc54a7824"},
|
||||
{"name":"gitlab-fog-azure-rm","version":"1.3.0","platform":"ruby","checksum":"2fef5317d6515f95f803099afa860fe3019ce6e1907bf49f66b5e06468a617b5"},
|
||||
{"name":"gitlab-labkit","version":"0.24.0","platform":"ruby","checksum":"8f16e5aa4e0a05be58958fe880bdd53c84b659a081ea9981d2b510922a4a0548"},
|
||||
{"name":"gitlab-license","version":"2.2.1","platform":"ruby","checksum":"39fcf6be8b2887df8afe01b5dcbae8d08b7c5d937ff56b0fb40484a8c4f02d30"},
|
||||
{"name":"gitlab-mail_room","version":"0.0.9","platform":"ruby","checksum":"6700374b5c0aa9d9ad4e711aeb677f0b7d415a6d01d3baa699efab25349d851c"},
|
||||
{"name":"gitlab-markup","version":"1.8.0","platform":"ruby","checksum":"fb629369dca5dd343e47ebf5fa2e0a0fc146012fc49c35eff5ca826ae4186c86"},
|
||||
{"name":"gitlab-net-dns","version":"0.9.1","platform":"ruby","checksum":"bcd1a08dcb31b731e8ff602d828de619d2d9f53f5812f6abacf11c720873d4cb"},
|
||||
{"name":"gitlab-omniauth-openid-connect","version":"0.10.0","platform":"ruby","checksum":"ea44a23ea93457057bba6a9912e883f5aefab36a941c6c58512c8a7095fb1153"},
|
||||
{"name":"gitlab-sidekiq-fetcher","version":"0.8.0","platform":"ruby","checksum":"9c564caa2a958d44a8d78672dc23b2a206102d0223b41b77b58626a945e37362"},
|
||||
{"name":"gitlab-styles","version":"8.0.0","platform":"ruby","checksum":"ff77d8543b7093e387430ebdaa2adce9dc3caaa8b10ce9bf9b40242d5f7b66da"},
|
||||
{"name":"gitlab_chronic_duration","version":"0.10.6.2","platform":"ruby","checksum":"6dda4cfe7dca9b958f163ac8835c3d9cc70cf8df8cbb89bb2fbf9ba4375105fb"},
|
||||
{"name":"gitlab_omniauth-ldap","version":"2.2.0","platform":"ruby","checksum":"bb4d20acb3b123ed654a8f6a47d3fac673ece7ed0b6992edb92dca14bad2838c"},
|
||||
{"name":"globalid","version":"1.0.0","platform":"ruby","checksum":"1253641b1dc3392721c964351773755d75135d3d3c5cc65d88b0a3880a60bed8"},
|
||||
{"name":"gon","version":"6.4.0","platform":"ruby","checksum":"e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0"},
|
||||
{"name":"google-api-client","version":"0.50.0","platform":"ruby","checksum":"3ae45e972f293f3a66e53950ecc0fd350d85d6347c06a430bb971bd1ae5ad617"},
|
||||
{"name":"google-cloud-env","version":"1.6.0","platform":"ruby","checksum":"6179acb946975892c7908748df5722a4ebadfc8cf5bb7b0d8d933ca67183fa15"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"java","checksum":"f63a511439c6350823790d1c8d903a7b536549bbc3eec21160aff3ee5594dcc3"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"ruby","checksum":"c94bee502390041d0f5c6fd4b776118656c5b54521c2a5c7957686de6ba95bfb"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"x64-mingw-ucrt","checksum":"cf17273c5d5d33fc4c4879ba8aa5973aa9e34f879d728c461facf5da24db7745"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"x64-mingw32","checksum":"677a4c0770446e0b08828da6b8c021469551639cfb2b489f3d3f32da435bd6e8"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"x86-linux","checksum":"cdaa147bbb7e5fd59adc2aba167b7965221013a39830494f616974e97db02a42"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"x86-mingw32","checksum":"eda2bd51324e855a1593aa0c805d1c99a95dcc5161bc61eb6e8afb5d4e7bcb75"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"x86_64-darwin","checksum":"4e2c937e5dc991a5675e4b78d6132e818862f19479013c2edc2455c76b54be53"},
|
||||
{"name":"google-protobuf","version":"3.21.5","platform":"x86_64-linux","checksum":"ec2dabea012d31dd99f450174be461f9323b4e97460af13cc3a4f9426c2b0fc0"},
|
||||
{"name":"googleapis-common-protos-types","version":"1.3.0","platform":"ruby","checksum":"c5411f3197cc3e02547ded1858303b1f830b4dc89c588c142ad6c8a231050671"},
|
||||
{"name":"googleauth","version":"0.14.0","platform":"ruby","checksum":"4659b563d5b2727e775ba9231e75485c1b55ac8fc319e0bf1bc87d5e9705a632"},
|
||||
{"name":"gpgme","version":"2.0.20","platform":"ruby","checksum":"fc194689cff40cd4ccafb3086031e930650b3efc15348bbfdf7a2f8b5a826f75"},
|
||||
{"name":"grape","version":"1.5.2","platform":"ruby","checksum":"1df3b734c3862e235174232bc629587eddda9ef3df648230827575186700ae29"},
|
||||
{"name":"grape-entity","version":"0.10.0","platform":"ruby","checksum":"9aed1e7cbbc96d9e73f72e5f32c776d4ba8a5baf54c3acda2682008dba2b2cfe"},
|
||||
{"name":"grape-path-helpers","version":"1.7.1","platform":"ruby","checksum":"2e27271a20d4073e3a3b2b955425c7f803e198be3ba8f6e59e3d59643c5381e2"},
|
||||
{"name":"grape_logging","version":"1.8.4","platform":"ruby","checksum":"efcc3e322dbd5d620a68f078733b7db043cf12680144cd03c982f14115c792d1"},
|
||||
{"name":"graphiql-rails","version":"1.8.0","platform":"ruby","checksum":"02e2c5098be2c6c29219a0e9b2910a2cd3c494301587a3199a7c4484d8038ed1"},
|
||||
{"name":"graphlient","version":"0.5.0","platform":"ruby","checksum":"0f2c9416142e50b6bd4edcd86fe6810f792951732c487f9061aee6d420e0f292"},
|
||||
{"name":"graphlyte","version":"1.0.0","platform":"ruby","checksum":"b5af4ab67dde6e961f00ea1c18f159f73b52ed11395bb4ece297fe628fa1804d"},
|
||||
{"name":"graphql","version":"1.13.12","platform":"ruby","checksum":"1d82666cf201193a8d0cb54cea38576b820418db4869b549f61a35f3a2d97ac3"},
|
||||
{"name":"graphql-client","version":"0.17.0","platform":"ruby","checksum":"5aaf02ce8f2dbc8e3ba05a7eaeb3ad9336762c4424c6093f4438fbb9490eeb5d"},
|
||||
{"name":"graphql-docs","version":"2.1.0","platform":"ruby","checksum":"7eb82402f8fda455104b2b60364e9ada145d79d3121a8f915790d49da38bb576"},
|
||||
{"name":"grpc","version":"1.42.0","platform":"ruby","checksum":"b3d2649e67c6a636544996843d9ec191699c54c1aca797dbfea4dff36c14584a"},
|
||||
{"name":"grpc","version":"1.42.0","platform":"x64-mingw32","checksum":"6aac1b6576134b0a83e000b1269f60d502eb24aee96c64e2658c3f24f8e32ac0"},
|
||||
{"name":"grpc","version":"1.42.0","platform":"x86-linux","checksum":"4aa50538aa929f1f3bcefb11c65ee1a1606b5aef838ea4d4e93c100b5f4263a5"},
|
||||
{"name":"grpc","version":"1.42.0","platform":"x86-mingw32","checksum":"eeb2a9381bea43fafe879b6ddaa011351a44d0894d48bdc965a07bcb67c6eb56"},
|
||||
{"name":"grpc","version":"1.42.0","platform":"x86_64-darwin","checksum":"20fa202d46d8a055628260622e98fb6439529fbac283f0552af620b909f78535"},
|
||||
{"name":"grpc","version":"1.42.0","platform":"x86_64-linux","checksum":"92e2ceb2aca335d5755163dd8030082091d5b0e63c117b1ca07051b66c53eb2e"},
|
||||
{"name":"gssapi","version":"1.2.0","platform":"ruby","checksum":"3d0e3222f36532c1ab3b7eaab171ad4245889edc5439a5483ff714999cb62349"},
|
||||
{"name":"guard","version":"2.16.2","platform":"ruby","checksum":"71ba7abaddecc8be91ab77bbaf78f767246603652ebbc7b976fda497ebdc8fbb"},
|
||||
{"name":"guard-compat","version":"1.2.1","platform":"ruby","checksum":"3ad21ab0070107f92edfd82610b5cdc2fb8e368851e72362ada9703443d646fe"},
|
||||
{"name":"guard-rspec","version":"4.7.3","platform":"ruby","checksum":"a47ba03cbd1e3c71e6ae8645cea97e203098a248aede507461a43e906e2f75ca"},
|
||||
{"name":"haml","version":"5.2.2","platform":"ruby","checksum":"6e759246556145642ef832d670fc06f9bd8539159a0e600847a00291dd7aae0c"},
|
||||
{"name":"haml_lint","version":"0.40.1","platform":"ruby","checksum":"b658322eb245399e40b19a27a341039c76aead5794bc622d469e877162e34802"},
|
||||
{"name":"hamlit","version":"2.15.0","platform":"java","checksum":"fda165464e59337ab7cda6304a66bfdb607bb7155f25566da19c9ee7b98e03d1"},
|
||||
{"name":"hamlit","version":"2.15.0","platform":"ruby","checksum":"d2e8505362338945fa309c68b2b8be07ebdc181200ec6021223567bf66dac38e"},
|
||||
{"name":"hana","version":"1.3.7","platform":"ruby","checksum":"5425db42d651fea08859811c29d20446f16af196308162894db208cac5ce9b0d"},
|
||||
{"name":"hangouts-chat","version":"0.0.5","platform":"ruby","checksum":"bdbeb6c6e4abc98f395cb273f53b39911b3aa9e248fbbf063242b021ced8b6b6"},
|
||||
{"name":"hashdiff","version":"1.0.1","platform":"ruby","checksum":"2cd4d04f5080314ecc8403c4e2e00dbaa282dff395e2d031bc16c8d501bdd6db"},
|
||||
{"name":"hashie","version":"4.1.0","platform":"ruby","checksum":"7890dcb9ec18a4b66acec797018c73824b89cef5eb8cda36e8e8501845e87a09"},
|
||||
{"name":"hashie-forbidden_attributes","version":"0.1.1","platform":"ruby","checksum":"3a6ed37f3a314e4fb1dd1e2df6eb7721bcadd023a30bc0b951b2b5285a790fb2"},
|
||||
{"name":"health_check","version":"3.0.0","platform":"ruby","checksum":"1b336c5c49036a993153e75c8d14e9742377fb9b7361c0a6af2e5fedb45b991f"},
|
||||
{"name":"heapy","version":"0.2.0","platform":"ruby","checksum":"74141e845d61ffc7c1e8bf8b127c8cf94544ec7a1181aec613288682543585ea"},
|
||||
{"name":"html-pipeline","version":"2.13.2","platform":"ruby","checksum":"a1de83f7bd2d3464f3a068e391b661983fc6099d194c8d9ceb91ace02dadb803"},
|
||||
{"name":"html2text","version":"0.2.0","platform":"ruby","checksum":"31c2f0be9ab7aa4fc780b07d5f84882ebc22a9024c29a45f4f5adfe42e92ad4f"},
|
||||
{"name":"htmlbeautifier","version":"1.4.2","platform":"ruby","checksum":"9de0c98480fe80d795ed5734a11f183563cd969686f25a04609c0f5a446fa5f8"},
|
||||
{"name":"htmlentities","version":"4.3.4","platform":"ruby","checksum":"125a73c6c9f2d1b62100b7c3c401e3624441b663762afa7fe428476435a673da"},
|
||||
{"name":"http","version":"4.4.1","platform":"ruby","checksum":"be10f1d054fcc732ac32410553767ac3e4141b4182a4d8f5bf93d23cedae1b7d"},
|
||||
{"name":"http-accept","version":"1.7.0","platform":"ruby","checksum":"c626860682bfbb3b46462f8c39cd470fd7b0584f61b3cc9df5b2e9eb9972a126"},
|
||||
{"name":"http-cookie","version":"1.0.5","platform":"ruby","checksum":"73756d46c7dbdc7023deecdb8a171348ea95a1b99810b31cfe8b4fb4e9a6318f"},
|
||||
{"name":"http-form_data","version":"2.3.0","platform":"ruby","checksum":"cc4eeb1361d9876821e31d7b1cf0b68f1cf874b201d27903480479d86448a5f3"},
|
||||
{"name":"http-parser","version":"1.2.3","platform":"ruby","checksum":"414dec1f443d68e1068509f184ee4b93e3442f626645071182ce49bc27db18a3"},
|
||||
{"name":"httparty","version":"0.16.4","platform":"ruby","checksum":"62c89d00f5e8933b2d397a49b57deb18ca18e16cb7d862ee4f53b73228dc3d81"},
|
||||
{"name":"httpclient","version":"2.8.3","platform":"ruby","checksum":"2951e4991214464c3e92107e46438527d23048e634f3aee91c719e0bdfaebda6"},
|
||||
{"name":"i18n","version":"1.12.0","platform":"ruby","checksum":"91e3cc1b97616d308707eedee413d82ee021d751c918661fb82152793e64aced"},
|
||||
{"name":"i18n_data","version":"0.8.0","platform":"ruby","checksum":"92d942cc193dc4a54a95b68f44e52c79e024fa72e09f26a982bc61153b6f0c6c"},
|
||||
{"name":"icalendar","version":"2.4.1","platform":"ruby","checksum":"ade7384b3a78d302e01c0b93f66816b734c9abd85d1511b90200de2eee6d5ef7"},
|
||||
{"name":"imagen","version":"0.1.8","platform":"ruby","checksum":"fde7b727d4fe79c6bb5ac46c1f7184bf87a6d54df54d712ad2be039d2f93a162"},
|
||||
{"name":"invisible_captcha","version":"1.1.0","platform":"ruby","checksum":"3670294a998ab1430ff07cd1697d25c70e6367bdb0dff534df24a14fdee8b4d2"},
|
||||
{"name":"ipaddress","version":"0.8.3","platform":"ruby","checksum":"85640c4f9194c26937afc8c78e3074a8e7c97d5d1210358d1440f01034d006f5"},
|
||||
{"name":"jaeger-client","version":"1.1.0","platform":"ruby","checksum":"cb5e9b9bbee6ee8d6a82d03d947a5b04543d8c0a949c22e484254f18d8a458a8"},
|
||||
{"name":"jaro_winkler","version":"1.5.4","platform":"java","checksum":"0454333a50b44a09745878bfe57859893631ff7dfe48c029827894944514fe7c"},
|
||||
{"name":"jaro_winkler","version":"1.5.4","platform":"ruby","checksum":"50c3e83c5a9e8769c1cf5b73c8b51bb6eebbf8852a0ee53bf6ad6e4dc63414f9"},
|
||||
{"name":"jira-ruby","version":"2.1.4","platform":"ruby","checksum":"4267c095cac8323b9eef3ba866eb28bb1388b7623a5abb60c1e7caf12d4adb9e"},
|
||||
{"name":"jmespath","version":"1.6.1","platform":"ruby","checksum":"40ca83f4141bdd1e503db5485de68b84237183d84cf7a159fbeebcc6005adbd6"},
|
||||
{"name":"js_regex","version":"3.7.0","platform":"ruby","checksum":"b13fac68c4416d1a5f21c3bab8a71b4530f424b7c4ff9f46d8e62b895dc05975"},
|
||||
{"name":"json","version":"2.5.1","platform":"java","checksum":"be284a0c4a9d0373e81b0d5dfe71ed5b18d0479f05970e60a77be89a2978ce6c"},
|
||||
{"name":"json","version":"2.5.1","platform":"ruby","checksum":"918d8c41dacb7cfdbe0c7bbd6014a5372f0cf1c454ca150e9f4010fe80cc3153"},
|
||||
{"name":"json-jwt","version":"1.13.0","platform":"ruby","checksum":"b9bded80ba687e59d199db365731494ee68214f27d0d7be5b635b9956b98eb5b"},
|
||||
{"name":"json_schemer","version":"0.2.18","platform":"ruby","checksum":"3362c21efbefdd12ce994e541a1e7fdb86fd267a6541dd8715e8a580fe3b6be6"},
|
||||
{"name":"jsonpath","version":"1.1.2","platform":"ruby","checksum":"6804124c244d04418218acb85b15c7caa79c592d7d6970195300428458946d3a"},
|
||||
{"name":"jwt","version":"2.1.0","platform":"ruby","checksum":"7e7e7ffc1a5ebce628ac7da428341c50615a3a10ac47bb74c22c1cba325613f0"},
|
||||
{"name":"kaminari","version":"1.2.1","platform":"ruby","checksum":"03b26388ebb732b708e40b4f1d858c4cbc58d7cb18d12eeb9364176f23c3b3ef"},
|
||||
{"name":"kaminari-actionview","version":"1.2.1","platform":"ruby","checksum":"31a3dc6955e7dff95f6133e1f4c03b9dec36d714b632330034ee51b33d0c1770"},
|
||||
{"name":"kaminari-activerecord","version":"1.2.1","platform":"ruby","checksum":"8327823ddf8a8e059ce10d9da0c784ef44d5323e9f6d53054e03d26876efc50a"},
|
||||
{"name":"kaminari-core","version":"1.2.1","platform":"ruby","checksum":"9ff2f0fa5a454731943a847bbd9960f0b9f859dd6910df5f40d6c9e049660440"},
|
||||
{"name":"kas-grpc","version":"0.0.2","platform":"ruby","checksum":"111ff7515952e939f491297ba4c69a218b72d9d0ef8e5bff80a5df6a56df9a16"},
|
||||
{"name":"knapsack","version":"1.21.1","platform":"ruby","checksum":"82f70422adebcacec1b514f6ebff65265fc85d836e3c320718a160d8ac41cf14"},
|
||||
{"name":"kramdown","version":"2.3.2","platform":"ruby","checksum":"cb4530c2e9d16481591df2c9336723683c354e5416a5dd3e447fa48215a6a71c"},
|
||||
{"name":"kramdown-parser-gfm","version":"1.1.0","platform":"ruby","checksum":"fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729"},
|
||||
{"name":"kubeclient","version":"4.9.3","platform":"ruby","checksum":"d5d38e719fbac44f396851aa57cd1b9f4f7dab4410ab680ccd21c9b741230046"},
|
||||
{"name":"launchy","version":"2.5.0","platform":"ruby","checksum":"954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5"},
|
||||
{"name":"lefthook","version":"1.1.1","platform":"ruby","checksum":"fa7dcd2c55dc14f6f164f96cf1404e712be84a2ac256e75947213093e080d05b"},
|
||||
{"name":"letter_opener","version":"1.7.0","platform":"ruby","checksum":"095bc0d58e006e5b43ea7d219e64ecf2de8d1f7d9dafc432040a845cf59b4725"},
|
||||
{"name":"letter_opener_web","version":"2.0.0","platform":"ruby","checksum":"33860ad41e1785d75456500e8ca8bba8ed71ee6eaf08a98d06bbab67c5577b6f"},
|
||||
{"name":"libyajl2","version":"1.2.0","platform":"ruby","checksum":"1117cd1e48db013b626e36269bbf1cef210538ca6d2e62d3fa3db9ded005b258"},
|
||||
{"name":"license_finder","version":"7.0.1","platform":"ruby","checksum":"0b22c9567e2a8b102c7245da49ebeddaec60f66d237d2bb91b9feddf5d242f6a"},
|
||||
{"name":"licensee","version":"9.15.2","platform":"ruby","checksum":"4b6959b544da88499d3be0d9f486179c90b93d5049ef500ae340ac1420493ded"},
|
||||
{"name":"listen","version":"3.7.1","platform":"ruby","checksum":"3b80caa7aa77fae836916c2f9e3fbcafbd15f5d695dd487c1f5b5e7e465efe29"},
|
||||
{"name":"locale","version":"2.1.3","platform":"ruby","checksum":"b6ddee011e157817cb98e521b3ce7cb626424d5882f1e844aafdee3e8b212725"},
|
||||
{"name":"lockbox","version":"0.6.2","platform":"ruby","checksum":"0136677875c3d6e27cef87cd7bd66610404e2b3cd7f07f1ac8ed34e48f18dc3c"},
|
||||
{"name":"lograge","version":"0.11.2","platform":"ruby","checksum":"4cbd1554b86f545d795eff15a0c24fd25057d2ac4e1caa5fc186168b3da932ef"},
|
||||
{"name":"loofah","version":"2.18.0","platform":"ruby","checksum":"61975a247a6aeb8f09ac5a3430305451efc4525c0b9b79c05feaec35a8b9d5a3"},
|
||||
{"name":"lookbook","version":"1.0.3","platform":"ruby","checksum":"c53e130a37588e32f66be3b9418b1efcb51bef69946b276edd3b4348a71cbcd6"},
|
||||
{"name":"lru_redux","version":"1.1.0","platform":"ruby","checksum":"ee71d0ccab164c51de146c27b480a68b3631d5b4297b8ffe8eda1c72de87affb"},
|
||||
{"name":"lumberjack","version":"1.2.7","platform":"ruby","checksum":"a5c6aae6b4234f1420dbcd80b23e3bca0817bd239440dde097ebe3fa63c63b1f"},
|
||||
{"name":"mail","version":"2.7.1","platform":"ruby","checksum":"ec2a3d489f7510b90d8eaa3f6abaad7038cf1d663cdf8ee66d0214a0bdf99c03"},
|
||||
{"name":"marcel","version":"1.0.2","platform":"ruby","checksum":"a013b677ef46cbcb49fd5c59b3d35803d2ee04dd75d8bfdc43533fc5a31f7e4e"},
|
||||
{"name":"marginalia","version":"1.10.0","platform":"ruby","checksum":"68289091ee493e1a8f22369c245f250652a6538e497fdeef68cb2a2490830380"},
|
||||
{"name":"memoist","version":"0.16.2","platform":"ruby","checksum":"a52c53a3f25b5875151670b2f3fd44388633486dc0f09f9a7150ead1e3bf3c45"},
|
||||
{"name":"memory_profiler","version":"0.9.14","platform":"ruby","checksum":"de558cf6525d8d56d2c0ea465b1664517fbe45560f892dc7a898d3b8c2863b12"},
|
||||
{"name":"method_source","version":"1.0.0","platform":"ruby","checksum":"d779455a2b5666a079ce58577bfad8534f571af7cec8107f4dce328f0981dede"},
|
||||
{"name":"mime-types","version":"3.4.1","platform":"ruby","checksum":"6bcf8b0e656b6ae9977bdc1351ef211d0383252d2f759a59ef4bcf254542fc46"},
|
||||
{"name":"mime-types-data","version":"3.2022.0105","platform":"ruby","checksum":"d8c401ba9ea8b648b7145b90081789ec714e91fd625d82c5040079c5ea696f00"},
|
||||
{"name":"mini_histogram","version":"0.3.1","platform":"ruby","checksum":"6a114b504e4618b0e076cc672996036870f7cc6f16b8e5c25c0c637726d2dd94"},
|
||||
{"name":"mini_magick","version":"4.10.1","platform":"ruby","checksum":"e939d2c70c8002233fc6b1eecfe762f38a156d69ad31a87160205870be08f852"},
|
||||
{"name":"mini_mime","version":"1.1.2","platform":"ruby","checksum":"a54aec0cc7438a03a850adb00daca2bdb60747f839e28186994df057cea87151"},
|
||||
{"name":"mini_portile2","version":"2.8.0","platform":"ruby","checksum":"1e06b286ff19b73cfc9193cb3dd2bd80416f8262443564b25b23baea74a05765"},
|
||||
{"name":"minitest","version":"5.11.3","platform":"ruby","checksum":"78e18aa2c49c58e9bc53c54a0b900e87ad0a96394e92fbbfa58d3ff860a68f45"},
|
||||
{"name":"mixlib-cli","version":"2.1.8","platform":"ruby","checksum":"e6f27be34d580f6ed71731ca46b967e57793a627131c1f6e1ed2dad39ea3bdf9"},
|
||||
{"name":"mixlib-config","version":"3.0.9","platform":"ruby","checksum":"9867adab3ab547eb74a8efdc9dfab6bcc83d2802a571ff8af8d6e981ca8d53ab"},
|
||||
{"name":"mixlib-log","version":"3.0.9","platform":"ruby","checksum":"fd6ca2c8075f8085065dffcee0805c5b3f88d643d5c954acdc3282f463a9ad58"},
|
||||
{"name":"mixlib-shellout","version":"3.2.5","platform":"ruby","checksum":"121a54005e52b6596a945f7bfc95bbcbd7d8ee7685cb3736dd3cef5ff46029bd"},
|
||||
{"name":"mixlib-shellout","version":"3.2.5","platform":"universal-mingw32","checksum":"c40ef5f34a68eec5e0cad13482497f6c3898a30cff1747517f2169d4fa4055e0"},
|
||||
{"name":"ms_rest","version":"0.7.6","platform":"ruby","checksum":"272a1d592594c5c25edd2f3378c17ac9d840a29991572fb1bc7616d5565030ca"},
|
||||
{"name":"ms_rest_azure","version":"0.12.0","platform":"ruby","checksum":"3006060104629cf56f611bee9040023e461c748a7a97eaa601028b4cd03a231a"},
|
||||
{"name":"msgpack","version":"1.5.4","platform":"java","checksum":"05b3bd16a65dddc64c878634b7ecb9cd613569ca3dd6e480d7295626a0a3f562"},
|
||||
{"name":"msgpack","version":"1.5.4","platform":"ruby","checksum":"a53db320fba40f58c07c5b66ed9fd4d73cbe8eba4cb28fe9e3218444341a4e09"},
|
||||
{"name":"multi_json","version":"1.14.1","platform":"ruby","checksum":"d971296c0eacea289d31e4a7ab7ac5eda97262c62bbc8c110de4f5e36425c577"},
|
||||
{"name":"multi_xml","version":"0.6.0","platform":"ruby","checksum":"d24393cf958adb226db884b976b007914a89c53ad88718e25679d7008823ad52"},
|
||||
{"name":"multipart-post","version":"2.2.3","platform":"ruby","checksum":"462979de2971b8df33c2ee797fd497731617241f9dcd93960cc3caccb2dd13d8"},
|
||||
{"name":"murmurhash3","version":"0.1.6","platform":"java","checksum":"7e8677549a65b454362d8688885a21cca721a22c086d14e874c26c1e213946f0"},
|
||||
{"name":"murmurhash3","version":"0.1.6","platform":"ruby","checksum":"c78f06d1636665c92e2b3cc309e31036ca4cb8f47f1cdc080d4f964f4865fceb"},
|
||||
{"name":"mustermann","version":"1.1.1","platform":"ruby","checksum":"0a21cfe505869cce9ce17998db5260344e78df81ae857c07a62143fd30299531"},
|
||||
{"name":"mustermann-grape","version":"1.0.1","platform":"ruby","checksum":"00ce12b3df66be33ec4304aa9108fb9e1a0689f2a136c96b51c104684f5c5436"},
|
||||
{"name":"nap","version":"1.1.0","platform":"ruby","checksum":"949691660f9d041d75be611bb2a8d2fd559c467537deac241f4097d9b5eea576"},
|
||||
{"name":"nenv","version":"0.3.0","platform":"ruby","checksum":"d9de6d8fb7072228463bf61843159419c969edb34b3cef51832b516ae7972765"},
|
||||
{"name":"net-http-persistent","version":"4.0.1","platform":"ruby","checksum":"2752f4cce05fd1c45e0537c6f3a98fa5a4899efd5f88e63c104ed5f05cbddef9"},
|
||||
{"name":"net-ldap","version":"0.16.3","platform":"ruby","checksum":"db464d2f8236e5f8546c07abb51b08e0a62b77136b1c7f91fa0ec5fe2336908e"},
|
||||
{"name":"net-ntp","version":"2.1.3","platform":"ruby","checksum":"5bc73f4102bde0d1872bd3b293608ae99d9f5007d744f21919c6a565eda9267d"},
|
||||
{"name":"net-scp","version":"3.0.0","platform":"ruby","checksum":"8fc6c80365b95230c6bfc529dbea3893d2d81724855bfb01cbf385866e1c902c"},
|
||||
{"name":"net-ssh","version":"6.0.0","platform":"ruby","checksum":"6290ddcb232380cae79b772af924e12f57fe1dcd0f71254411dd21c04f7b13d0"},
|
||||
{"name":"netrc","version":"0.11.0","platform":"ruby","checksum":"de1ce33da8c99ab1d97871726cba75151113f117146becbe45aa85cb3dabee3f"},
|
||||
{"name":"nio4r","version":"2.5.8","platform":"java","checksum":"b2b1800f6bf7ce4b797ca8b639ad278a99c9c904fb087a91d944f38e4bd71401"},
|
||||
{"name":"nio4r","version":"2.5.8","platform":"ruby","checksum":"3becb4ad95ab8ac0a9bd2e1b16466869402be62848082bf6329ae9091f276676"},
|
||||
{"name":"no_proxy_fix","version":"0.1.2","platform":"ruby","checksum":"4e9b4c31bb146de7fcf347dc1087bb13ac2039b56d50aa019e61036256abcd00"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"aarch64-linux","checksum":"d6b2c45a57738f12fe27783939fe1394e7049246288c7770d3b1fee7f49432a6"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"arm64-darwin","checksum":"00217e48a6995e81dd83014325c0ea0b015023a8922c7bdb2ef1416aa87c1f43"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"java","checksum":"9d04c616900e2b5118e501436ebb9bc48520d08f3695d012a314006e28082f72"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"ruby","checksum":"79c279298b2f22fd4e760f49990c7930436bac1b1cfeff7bacff192f30edea3c"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"x64-mingw-ucrt","checksum":"98f7dac7583f07a84ec3fcc01dc03a66fce10f412cd363fce7de749acdb2a42d"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"x64-mingw32","checksum":"117a71b37f2e1d774a9f031d393e72d5d04b92af8036e0c1a8dd509c247b2013"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"x86-linux","checksum":"6d04342456edfb8fbc041d0c2cf5a59baaa7aacdda414b2333100b02f85d441d"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"x86-mingw32","checksum":"0529d558b4280a55bc7af500d3d4d590b7c059c814a0cea52e4e18cb30c25d15"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"x86_64-darwin","checksum":"8966d79e687b271df87a4b240456597c43cd98584e3f783fc35de4f066486421"},
|
||||
{"name":"nokogiri","version":"1.13.8","platform":"x86_64-linux","checksum":"344f1bc66feac787e5b2053c6e9095d1f33605083e58ddf2b8d4eef257bccc5f"},
|
||||
{"name":"notiffany","version":"0.1.3","platform":"ruby","checksum":"d37669605b7f8dcb04e004e6373e2a780b98c776f8eb503ac9578557d7808738"},
|
||||
{"name":"numerizer","version":"0.2.0","platform":"ruby","checksum":"e58076d5ee5370417b7e52d9cb25836d62acd1b8d9a194c308707986c1705d7b"},
|
||||
{"name":"oauth","version":"0.5.6","platform":"ruby","checksum":"4085fe28e0c5e2434135e00a6555294fd2a4ff96a98d1bdecdcd619fc6368dff"},
|
||||
{"name":"oauth2","version":"2.0.3","platform":"ruby","checksum":"b343d8665a936b4223b335b38f8640134ce14e07c540b8d17e8bbac0b4e5c41b"},
|
||||
{"name":"octokit","version":"4.25.1","platform":"ruby","checksum":"c02092ee82dcdfe84db0e0ea630a70d32becc54245a4f0bacfd21c010df09b96"},
|
||||
{"name":"ohai","version":"16.10.6","platform":"ruby","checksum":"b835806e585faea4ac8346b68c722fb5fc29a29f73fd7e3a022f9073132dec22"},
|
||||
{"name":"oj","version":"3.13.21","platform":"ruby","checksum":"aef31a8dcc6f0b9b4bb5cc7ac6cc5272b2d851deb11a1804c2ed6b5501b50e46"},
|
||||
{"name":"omniauth","version":"2.1.0","platform":"ruby","checksum":"bff7234f5ec9323622b217c7f26d52f850de0b0e2b8c807c3358fc79fe572300"},
|
||||
{"name":"omniauth-alicloud","version":"1.0.1","platform":"ruby","checksum":"2f81ec0b8f98d2ab5e5d64555c75ace46582cf27c4ef4207aa59f15331dd697a"},
|
||||
{"name":"omniauth-atlassian-oauth2","version":"0.2.0","platform":"ruby","checksum":"eb07574a188ab8a03376ce288bce86bc2dd4a1382ffa5781cb5e2b7bc15d76c9"},
|
||||
{"name":"omniauth-auth0","version":"2.0.0","platform":"ruby","checksum":"823769be7883b45b2fa94367c2f6a17f7b3b1333986016089c016d45827da545"},
|
||||
{"name":"omniauth-authentiq","version":"0.3.3","platform":"ruby","checksum":"11b3791085a130782bf14b0088653beeb085638a9548d7110a57d3cbbb54fb4c"},
|
||||
{"name":"omniauth-azure-activedirectory-v2","version":"1.0.0","platform":"ruby","checksum":"edcdd77ace89ae3a0ed4b3d350b64a0c81b5a2435dff6f8eda8cbce15cbf69df"},
|
||||
{"name":"omniauth-dingtalk-oauth2","version":"1.0.1","platform":"ruby","checksum":"6545670f1c38344eaf960df9750c550a9534f790f888af088761a9e04269139b"},
|
||||
{"name":"omniauth-facebook","version":"4.0.0","platform":"ruby","checksum":"05ae3565c8fdb38df8dab04eb8ca854ea6c18e81591d3e6598ce101293a2f20f"},
|
||||
{"name":"omniauth-github","version":"2.0.0","platform":"ruby","checksum":"1ca26576125a97e27d3f8dc39cd98853d7382dd0fc04a40d3b9ec345ee378649"},
|
||||
{"name":"omniauth-oauth","version":"1.2.0","platform":"ruby","checksum":"e7a78658498dc83aa3f3be1a776425c0f06a60d45d9236dbe5e98e61fadf827b"},
|
||||
{"name":"omniauth-oauth2","version":"1.7.3","platform":"ruby","checksum":"3f5a8f99fa72e0f91d2abd7475ceb972a4ae67ed59e049f314c0c1bad81f4745"},
|
||||
{"name":"omniauth-oauth2-generic","version":"0.2.2","platform":"ruby","checksum":"e30814f6c472e04f3d9e4a3ddc03bc9a46f53f9333f8d443bf3ad43c6ebcdbd4"},
|
||||
{"name":"omniauth-rails_csrf_protection","version":"1.0.1","platform":"ruby","checksum":"fc546aeb7d43b7b9d7737051c380156e61c8f080b898cd4934d523eaa7e59acf"},
|
||||
{"name":"omniauth-saml","version":"2.0.0","platform":"ruby","checksum":"02594fd6630de26a9e65a2e64223e9ad32324fa97a6c7f1f22a1553ea3dd44c7"},
|
||||
{"name":"omniauth-shibboleth","version":"1.3.0","platform":"ruby","checksum":"b0bb725ced5cb76fbfc187ddbb8ad6864d0cd5df714cab36a528df8ee4b1d113"},
|
||||
{"name":"omniauth-twitter","version":"1.4.0","platform":"ruby","checksum":"c5cc6c77cd767745ffa9ebbd5fbd694a3fa99d1d2d82a4d7def0bf3b6131b264"},
|
||||
{"name":"open4","version":"1.3.4","platform":"ruby","checksum":"a1df037310624ecc1ea1d81264b11c83e96d0c3c1c6043108d37d396dcd0f4b1"},
|
||||
{"name":"openid_connect","version":"1.3.0","platform":"ruby","checksum":"a796855096850cc01140e37ea6ae9fd14f2be818b9b5bc698418063dfe228770"},
|
||||
{"name":"openssl","version":"2.2.0","platform":"ruby","checksum":"1cdcbd35c7977647d7583def720aed15111cd29b326b737aa0c72b38bff58b0f"},
|
||||
{"name":"openssl-signature_algorithm","version":"0.4.0","platform":"ruby","checksum":"e53a225b773784935249cf4c61238c6cf0e1e464e78ae2f8ddaf995fb22ca991"},
|
||||
{"name":"opentracing","version":"0.5.0","platform":"ruby","checksum":"deb5d7abe6b0e7631d866d8cb5ee7bb9352650a504a32f61591302bc510b9286"},
|
||||
{"name":"optimist","version":"3.0.1","platform":"ruby","checksum":"336b753676d6117cad9301fac7e91dab4228f747d4e7179891ad3a163c64e2ed"},
|
||||
{"name":"org-ruby","version":"0.9.12","platform":"ruby","checksum":"93cbec3a4470cb9dca6a4a98dc276a6434ea9d9e7bc2d42ea33c3aedd5d1c974"},
|
||||
{"name":"orm_adapter","version":"0.5.0","platform":"ruby","checksum":"aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9"},
|
||||
{"name":"os","version":"1.1.1","platform":"ruby","checksum":"3db1fbc14ab8ea99b69ed8e353c894613e1b35e665fffb90414996cf8989d489"},
|
||||
{"name":"pact","version":"1.59.0","platform":"ruby","checksum":"6272cea35e4ee809493fadcba9800d4a24c262ef0778a0d1ba5d9a9b3f61fc59"},
|
||||
{"name":"pact-mock_service","version":"3.6.2","platform":"ruby","checksum":"cc91229484ae428b6eb3a6673c178046cbf6610ee6536ca6cbac060b6071f547"},
|
||||
{"name":"pact-support","version":"1.15.1","platform":"ruby","checksum":"c364596fe9fe78c4f93028013262d5d97867a680fa6acc35dda946447cdf1d1f"},
|
||||
{"name":"parallel","version":"1.22.1","platform":"ruby","checksum":"ebdf1f0c51f182df38522f70ba770214940bef998cdb6e00f36492b29699761f"},
|
||||
{"name":"parser","version":"3.1.2.1","platform":"ruby","checksum":"57e49821b52d5fe7baffaca44ed77e9754688c9bbc68443b5293a722fdb161e0"},
|
||||
{"name":"parslet","version":"1.8.2","platform":"ruby","checksum":"08d1ab3721cd3f175bfbee8788b2ddff71f92038f2d69bd65454c22bb9fbd98a"},
|
||||
{"name":"pastel","version":"0.8.0","platform":"ruby","checksum":"481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75"},
|
||||
{"name":"peek","version":"1.1.0","platform":"ruby","checksum":"d6501ead8cde46d8d8ed0d59eb6f0ba713d0a41c11a2c4a81447b2dce37b3ecc"},
|
||||
{"name":"pg","version":"1.4.1","platform":"ruby","checksum":"386bbffad223cce1dda903dad2c59268e41f3d183792506671ae526011ff0487"},
|
||||
{"name":"pg","version":"1.4.1","platform":"x64-mingw-ucrt","checksum":"de35769d4e7c25daa035f2dc33447e74711ab0dc8b73f685a846987e0080d030"},
|
||||
{"name":"pg","version":"1.4.1","platform":"x64-mingw32","checksum":"3457bf6bfdda7144097ef23d490a83980ba4572c78c58689aadaf58940a1989d"},
|
||||
{"name":"pg","version":"1.4.1","platform":"x86-mingw32","checksum":"323d09138b7bbfc6ae8eb427774d3639fc0e995983e65bb729527bf8e859fc29"},
|
||||
{"name":"pg_query","version":"2.1.3","platform":"ruby","checksum":"f3dd4b4c88c638eab48e9274f0dd88c584b60f8da58e3008b873192fe1e47001"},
|
||||
{"name":"plist","version":"3.6.0","platform":"ruby","checksum":"f468bcf6b72ec6d1585ed6744eb4817c1932a5bf91895ed056e69b7f12ca10f2"},
|
||||
{"name":"png_quantizator","version":"0.2.1","platform":"ruby","checksum":"6023d4d064125c3a7e02929c95b7320ed6ac0d7341f9e8de0c9ea6576ef3106b"},
|
||||
{"name":"po_to_json","version":"1.0.1","platform":"ruby","checksum":"6a7188aa6c42a22c9718f9b39062862ef7f3d8f6a7b4177cae058c3308b56af7"},
|
||||
{"name":"premailer","version":"1.16.0","platform":"ruby","checksum":"03e4402c448e6bae13fb5f6301a8bde4f3508e1bff90ae7c0972c7be94694786"},
|
||||
{"name":"premailer-rails","version":"1.10.3","platform":"ruby","checksum":"7cdcb97027866f7a81c490c6d15ada7f39666b5f6375f0821b7e97e0483b112f"},
|
||||
{"name":"proc_to_ast","version":"0.1.0","platform":"ruby","checksum":"92a73fa66e2250a83f8589f818b0751bcf227c68f85916202df7af85082f8691"},
|
||||
{"name":"prometheus-client-mmap","version":"0.16.2","platform":"ruby","checksum":"36e7e96fdd603c2d1fed050ec71504797f3f8b2560123306ba72018ee3561165"},
|
||||
{"name":"pry","version":"0.13.1","platform":"java","checksum":"9612d825e2c3bc160633b2a4fae21041126ee33f1ac8035c851417e561b2b46c"},
|
||||
{"name":"pry","version":"0.13.1","platform":"ruby","checksum":"1393918c415af46b6d09044d2b78dde92b29bc834fd85c369a950bab0826dc47"},
|
||||
{"name":"pry-byebug","version":"3.9.0","platform":"ruby","checksum":"3bba08f97fea15b89cc299f3b5136e3b85763cd18cf84960eac4fbfbeb2ede24"},
|
||||
{"name":"pry-rails","version":"0.3.9","platform":"ruby","checksum":"468662575abb6b67f4a9831219f99290d5eae7bf186e64dd810d0a3e4a8cc4b1"},
|
||||
{"name":"pry-shell","version":"0.5.1","platform":"ruby","checksum":"2b9000e30677acf5d66f55fa53d31934b7c069d9e0f738a0b84eed03a4ab677d"},
|
||||
{"name":"public_suffix","version":"4.0.7","platform":"ruby","checksum":"8be161e2421f8d45b0098c042c06486789731ea93dc3a896d30554ee38b573b8"},
|
||||
{"name":"puma","version":"5.6.5","platform":"java","checksum":"29d78fc2bc070b9db285a3334a890c3e0ece9bb369388065f0f340ccb1e57faf"},
|
||||
{"name":"puma","version":"5.6.5","platform":"ruby","checksum":"661029d15a115e9f6c0641a69c830ffd9f1b9ac63fcd0791d94ccd900e03f863"},
|
||||
{"name":"puma_worker_killer","version":"0.3.1","platform":"ruby","checksum":"9c5534d296b5e92d1ad4a578f2daf2aa71563003c84f7263f0a8dfd22b5c614a"},
|
||||
{"name":"pyu-ruby-sasl","version":"0.0.3.3","platform":"ruby","checksum":"5683a6bc5738db5a1bf5ceddeaf545405fb241b4184dd4f2587e679a7e9497e5"},
|
||||
{"name":"raabro","version":"1.4.0","platform":"ruby","checksum":"d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882"},
|
||||
{"name":"racc","version":"1.6.0","platform":"java","checksum":"d449a3c279026451b9fd5f34e829dc5f6e0ef6b9b472b7ff89fd3877fe8fe8cf"},
|
||||
{"name":"racc","version":"1.6.0","platform":"ruby","checksum":"2dede3b136eeabd0f7b8c9356b958b3d743c00158e2615acab431af141354551"},
|
||||
{"name":"rack","version":"2.2.4","platform":"ruby","checksum":"ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b"},
|
||||
{"name":"rack-accept","version":"0.4.5","platform":"ruby","checksum":"66247b5449db64ebb93ae2ec4af4764b87d1ae8a7463c7c68893ac13fa8d4da2"},
|
||||
{"name":"rack-attack","version":"6.6.1","platform":"ruby","checksum":"187e5d248c6a162ed8cafa8241a7b5947d9b9cf122a4870eb1cdd0db861f3a11"},
|
||||
{"name":"rack-cors","version":"1.1.1","platform":"ruby","checksum":"4702644ac6d63ebbddff372a3cd4cd573513287e3524b5a5415f678970057a4b"},
|
||||
{"name":"rack-oauth2","version":"1.21.2","platform":"ruby","checksum":"06fc157cad243ac11d8681c18139c4556a3f86b518f0fcb419e29512181a3ff2"},
|
||||
{"name":"rack-protection","version":"2.2.2","platform":"ruby","checksum":"fd41414dbabbec274af0bdb1f72a48504449de4d979782c9af38cbb5dfff3299"},
|
||||
{"name":"rack-proxy","version":"0.7.2","platform":"ruby","checksum":"89c74fd6d3e5a4db0ed7e0d8b9915dbc85360fd6f98f6c1f9a66479fe236f4b6"},
|
||||
{"name":"rack-test","version":"1.1.0","platform":"ruby","checksum":"154161f40f162b1c009a655b7b0c5de3a3102cc6d7d2e94b64e1f46ace800866"},
|
||||
{"name":"rack-timeout","version":"0.6.0","platform":"ruby","checksum":"6038d1cc31936394bd2c57bb16c17b31d2fd1d33ce928537cf0ef6f1f1905099"},
|
||||
{"name":"rails","version":"6.1.6.1","platform":"ruby","checksum":"17024921a3913fb341f584542b06adf6bb12977a8b92d5fce093c3996c963686"},
|
||||
{"name":"rails-controller-testing","version":"1.0.5","platform":"ruby","checksum":"741448db59366073e86fc965ba403f881c636b79a2c39a48d0486f2607182e94"},
|
||||
{"name":"rails-dom-testing","version":"2.0.3","platform":"ruby","checksum":"b140c4f39f6e609c8113137b9a60dfc2ecb89864e496f87f23a68b3b8f12d8d1"},
|
||||
{"name":"rails-html-sanitizer","version":"1.4.3","platform":"ruby","checksum":"2ebba6ad9a0b100f79fda853a46851e7664febe1728223f9734281e0d55940d6"},
|
||||
{"name":"rails-i18n","version":"7.0.3","platform":"ruby","checksum":"e3158e98c5332d129fd5131f171ac575eb30dbb8919b21595382b08850cf2bd3"},
|
||||
{"name":"railties","version":"6.1.6.1","platform":"ruby","checksum":"bafecdf2dcbe4ea44e1ab7081fd797aa87ae9bbcd0f3a4372b662a1b93949733"},
|
||||
{"name":"rainbow","version":"3.1.1","platform":"ruby","checksum":"039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a"},
|
||||
{"name":"rake","version":"13.0.6","platform":"ruby","checksum":"5ce4bf5037b4196c24ac62834d8db1ce175470391026bd9e557d669beeb19097"},
|
||||
{"name":"randexp","version":"0.1.7","platform":"ruby","checksum":"3026510ecf6a8e8642b9b96fa44bb41af6d24058023b7df77cf280f08e14e4c8"},
|
||||
{"name":"rash_alt","version":"0.4.12","platform":"ruby","checksum":"1d4a6dd5b8fdcecc6b777c0b924dbf31c125ddd8d805e72dc9359db8324e1607"},
|
||||
{"name":"rb-fsevent","version":"0.11.2","platform":"ruby","checksum":"43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe"},
|
||||
{"name":"rb-inotify","version":"0.10.1","platform":"ruby","checksum":"050062d4f31d307cca52c3f6a7f4b946df8de25fc4bd373e1a5142e41034a7ca"},
|
||||
{"name":"rbtrace","version":"0.4.14","platform":"ruby","checksum":"162bbf89cecabfc4f09c869b655f6f3a679c4870ebb7cbdcadf7393a81cc1769"},
|
||||
{"name":"rbtree","version":"0.4.4","platform":"ruby","checksum":"c1277a502a96fe8fd8656cb619db1ac87145df809ea4db35f7242b50bb161d5c"},
|
||||
{"name":"rchardet","version":"1.8.0","platform":"ruby","checksum":"693acd5253d5ade81a51940697955f6dd4bb2f0d245bda76a8e23deec70a52c7"},
|
||||
{"name":"rdoc","version":"6.3.2","platform":"ruby","checksum":"def4a720235c27d56c176ae73555e647eb04ea58a8bbaa927f8f9f79de7805a6"},
|
||||
{"name":"re2","version":"1.4.0","platform":"ruby","checksum":"5c07d2351be1159530e2b815aae499b6524942e79bf21d560fcff5b2fa20ea8f"},
|
||||
{"name":"recaptcha","version":"4.13.1","platform":"ruby","checksum":"dc6c2cb78afa87034358b7ba1c6f7175972b5709fdf7500e2550623e119e3788"},
|
||||
{"name":"recursive-open-struct","version":"1.1.3","platform":"ruby","checksum":"a3538a72552fcebcd0ada657bdff313641a4a5fbc482c08cfb9a65acb1c9de5a"},
|
||||
{"name":"redcarpet","version":"3.5.1","platform":"ruby","checksum":"717f64cb6ec11c8d9ec9b521ed26ca2eeda68b4fe1fc3388a641176dbd47732f"},
|
||||
{"name":"redis","version":"4.7.1","platform":"ruby","checksum":"ecb256d4e53ead3eca05bf394dd100e6a162c136f461fe752ddf5d35b64a2df6"},
|
||||
{"name":"redis-actionpack","version":"5.3.0","platform":"ruby","checksum":"3fb1ad0a8fd9d26a289c9399bb609dcaef38bf37711e6f677a53ca728fc19140"},
|
||||
{"name":"redis-namespace","version":"1.8.1","platform":"ruby","checksum":"c81707d693e5e754c690b4e1fa68ecfa8bd1028fbf306e533b3832e44e76c54c"},
|
||||
{"name":"redis-rack","version":"2.1.4","platform":"ruby","checksum":"0872eecb303e483c3863d6bd0d47323d230640d41c1a4ac4a2c7596ec0b1774c"},
|
||||
{"name":"redis-store","version":"1.9.1","platform":"ruby","checksum":"7b4c7438d46f7b7ce8f67fc0eda3a04fc67d32d28cf606cc98a5df4d2b77071d"},
|
||||
{"name":"regexp_parser","version":"2.5.0","platform":"ruby","checksum":"a076d2d35ab8d11feab5fecf8aa09ec6df68c2429810748cba079f7b021ecde5"},
|
||||
{"name":"regexp_property_values","version":"1.0.0","platform":"java","checksum":"5e26782b01241616855c4ee7bb8a62fce9387e484f2d3eaf04f2a0633708222e"},
|
||||
{"name":"regexp_property_values","version":"1.0.0","platform":"ruby","checksum":"162499dc0bba1e66d334273a059f207a61981cc8cc69d2ca743594e7886d080f"},
|
||||
{"name":"representable","version":"3.0.4","platform":"ruby","checksum":"07d43917dea4712ecebd19c1909e769deed863ad444d23ceb6461519e2cba962"},
|
||||
{"name":"request_store","version":"1.5.1","platform":"ruby","checksum":"07a204d161590789f2b1d27f9f0eadcdecd6d868cb2f03240250e1bc747df78e"},
|
||||
{"name":"responders","version":"3.0.0","platform":"ruby","checksum":"a267b281582802d04cf0968dbc7d60df0d48384915934b3bf9018f811dc3f7dc"},
|
||||
{"name":"rest-client","version":"2.1.0","platform":"ruby","checksum":"35a6400bdb14fae28596618e312776c158f7ebbb0ccad752ff4fa142bf2747e3"},
|
||||
{"name":"rest-client","version":"2.1.0","platform":"x64-mingw32","checksum":"7cd156496196d90b7d8f5b8de521ef67d8a9e03f06862da80b9b5912ab05a470"},
|
||||
{"name":"rest-client","version":"2.1.0","platform":"x86-mingw32","checksum":"fb543caf36cb555c05c6186aeb1273c6a1b059896e4cfd394e7269b20c40ca01"},
|
||||
{"name":"rest-client","version":"2.1.0","platform":"x86-mswin32","checksum":"a35a3bb8d16ca39d110a946a2c805267f98ce07a0ae890e4512a45eadea47a6e"},
|
||||
{"name":"retriable","version":"3.1.2","platform":"ruby","checksum":"0a5a5d0ca4ba61a76fb31a17ab8f7f80281beb040c329d34dfc137a1398688e0"},
|
||||
{"name":"reverse_markdown","version":"1.4.0","platform":"ruby","checksum":"a3305da1509ac8388fa84a28745621113e121383402a2e8e9350ba649034e870"},
|
||||
{"name":"rexml","version":"3.2.5","platform":"ruby","checksum":"a33c3bf95fda7983ec7f05054f3a985af41dbc25a0339843bd2479e93cabb123"},
|
||||
{"name":"rinku","version":"2.0.0","platform":"ruby","checksum":"3e695aaf9f24baba3af45823b5c427b58a624582132f18482320e2737f9f8a85"},
|
||||
{"name":"rotp","version":"6.2.0","platform":"ruby","checksum":"239a2eefba6f1bd4157b2c735d0f975598e0ef94823eea2f35d103d2e5cc0787"},
|
||||
{"name":"rouge","version":"3.30.0","platform":"ruby","checksum":"a3d353222aa72e49e2c86726c0bcfd719f82592f57d494474655f48e669eceb6"},
|
||||
{"name":"rqrcode","version":"0.7.0","platform":"ruby","checksum":"8b3a5cba9cc199ba2d781a7c767cb55679f29a3621aa0506a799cec3760d16a1"},
|
||||
{"name":"rqrcode-rails3","version":"0.1.7","platform":"ruby","checksum":"6f0582f26485123e5ed6f2a8a2871f00d86d353e0f58c8429a5a13212bcf48c4"},
|
||||
{"name":"rspec","version":"3.10.0","platform":"ruby","checksum":"b870b43d49ae4a4e063b94976d2742b0854ec10458c425d569b5556ee5898ab7"},
|
||||
{"name":"rspec-benchmark","version":"0.6.0","platform":"ruby","checksum":"1014adb57ec2599a2455c63884229f367a2fff6a63a77fd68ce5d804c83dd6cf"},
|
||||
{"name":"rspec-core","version":"3.10.1","platform":"ruby","checksum":"ac9abdc9577a3a34e9e92815603da8343931055ab4fba1c2a49de6dd3b749673"},
|
||||
{"name":"rspec-expectations","version":"3.10.1","platform":"ruby","checksum":"27acf5d5df13f8cc8f7158001ebf572513bcec3d45404ba76e0a8998895ce9eb"},
|
||||
{"name":"rspec-mocks","version":"3.10.3","platform":"ruby","checksum":"d2f6f3d8b7569b1e846703d164cb23e24c7f530d38217fc06da2beaf6024260a"},
|
||||
{"name":"rspec-parameterized","version":"0.5.0","platform":"ruby","checksum":"f163ac07b5edd1eeb13136480623db7020852c70cf0ad2fa98e31384ae162454"},
|
||||
{"name":"rspec-rails","version":"5.0.1","platform":"ruby","checksum":"c61e7f35db2266f83b3cc58a340fc3ec0bd6344818040430fd5ddc99775242de"},
|
||||
{"name":"rspec-retry","version":"0.6.1","platform":"ruby","checksum":"86b7e8513c5b0c713c2e28854f4d996deb8efa6304eef50f0ad68ee6c563d8da"},
|
||||
{"name":"rspec-support","version":"3.10.2","platform":"ruby","checksum":"74315f89069fbaf2a710e2117340373b77ee45eceb026de87e0cad9dd5154596"},
|
||||
{"name":"rspec_junit_formatter","version":"0.4.1","platform":"ruby","checksum":"3788f9b3fabc6284b93493cf4b3a80cba2b59b3a774b95f39dd7886d5faed6ab"},
|
||||
{"name":"rspec_profiling","version":"0.0.6","platform":"ruby","checksum":"7a45697f79dcec9a174a0e26703465f6bd52ee78e8d798741240bfcef38f6e6e"},
|
||||
{"name":"rubocop","version":"0.93.1","platform":"ruby","checksum":"73b44fbbe872edbd3f14487175b6369a0f48e952c155f305896ffa56c48b195e"},
|
||||
{"name":"rubocop-ast","version":"1.21.0","platform":"ruby","checksum":"8f5d98611343498602de2d41bc583aca71599daad16daeadaeeee60f134c9568"},
|
||||
{"name":"rubocop-gitlab-security","version":"0.1.1","platform":"ruby","checksum":"96f6ed727847a5876ddfc89ee0399438a1aef7934db773c7efce907e2720006c"},
|
||||
{"name":"rubocop-graphql","version":"0.14.6","platform":"ruby","checksum":"b40f2cbac9990ece44eb85eec5c5ae04fca1e197c07c790ac1ca60600b55bdad"},
|
||||
{"name":"rubocop-performance","version":"1.9.2","platform":"ruby","checksum":"3373ad82b70189fa16b593b6237eb06186da669d468b7d6483bca64c0a844a05"},
|
||||
{"name":"rubocop-rails","version":"2.9.1","platform":"ruby","checksum":"2d8d113c3ae074c78c89cb706b4a08116d730bf92dbef148798498171435c540"},
|
||||
{"name":"rubocop-rspec","version":"1.44.1","platform":"ruby","checksum":"7b2238e7d6cf17a925a90992914f3cd8ecd68b65b31710d60a3f7f647f8a8b2a"},
|
||||
{"name":"ruby-fogbugz","version":"0.2.1","platform":"ruby","checksum":"15b2e7fe7e95b021a94ee6e9d8bb32fdad6ae44e820c2ce0dc312fe6e77d40ca"},
|
||||
{"name":"ruby-magic","version":"0.5.4","platform":"ruby","checksum":"2c17b185130d10a83791f63a40baa358c4b138af37da3f4dab53690121c421d5"},
|
||||
{"name":"ruby-prof","version":"1.3.1","platform":"ruby","checksum":"e735d20c92954e1fa2a4475539c99dfc8d0166b4cc6915ca309e8ee2dd19323c"},
|
||||
{"name":"ruby-prof","version":"1.3.1","platform":"x64-mingw32","checksum":"a97bb6ff0abb01131ecba88799222d492d9124e057535db8e5bd47119f2a58ba"},
|
||||
{"name":"ruby-progressbar","version":"1.11.0","platform":"ruby","checksum":"cc127db3866dc414ffccbf92928a241e585b3aa2b758a5563e74a6ee0f57d50a"},
|
||||
{"name":"ruby-saml","version":"1.13.0","platform":"ruby","checksum":"d31cbdf5fb8fdd6aa3187e48dba3085cfeb751af30276a5739aa3659a66f069c"},
|
||||
{"name":"ruby-statistics","version":"3.0.0","platform":"ruby","checksum":"610301370346931cb701e3a8d3d3e28eb65681162cae6066c0c11abf20efdc81"},
|
||||
{"name":"ruby2_keywords","version":"0.0.5","platform":"ruby","checksum":"ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef"},
|
||||
{"name":"ruby_parser","version":"3.15.0","platform":"ruby","checksum":"53784028e46407d43b5a704f10f105db00241102ee4402d2a55755b5fa2ad42c"},
|
||||
{"name":"rubyntlm","version":"0.6.3","platform":"ruby","checksum":"5b321456dba3130351f7451f8669f1afa83a0d26fd63cdec285b7b88e667102d"},
|
||||
{"name":"rubypants","version":"0.2.0","platform":"ruby","checksum":"f07e38eac793655a0323fe91946081052341b9e69807026fcf102346589eedee"},
|
||||
{"name":"rubyzip","version":"2.3.2","platform":"ruby","checksum":"3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f"},
|
||||
{"name":"rugged","version":"1.2.0","platform":"ruby","checksum":"111979962e75378209673ae262a8f43bd1971b5b5f96f4dfb77ca82b343604ed"},
|
||||
{"name":"safe_yaml","version":"1.0.4","platform":"ruby","checksum":"248193992ef1730a0c9ec579999ef2256a2b3a32a9bd9d708a1e12544a489ec2"},
|
||||
{"name":"safety_net_attestation","version":"0.4.0","platform":"ruby","checksum":"96be2d74e7ed26453a51894913449bea0e072f44490021545ac2d1c38b0718ce"},
|
||||
{"name":"sanitize","version":"6.0.0","platform":"ruby","checksum":"81795f985873f3bacee2eaaededeaafc3a29aafeaa9aff51e04b85a66bbf08ff"},
|
||||
{"name":"sass","version":"3.5.5","platform":"ruby","checksum":"1bb5431bc620ce29076728a4c8f7b4acb55066ed9df8cf5d57db6cda450d8080"},
|
||||
{"name":"sass-listen","version":"4.0.0","platform":"ruby","checksum":"ae9dcb76dd3e234329e5ba6e213f48e532c5a3e7b0b4d8a87f13aaca0cc18377"},
|
||||
{"name":"sassc","version":"2.4.0","platform":"ruby","checksum":"4c60a2b0a3b36685c83b80d5789401c2f678c1652e3288315a1551d811d9f83e"},
|
||||
{"name":"sassc","version":"2.4.0","platform":"x64-mingw32","checksum":"8773b917cb52c7e92c94d4bf324c1c0be3e50d9092f9f5ed4c3c6e454b451c5e"},
|
||||
{"name":"sassc-rails","version":"2.1.0","platform":"ruby","checksum":"764dcc74e06930e3483caf0d595084d11f2b0fefd6539abf487cdddfba6cafa2"},
|
||||
{"name":"sawyer","version":"0.9.2","platform":"ruby","checksum":"fa3a72d62a4525517b18857ddb78926aab3424de0129be6772a8e2ba240e7aca"},
|
||||
{"name":"sd_notify","version":"0.1.0","platform":"ruby","checksum":"22b68623635175dfdb856d43c9480f9ad13eafa604ab410dc91168102287a663"},
|
||||
{"name":"securecompare","version":"1.0.0","platform":"ruby","checksum":"cb0c6599deaaedf6d28f8d88538b06e7198c4826b1b8edb1dbeb44a2162fc62b"},
|
||||
{"name":"seed-fu","version":"2.3.7","platform":"ruby","checksum":"f19673443e9af799b730e3d4eca6a89b39e5a36825015dffd00d02ea3365cf74"},
|
||||
{"name":"selenium-webdriver","version":"3.142.7","platform":"ruby","checksum":"dea0993e0e4fdb364f0453144814c0e6099a411d17396807c6cac666d0ddac29"},
|
||||
{"name":"sentry-rails","version":"5.1.1","platform":"ruby","checksum":"906ef0a776ddc35884ab8b548856ba81c607e3fdee7c9c9f7c44efccc16a657f"},
|
||||
{"name":"sentry-raven","version":"3.1.2","platform":"ruby","checksum":"103d3b122958810d34898ce2e705bcf549ddb9d855a70ce9a3970ee2484f364a"},
|
||||
{"name":"sentry-ruby","version":"5.1.1","platform":"ruby","checksum":"4e49563b72c1c22ffe3a67e5024b856c364766146d01e270423fd494d8fcc125"},
|
||||
{"name":"sentry-ruby-core","version":"5.1.1","platform":"ruby","checksum":"152ed891ee78348da448a65237be92990f3e8b9e5b34bb39003eade48cca5d04"},
|
||||
{"name":"sentry-sidekiq","version":"5.1.1","platform":"ruby","checksum":"e4c3618577fba37f7a9fc3812013a7868d09e0e0a0970efc605e6e184079d1af"},
|
||||
{"name":"set","version":"1.0.1","platform":"ruby","checksum":"d169fe8df4738e9da1118199429a9cf1ce0ac5e8a3cacc481e2ed24d585419dd"},
|
||||
{"name":"settingslogic","version":"2.0.9","platform":"ruby","checksum":"5925a91d0d48dfb59a6e48ae2bb9c9b801fe6fab25a8e8d302ce8699d92f2ae6"},
|
||||
{"name":"sexp_processor","version":"4.15.1","platform":"ruby","checksum":"9291a0f2247f50d15068ee6965b67cd7b678b0d273e18adf3c0b2ea4a890125c"},
|
||||
{"name":"shellany","version":"0.0.1","platform":"ruby","checksum":"0e127a9132698766d7e752e82cdac8250b6adbd09e6c0a7fbbb6f61964fedee7"},
|
||||
{"name":"shoulda-matchers","version":"5.1.0","platform":"ruby","checksum":"a01d20589989e9653ab4a28c67d9db2b82bcf0a2496cf01d5e1a95a4aaaf5b07"},
|
||||
{"name":"sidekiq","version":"6.4.2","platform":"ruby","checksum":"0d3c05fecb5fbace5ff5efc63da707e02a9c4673fb8e33ceca10b5ec0e9f062c"},
|
||||
{"name":"sidekiq-cron","version":"1.4.0","platform":"ruby","checksum":"21612ade25ea79b4eeb8eacd7fb559a85a1abf6bf1da1aca1aa0079cafd3376d"},
|
||||
{"name":"sigdump","version":"0.2.4","platform":"ruby","checksum":"0bf2176e55c1a262788623fe5ea57caddd6ba2abebe5e349d9d5e7c3a3010ed7"},
|
||||
{"name":"signet","version":"0.17.0","platform":"ruby","checksum":"1d2831930dc28da32e34bec68cf7ded97ee2867b208f97c500ee293829cb0004"},
|
||||
{"name":"simple_po_parser","version":"1.1.6","platform":"ruby","checksum":"122687d44d3de516a0e69e2f383a4180f5015e8c5ed5a7f2258f2b376f64cbf3"},
|
||||
{"name":"simplecov","version":"0.21.2","platform":"ruby","checksum":"990db6aedb55086d6bf8874993ff1f796e4830abfa11937468ca502a0d013bc3"},
|
||||
{"name":"simplecov-cobertura","version":"1.3.1","platform":"ruby","checksum":"9b738110652421cd5a9f09f495cc1159533c02ac4a53e7fe8ae60934bca0331e"},
|
||||
{"name":"simplecov-html","version":"0.12.3","platform":"ruby","checksum":"4b1aad33259ffba8b29c6876c12db70e5750cb9df829486e4c6e5da4fa0aa07b"},
|
||||
{"name":"simplecov-lcov","version":"0.8.0","platform":"ruby","checksum":"0115f31cb7ef5ec4334f5d9382c67fd43de2e5270e21b65bfc693da82dd713c1"},
|
||||
{"name":"simplecov_json_formatter","version":"0.1.4","platform":"ruby","checksum":"529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428"},
|
||||
{"name":"sixarm_ruby_unaccent","version":"1.2.0","platform":"ruby","checksum":"0043a6077bdf2c4b03040152676a07f8bf77144f9b007b1960ee5c94d13a4384"},
|
||||
{"name":"slack-messenger","version":"2.3.4","platform":"ruby","checksum":"49c611d2be5b0f9c250a3a957b9cc09b9c07b81dacb9843642d87b6fa35609c1"},
|
||||
{"name":"snowplow-tracker","version":"0.6.1","platform":"ruby","checksum":"9cec52fd060619f4974b3dc1f7d9a2776c5e31b668a6ead53145b9780e312314"},
|
||||
{"name":"solargraph","version":"0.46.0","platform":"ruby","checksum":"1da9fd8c364501f18b0454e54506e7098bc38dae719219713fe5f246dfc91465"},
|
||||
{"name":"sorted_set","version":"1.0.3","platform":"java","checksum":"996283f2e5c6e838825bcdcee31d6306515ae5f24bcb0ee4ce09dfff32919b8c"},
|
||||
{"name":"sorted_set","version":"1.0.3","platform":"ruby","checksum":"4f2b8bee6e8c59cbd296228c0f1f81679357177a8b6859dcc2a99e86cce6372f"},
|
||||
{"name":"spamcheck","version":"1.0.0","platform":"ruby","checksum":"dfeea085184091353e17d729d2f3d714b07cba36aaf64c32dfc35ce9b466fc9c"},
|
||||
{"name":"spring","version":"2.1.1","platform":"ruby","checksum":"0d0ccd42eb6ac035b26a6791d10715b3b59c069d1fcd34693d7782257cf85cf4"},
|
||||
{"name":"spring-commands-rspec","version":"1.0.4","platform":"ruby","checksum":"6202e54fa4767452e3641461a83347645af478bf45dddcca9737b43af0dd1a2c"},
|
||||
{"name":"sprite-factory","version":"1.7.1","platform":"ruby","checksum":"5586524a1aec003241f1abc6852b61433e988aba5ee2b55f906387bf49b01ba2"},
|
||||
{"name":"sprockets","version":"3.7.2","platform":"ruby","checksum":"5ea1d7facd09203c1aa196afd6178208cd25abdbcc2a9978810a2f0754e152a0"},
|
||||
{"name":"sprockets-rails","version":"3.4.2","platform":"ruby","checksum":"36d6327757ccf7460a00d1d52b2d5ef0019a4670503046a129fa1fb1300931ad"},
|
||||
{"name":"sqlite3","version":"1.4.2","platform":"ruby","checksum":"e8b8ef3b0f75c18e1a7ee62c5678c827e99389e53fa55eb7a9a5f57459004a52"},
|
||||
{"name":"ssh_data","version":"1.3.0","platform":"ruby","checksum":"ec7c1e95a3aebeee412147998f4c147b4b05da6ed0aafda6083f9449318eaac0"},
|
||||
{"name":"ssrf_filter","version":"1.0.7","platform":"ruby","checksum":"80dc5728e5743201239e465c7e14290c7acf1de3b9f1f664579112429c79953a"},
|
||||
{"name":"stackprof","version":"0.2.21","platform":"ruby","checksum":"2b6406c55dc2e134b2789c4cc631d96e67da87821a166f4ae12f15bec5cff5ae"},
|
||||
{"name":"state_machines","version":"0.5.0","platform":"ruby","checksum":"23e6249d374a920b528dccade403518b4abbd83841a3e2c9ef13e6f1a009b102"},
|
||||
{"name":"state_machines-activemodel","version":"0.8.0","platform":"ruby","checksum":"e932dab190d4be044fb5f9cab01a3ea0b092c5f113d4676c6c0a0d49bf738d2c"},
|
||||
{"name":"state_machines-activerecord","version":"0.8.0","platform":"ruby","checksum":"072fb701b8ab03de0608297f6c55dc34ed096e556fa8f77e556f3c461c71aab6"},
|
||||
{"name":"strings","version":"0.2.1","platform":"ruby","checksum":"933293b3c95cf85b81eb44b3cf673e3087661ba739bbadfeadf442083158d6fb"},
|
||||
{"name":"strings-ansi","version":"0.2.0","platform":"ruby","checksum":"90262d760ea4a94cc2ae8d58205277a343409c288cbe7c29416b1826bd511c88"},
|
||||
{"name":"swd","version":"1.3.0","platform":"ruby","checksum":"bc382a19e1d36a95529b25152976db61b80376c3d486b21c8dd60ac2b5c06389"},
|
||||
{"name":"sync","version":"0.5.0","platform":"ruby","checksum":"668356cc07c59ac7ed9ecf34fec3929831f179c07adb1f3e1c3b7a1609a638fd"},
|
||||
{"name":"sys-filesystem","version":"1.4.3","platform":"ruby","checksum":"390919de89822ad6d3ba3daf694d720be9d83ed95cdf7adf54d4573c98b17421"},
|
||||
{"name":"sysexits","version":"1.2.0","platform":"ruby","checksum":"598241c4ae57baa403c125182dfdcc0d1ac4c0fb606dd47fbed57e4aaf795662"},
|
||||
{"name":"tanuki_emoji","version":"0.6.0","platform":"ruby","checksum":"4ce91aefed2d076b73fba3eff50e89660c3d25691787a9fe4c0dfabb4218c12a"},
|
||||
{"name":"temple","version":"0.8.2","platform":"ruby","checksum":"c12071214346c606dbd219b4117276d04a9f2c20d65e66a66b2c4ec18efc1f18"},
|
||||
{"name":"term-ansicolor","version":"1.7.1","platform":"ruby","checksum":"92339ffec77c4bddc786a29385c91601dd52fc68feda23609bba0491229b05f7"},
|
||||
{"name":"terminal-table","version":"1.8.0","platform":"ruby","checksum":"13371f069af18e9baa4e44d404a4ada9301899ce0530c237ac1a96c19f652294"},
|
||||
{"name":"terser","version":"1.0.2","platform":"ruby","checksum":"80c2e0bc7e2db4e12e8529658f9e0820e13d685ae67d745bf981f269743bb28e"},
|
||||
{"name":"test-prof","version":"1.0.7","platform":"ruby","checksum":"7df2ece7acf4f14c52788abdfdefae689b4d1cd84530b2fe7cacadf89cfce0ed"},
|
||||
{"name":"test_file_finder","version":"0.1.4","platform":"ruby","checksum":"bc36d8339eac4fb9dc36514a7c5f4d389ac2fb6d010716fc715c5c8fbb98eacd"},
|
||||
{"name":"text","version":"1.3.1","platform":"ruby","checksum":"2fbbbc82c1ce79c4195b13018a87cbb00d762bda39241bb3cdc32792759dd3f4"},
|
||||
{"name":"thor","version":"1.2.1","platform":"ruby","checksum":"b1752153dc9c6b8d3fcaa665e9e1a00a3e73f28da5e238b81c404502e539d446"},
|
||||
{"name":"thrift","version":"0.16.0","platform":"ruby","checksum":"d023286ea89e30444c9f1c28dd76107f87d8aaf85fe1742da1d8cd3b5417dcce"},
|
||||
{"name":"tilt","version":"2.0.10","platform":"ruby","checksum":"9b664f0e9ae2b500cfa00f9c65c34abc6ff1799cf0034a8c0a0412d520fac866"},
|
||||
{"name":"timecop","version":"0.9.1","platform":"ruby","checksum":"374b543f0961dbd487e96d09ac812d4fdfeb603ec705bbff241ba060d0a9f534"},
|
||||
{"name":"timeliness","version":"0.3.10","platform":"ruby","checksum":"c357233ce19dc53148e8b29dfddde134689f18f52b32928e9dfe12ebcf4a773f"},
|
||||
{"name":"timfel-krb5-auth","version":"0.8.3","platform":"ruby","checksum":"ab388c9d747fa3cd95baf2cc1c03253e372d8c680adcc543670f4f099854bb80"},
|
||||
{"name":"tins","version":"1.31.0","platform":"ruby","checksum":"20b5ea997dc046358fd05f15d39636bd7946798591b9c5741cc41f69853c7894"},
|
||||
{"name":"toml-rb","version":"2.0.1","platform":"ruby","checksum":"5016c6c77ac72bca5fe67c372722bdfdd4479a6fe1a1c4ff2a486e247849b274"},
|
||||
{"name":"tomlrb","version":"1.3.0","platform":"ruby","checksum":"68666bf53fa70ba686a48a7435ce7e086f5227c58c4c993bd9792f4760f2a503"},
|
||||
{"name":"tpm-key_attestation","version":"0.9.0","platform":"ruby","checksum":"e469ad9111a68dab4d04596e1c0621d7c877c2e3e247f765af3c04f1adf2b8cd"},
|
||||
{"name":"train-core","version":"3.4.9","platform":"ruby","checksum":"d7ad8fa9a379c43a30baaaf1141af1cb28349d386c054f7fc81d169a625d6edd"},
|
||||
{"name":"truncato","version":"0.7.12","platform":"ruby","checksum":"fed9e8a04fa35fd1a64506cd2089761bae4adfe47e756c3ce98a5c43856c9c4c"},
|
||||
{"name":"tty-color","version":"0.6.0","platform":"ruby","checksum":"6f9c37ca3a4e2367fb2e6d09722762647d6f455c111f05b59f35730eeb24332a"},
|
||||
{"name":"tty-cursor","version":"0.7.1","platform":"ruby","checksum":"79534185e6a777888d88628b14b6a1fdf5154a603f285f80b1753e1908e0bf48"},
|
||||
{"name":"tty-markdown","version":"0.7.0","platform":"ruby","checksum":"251e8ef71f6a8bc91faa48aa49c341aff644321f493f94c030e571c5aa59e642"},
|
||||
{"name":"tty-prompt","version":"0.23.1","platform":"ruby","checksum":"fcdbce905238993f27eecfdf67597a636bc839d92192f6a0eef22b8166449ec8"},
|
||||
{"name":"tty-reader","version":"0.9.0","platform":"ruby","checksum":"c62972c985c0b1566f0e56743b6a7882f979d3dc32ff491ed490a076f899c2b1"},
|
||||
{"name":"tty-screen","version":"0.8.1","platform":"ruby","checksum":"6508657c38f32bdca64880abe201ce237d80c94146e1f9b911cba3c7823659a2"},
|
||||
{"name":"typhoeus","version":"1.4.0","platform":"ruby","checksum":"fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4"},
|
||||
{"name":"tzinfo","version":"2.0.5","platform":"ruby","checksum":"c5352fd901544d396745d013f46a04ae2ed081ce806d942099825b7c2b09a167"},
|
||||
{"name":"u2f","version":"0.2.1","platform":"ruby","checksum":"7907b163c00682ce94d82178154af2ec3930e50f342c3502d64929c6370c5553"},
|
||||
{"name":"uber","version":"0.1.0","platform":"ruby","checksum":"5beeb407ff807b5db994f82fa9ee07cfceaa561dad8af20be880bc67eba935dc"},
|
||||
{"name":"undercover","version":"0.4.4","platform":"ruby","checksum":"61c4cbe03a9de0764b07cceef82a63f9d8dbf4d8680ec017cee307927561f6a5"},
|
||||
{"name":"unf","version":"0.1.4","platform":"java","checksum":"49a5972ec0b3d091d3b0b2e00113f2f342b9b212f0db855eb30a629637f6d302"},
|
||||
{"name":"unf","version":"0.1.4","platform":"ruby","checksum":"4999517a531f2a955750f8831941891f6158498ec9b6cb1c81ce89388e63022e"},
|
||||
{"name":"unf_ext","version":"0.0.8.2","platform":"ruby","checksum":"90b9623ee359cc4878461c5d2eab7d3d3ce5801a680a9e7ac83b8040c5b742fa"},
|
||||
{"name":"unf_ext","version":"0.0.8.2","platform":"x64-mingw-ucrt","checksum":"580e3c1ca389f10ca17d13ddeb5dc3fbdc80ce2c2b8cdb15c08af3a3b45a60fc"},
|
||||
{"name":"unf_ext","version":"0.0.8.2","platform":"x64-mingw32","checksum":"f7e4c01774c91eb22e30d53dfc40ffbbb5a175f785c8f6f1be17ad96a0b29ed0"},
|
||||
{"name":"unf_ext","version":"0.0.8.2","platform":"x86-mingw32","checksum":"6d44c13c98924bebd15ebdd4ed196ead403a0770ac03304570873349fda2a208"},
|
||||
{"name":"unicode-display_width","version":"1.8.0","platform":"ruby","checksum":"0292132d364d59fcdd83f144910c48b3c8332b28a14c5c04bb093dd165600488"},
|
||||
{"name":"unicode_utils","version":"1.4.0","platform":"ruby","checksum":"b922d0cf2313b6b7136ada6645ce7154ffc86418ca07d53b058efe9eb72f2a40"},
|
||||
{"name":"uniform_notifier","version":"1.16.0","platform":"ruby","checksum":"99b39ee4a0864e3b49f375b5e5803eb26d35ed6eb1719c96407573a87bc4dbb5"},
|
||||
{"name":"unleash","version":"3.2.2","platform":"ruby","checksum":"0f6e56498de920de66a01bceffb93933693ade646bb853fc70eb16bd1026b93b"},
|
||||
{"name":"unparser","version":"0.6.0","platform":"ruby","checksum":"4afa0540583032d28a623e65f057809fdbed6dc84bd8a1de93262e1aa4618608"},
|
||||
{"name":"uri_template","version":"0.7.0","platform":"ruby","checksum":"312c8fe13700db86ac9d05ea997af3db03abdf50c65b1801d775bc7a695f185d"},
|
||||
{"name":"valid_email","version":"0.1.3","platform":"ruby","checksum":"b81452b51b64c4beb67913f68db52c20ecb4d73d45512f5b282ab4a3f4416570"},
|
||||
{"name":"validate_email","version":"0.1.6","platform":"ruby","checksum":"9dfe9016d527b17a8d3a6e95e4dc50a125400eef899d13d4cc2a254393f82ee4"},
|
||||
{"name":"validate_url","version":"1.0.15","platform":"ruby","checksum":"72fe164c0713d63a9970bd6700bea948babbfbdcec392f2342b6704042f57451"},
|
||||
{"name":"validates_hostname","version":"1.0.11","platform":"ruby","checksum":"d506bae0342ec14c920eb319e057fc1886c321a59b85b4b6e966ee4b88fab8c3"},
|
||||
{"name":"version_gem","version":"1.0.0","platform":"ruby","checksum":"929c93a4d46482bb3b0359980c7a5fb1b5a833548f1202a480b08a6f0a5f8f2f"},
|
||||
{"name":"version_sorter","version":"2.2.4","platform":"ruby","checksum":"7ad071609edfaa3cf28c42d83b1a03096e43512244ae5a9e2fce1404f7e06d41"},
|
||||
{"name":"view_component","version":"2.71.0","platform":"ruby","checksum":"c1880647800d9cfb03ff4ba92313db624a4a4b3d5753e137effe86e5f2b3662b"},
|
||||
{"name":"vmstat","version":"2.3.0","platform":"ruby","checksum":"ab5446a3e3bd0a9cdb9d9ac69a0bbd119c4f161d945a0846a519dd7018af656d"},
|
||||
{"name":"warden","version":"1.2.9","platform":"ruby","checksum":"46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0"},
|
||||
{"name":"warning","version":"1.3.0","platform":"ruby","checksum":"23695a5d8e50bd5c46068931b529bee0b28e4982cbcefbe77d867800dde8069e"},
|
||||
{"name":"webauthn","version":"2.3.0","platform":"ruby","checksum":"96fbee59f4a45219f1dae96f467b693de144f871be9ec6ea357168624dacd89e"},
|
||||
{"name":"webfinger","version":"1.2.0","platform":"ruby","checksum":"7814ef1c85da47514f65c6e5ca14205fa9ce41ea2a70785e0c872842162852a2"},
|
||||
{"name":"webmock","version":"3.9.1","platform":"ruby","checksum":"bcf6822456b234fb1bed2b0a89bff31fe0641214b44f6ba4ced2b824cf31337d"},
|
||||
{"name":"webrick","version":"1.6.1","platform":"ruby","checksum":"0b4d1eab918f5f53333c690ad470825e51844ce9851e403a3fd47d6a84d9d67c"},
|
||||
{"name":"websocket-driver","version":"0.7.5","platform":"java","checksum":"fffa83aa188e9ac90e32a385832ec9d26acdf019538e1c7d703f2c8a323b39c8"},
|
||||
{"name":"websocket-driver","version":"0.7.5","platform":"ruby","checksum":"a280c3f44dcbb0323d58bc78dc49350c05d589ab7d13267fcff08d9d5ae76b28"},
|
||||
{"name":"websocket-extensions","version":"0.1.5","platform":"ruby","checksum":"1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241"},
|
||||
{"name":"wikicloth","version":"0.8.1","platform":"ruby","checksum":"7ac8a9ca0a948cf472851e521afc6c2a6b04a8f91ef1d824ba6a61ffbd60e6ca"},
|
||||
{"name":"wisper","version":"2.0.1","platform":"ruby","checksum":"ce17bc5c3a166f241a2e6613848b025c8146fce2defba505920c1d1f3f88fae6"},
|
||||
{"name":"with_env","version":"1.1.0","platform":"ruby","checksum":"50b3e4f0a6cda8f90d8a6bd87a6261f6c381429abafb161c4c69ad4a0cd0b6e4"},
|
||||
{"name":"wmi-lite","version":"1.0.5","platform":"ruby","checksum":"14efa710be3226e281a66ab93f7ebc92f5e0807029e02b9cf1d3f39d15d90d84"},
|
||||
{"name":"xml-simple","version":"1.1.9","platform":"ruby","checksum":"d21131e519c86f1a5bc2b6d2d57d46e6998e47f18ed249b25cad86433dbd695d"},
|
||||
{"name":"xpath","version":"3.2.0","platform":"ruby","checksum":"6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e"},
|
||||
{"name":"yajl-ruby","version":"1.4.3","platform":"ruby","checksum":"8c974d9c11ae07b0a3b6d26efea8407269b02e4138118fbe3ef0d2ec9724d1d2"},
|
||||
{"name":"yard","version":"0.9.26","platform":"ruby","checksum":"30594aa05cf737aa725c73444c7be3d54a443d0e258e1503da4eb1a0822cf963"},
|
||||
{"name":"zeitwerk","version":"2.6.0","platform":"ruby","checksum":"6cb2ee4645c6e597640d6f2d8cc91a59a6699ab38896a5c3fac3eefeb5c84d76"}
|
||||
]
|
221
Gemfile.lock
221
Gemfile.lock
|
@ -1,3 +1,9 @@
|
|||
PATH
|
||||
remote: vendor/gems/bundler-checksum
|
||||
specs:
|
||||
bundler-checksum (0.1.0)
|
||||
bundler
|
||||
|
||||
PATH
|
||||
remote: vendor/gems/devise-pbkdf2-encryptable
|
||||
specs:
|
||||
|
@ -14,7 +20,7 @@ PATH
|
|||
remote: vendor/gems/ipynbdiff
|
||||
specs:
|
||||
ipynbdiff (0.4.7)
|
||||
diffy (~> 3.3)
|
||||
diffy (~> 3.4)
|
||||
oj (~> 3.13.16)
|
||||
|
||||
PATH
|
||||
|
@ -24,28 +30,59 @@ 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:
|
||||
omniauth-azure-oauth2 (0.0.10)
|
||||
jwt (>= 1.0, < 3.0)
|
||||
omniauth (~> 2.0)
|
||||
omniauth-oauth2 (~> 1.4)
|
||||
|
||||
PATH
|
||||
remote: vendor/gems/omniauth-cas3
|
||||
specs:
|
||||
omniauth-cas3 (1.1.4)
|
||||
addressable (~> 2.3)
|
||||
nokogiri (~> 1.7, >= 1.7.1)
|
||||
omniauth (~> 1.2, < 3)
|
||||
omniauth (~> 2.0)
|
||||
|
||||
PATH
|
||||
remote: vendor/gems/omniauth-gitlab
|
||||
specs:
|
||||
omniauth-gitlab (4.0.0)
|
||||
omniauth (~> 1.0)
|
||||
omniauth (~> 2.0)
|
||||
omniauth-oauth2 (~> 1.7.1)
|
||||
|
||||
PATH
|
||||
remote: vendor/gems/omniauth-google-oauth2
|
||||
specs:
|
||||
omniauth-google-oauth2 (1.0.1)
|
||||
jwt (>= 2.0)
|
||||
oauth2 (~> 2.0)
|
||||
omniauth (~> 2.0)
|
||||
omniauth-oauth2 (~> 1.7.1)
|
||||
|
||||
PATH
|
||||
remote: vendor/gems/omniauth-salesforce
|
||||
specs:
|
||||
omniauth-salesforce (1.0.5)
|
||||
omniauth (~> 2.0)
|
||||
omniauth-oauth2 (~> 1.0)
|
||||
|
||||
PATH
|
||||
remote: vendor/gems/omniauth_crowd
|
||||
specs:
|
||||
omniauth_crowd (2.4.0)
|
||||
activesupport
|
||||
nokogiri (>= 1.4.4)
|
||||
omniauth (~> 1.0, < 3)
|
||||
omniauth (~> 2.0)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
|
@ -131,13 +168,13 @@ GEM
|
|||
faraday_middleware (~> 1.0)
|
||||
faraday_middleware-multi_json (~> 0.0)
|
||||
oauth2 (>= 1.4, < 3)
|
||||
asciidoctor (2.0.15)
|
||||
asciidoctor (2.0.17)
|
||||
asciidoctor-include-ext (0.4.0)
|
||||
asciidoctor (>= 1.5.6, < 3.0.0)
|
||||
asciidoctor-kroki (0.5.0)
|
||||
asciidoctor (~> 2.0)
|
||||
asciidoctor-plantuml (0.0.12)
|
||||
asciidoctor (>= 1.5.6, < 3.0.0)
|
||||
asciidoctor-plantuml (0.0.16)
|
||||
asciidoctor (>= 2.0.17, < 3.0.0)
|
||||
ast (2.4.2)
|
||||
atlassian-jwt (0.2.0)
|
||||
jwt (~> 2.1.0)
|
||||
|
@ -306,7 +343,7 @@ GEM
|
|||
ruby-statistics (>= 2.1)
|
||||
thor (>= 0.19, < 2)
|
||||
device_detector (1.0.0)
|
||||
devise (4.7.3)
|
||||
devise (4.8.1)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (>= 4.1.0)
|
||||
|
@ -320,7 +357,7 @@ GEM
|
|||
rotp (~> 6.0)
|
||||
diff-lcs (1.5.0)
|
||||
diff_match_patch (0.1.0)
|
||||
diffy (3.3.0)
|
||||
diffy (3.4.2)
|
||||
discordrb-webhooks (3.4.2)
|
||||
rest-client (>= 2.0.0)
|
||||
docile (1.4.0)
|
||||
|
@ -377,7 +414,7 @@ GEM
|
|||
encryptor (3.0.0)
|
||||
erubi (1.9.0)
|
||||
escape_utils (1.2.1)
|
||||
et-orbi (1.2.1)
|
||||
et-orbi (1.2.7)
|
||||
tzinfo
|
||||
ethon (0.15.0)
|
||||
ffi (>= 1.15.0)
|
||||
|
@ -486,7 +523,7 @@ GEM
|
|||
fog-core
|
||||
nokogiri (>= 1.5.11, < 2.0.0)
|
||||
formatador (0.2.5)
|
||||
fugit (1.2.1)
|
||||
fugit (1.2.3)
|
||||
et-orbi (~> 1.1, >= 1.1.8)
|
||||
raabro (~> 1.1)
|
||||
fuubar (2.2.0)
|
||||
|
@ -508,7 +545,7 @@ GEM
|
|||
rails (>= 3.2.0)
|
||||
git (1.11.0)
|
||||
rchardet (~> 1.8)
|
||||
gitaly (15.3.0.pre.rc3)
|
||||
gitaly (15.4.0.pre.rc2)
|
||||
grpc (~> 1.0)
|
||||
github-markup (1.7.0)
|
||||
gitlab (4.16.1)
|
||||
|
@ -516,7 +553,7 @@ GEM
|
|||
terminal-table (~> 1.5, >= 1.5.1)
|
||||
gitlab-chronic (0.10.5)
|
||||
numerizer (~> 0.2)
|
||||
gitlab-dangerfiles (3.5.0)
|
||||
gitlab-dangerfiles (3.5.2)
|
||||
danger (>= 8.4.5)
|
||||
danger-gitlab (>= 8.0.0)
|
||||
rake
|
||||
|
@ -540,15 +577,15 @@ GEM
|
|||
redis (> 3.0.0, < 5.0.0)
|
||||
gitlab-license (2.2.1)
|
||||
gitlab-mail_room (0.0.9)
|
||||
gitlab-markup (1.8.0)
|
||||
gitlab-markup (1.8.1)
|
||||
gitlab-net-dns (0.9.1)
|
||||
gitlab-omniauth-openid-connect (0.9.1)
|
||||
gitlab-omniauth-openid-connect (0.10.0)
|
||||
addressable (~> 2.7)
|
||||
omniauth (~> 1.9)
|
||||
omniauth (>= 1.9, < 3)
|
||||
openid_connect (~> 1.2)
|
||||
gitlab-sidekiq-fetcher (0.8.0)
|
||||
sidekiq (~> 6.1)
|
||||
gitlab-styles (7.1.0)
|
||||
gitlab-styles (8.0.0)
|
||||
rubocop (~> 0.91, >= 0.91.1)
|
||||
rubocop-gitlab-security (~> 0.1.1)
|
||||
rubocop-graphql (~> 0.10)
|
||||
|
@ -580,7 +617,7 @@ GEM
|
|||
signet (~> 0.12)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-protobuf (3.21.3)
|
||||
google-protobuf (3.21.5)
|
||||
googleapis-common-protos-types (1.3.0)
|
||||
google-protobuf (~> 3.14)
|
||||
googleauth (0.14.0)
|
||||
|
@ -649,10 +686,10 @@ GEM
|
|||
guard (~> 2.1)
|
||||
guard-compat (~> 1.1)
|
||||
rspec (>= 2.99.0, < 4.0)
|
||||
haml (5.1.2)
|
||||
haml (5.2.2)
|
||||
temple (>= 0.8.0)
|
||||
tilt
|
||||
haml_lint (0.36.0)
|
||||
haml_lint (0.40.1)
|
||||
haml (>= 4.0, < 5.3)
|
||||
parallel (~> 1.10)
|
||||
rainbow
|
||||
|
@ -757,7 +794,7 @@ GEM
|
|||
rest-client (~> 2.0)
|
||||
launchy (2.5.0)
|
||||
addressable (~> 2.7)
|
||||
lefthook (1.1.0)
|
||||
lefthook (1.1.1)
|
||||
letter_opener (1.7.0)
|
||||
launchy (~> 2.2)
|
||||
letter_opener_web (2.0.0)
|
||||
|
@ -773,9 +810,9 @@ GEM
|
|||
tomlrb (>= 1.3, < 2.1)
|
||||
with_env (= 1.1.0)
|
||||
xml-simple (~> 1.1.9)
|
||||
licensee (9.14.1)
|
||||
licensee (9.15.2)
|
||||
dotenv (~> 2.0)
|
||||
octokit (~> 4.17)
|
||||
octokit (~> 4.20)
|
||||
reverse_markdown (~> 1.0)
|
||||
rugged (>= 0.24, < 2.0)
|
||||
thor (>= 0.19, < 2.0)
|
||||
|
@ -792,9 +829,11 @@ GEM
|
|||
loofah (2.18.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
lookbook (0.9.3)
|
||||
lookbook (1.0.3)
|
||||
actioncable
|
||||
css_parser
|
||||
htmlbeautifier (~> 1.3)
|
||||
htmlentities (~> 4.3.4)
|
||||
listen (~> 3.0)
|
||||
railties (>= 5.0)
|
||||
redcarpet (~> 3.5)
|
||||
|
@ -888,9 +927,10 @@ GEM
|
|||
train-core
|
||||
wmi-lite (~> 1.0)
|
||||
oj (3.13.21)
|
||||
omniauth (1.9.1)
|
||||
omniauth (2.1.0)
|
||||
hashie (>= 3.4.6)
|
||||
rack (>= 1.6.2, < 3)
|
||||
rack (>= 2.2.3)
|
||||
rack-protection
|
||||
omniauth-alicloud (1.0.1)
|
||||
omniauth-oauth2 (~> 1.7.1)
|
||||
omniauth-atlassian-oauth2 (0.2.0)
|
||||
|
@ -903,21 +943,13 @@ GEM
|
|||
omniauth-oauth2 (>= 1.5)
|
||||
omniauth-azure-activedirectory-v2 (1.0.0)
|
||||
omniauth-oauth2 (~> 1.7)
|
||||
omniauth-azure-oauth2 (0.0.10)
|
||||
jwt (>= 1.0, < 3.0)
|
||||
omniauth (~> 1.0)
|
||||
omniauth-oauth2 (~> 1.4)
|
||||
omniauth-dingtalk-oauth2 (1.0.1)
|
||||
omniauth-oauth2 (~> 1.7)
|
||||
omniauth-facebook (4.0.0)
|
||||
omniauth-oauth2 (~> 1.2)
|
||||
omniauth-github (1.4.0)
|
||||
omniauth (~> 1.5)
|
||||
omniauth-oauth2 (>= 1.4.0, < 2.0)
|
||||
omniauth-google-oauth2 (0.6.0)
|
||||
jwt (>= 2.0)
|
||||
omniauth (>= 1.1.1)
|
||||
omniauth-oauth2 (>= 1.5)
|
||||
omniauth-github (2.0.0)
|
||||
omniauth (~> 2.0)
|
||||
omniauth-oauth2 (~> 1.7.1)
|
||||
omniauth-oauth (1.2.0)
|
||||
oauth
|
||||
omniauth (>= 1.0, < 3)
|
||||
|
@ -926,12 +958,12 @@ GEM
|
|||
omniauth (>= 1.9, < 3)
|
||||
omniauth-oauth2-generic (0.2.2)
|
||||
omniauth-oauth2 (~> 1.0)
|
||||
omniauth-salesforce (1.0.5)
|
||||
omniauth (~> 1.0)
|
||||
omniauth-oauth2 (~> 1.0)
|
||||
omniauth-saml (1.10.0)
|
||||
omniauth (~> 1.3, >= 1.3.2)
|
||||
ruby-saml (~> 1.7)
|
||||
omniauth-rails_csrf_protection (1.0.1)
|
||||
actionpack (>= 4.2)
|
||||
omniauth (~> 2.0)
|
||||
omniauth-saml (2.0.0)
|
||||
omniauth (~> 2.0)
|
||||
ruby-saml (~> 1.9)
|
||||
omniauth-shibboleth (1.3.0)
|
||||
omniauth (>= 1.0.0)
|
||||
omniauth-twitter (1.4.0)
|
||||
|
@ -980,7 +1012,7 @@ GEM
|
|||
rspec (>= 2.14)
|
||||
term-ansicolor (~> 1.0)
|
||||
parallel (1.22.1)
|
||||
parser (3.1.2.0)
|
||||
parser (3.1.2.1)
|
||||
ast (~> 2.4.1)
|
||||
parslet (1.8.2)
|
||||
pastel (0.8.0)
|
||||
|
@ -988,7 +1020,7 @@ GEM
|
|||
peek (1.1.0)
|
||||
railties (>= 4.0.0)
|
||||
pg (1.4.1)
|
||||
pg_query (2.1.3)
|
||||
pg_query (2.1.4)
|
||||
google-protobuf (>= 3.19.2)
|
||||
plist (3.6.0)
|
||||
png_quantizator (0.2.1)
|
||||
|
@ -1019,13 +1051,13 @@ GEM
|
|||
tty-markdown
|
||||
tty-prompt
|
||||
public_suffix (4.0.7)
|
||||
puma (5.6.4)
|
||||
puma (5.6.5)
|
||||
nio4r (~> 2.0)
|
||||
puma_worker_killer (0.3.1)
|
||||
get_process_mem (~> 0.2)
|
||||
puma (>= 2.7)
|
||||
pyu-ruby-sasl (0.0.3.3)
|
||||
raabro (1.1.6)
|
||||
raabro (1.4.0)
|
||||
racc (1.6.0)
|
||||
rack (2.2.4)
|
||||
rack-accept (0.4.5)
|
||||
|
@ -1040,6 +1072,8 @@ GEM
|
|||
httpclient
|
||||
json-jwt (>= 1.11.0)
|
||||
rack (>= 2.1.0)
|
||||
rack-protection (2.2.2)
|
||||
rack
|
||||
rack-proxy (0.7.2)
|
||||
rack
|
||||
rack-test (1.1.0)
|
||||
|
@ -1083,7 +1117,7 @@ GEM
|
|||
randexp (0.1.7)
|
||||
rash_alt (0.4.12)
|
||||
hashie (>= 3.4)
|
||||
rb-fsevent (0.11.1)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rbtrace (0.4.14)
|
||||
|
@ -1098,7 +1132,7 @@ GEM
|
|||
json
|
||||
recursive-open-struct (1.1.3)
|
||||
redcarpet (3.5.1)
|
||||
redis (4.4.0)
|
||||
redis (4.7.1)
|
||||
redis-actionpack (5.3.0)
|
||||
actionpack (>= 5, < 8)
|
||||
redis-rack (>= 2.1.0, < 3)
|
||||
|
@ -1187,11 +1221,11 @@ GEM
|
|||
rubocop-ast (>= 0.6.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 2.0)
|
||||
rubocop-ast (1.19.1)
|
||||
rubocop-ast (1.21.0)
|
||||
parser (>= 3.1.1.0)
|
||||
rubocop-gitlab-security (0.1.1)
|
||||
rubocop (>= 0.51)
|
||||
rubocop-graphql (0.14.3)
|
||||
rubocop-graphql (0.14.6)
|
||||
rubocop (>= 0.87, < 2)
|
||||
rubocop-performance (1.9.2)
|
||||
rubocop (>= 0.90.0, < 2.0)
|
||||
|
@ -1269,12 +1303,12 @@ GEM
|
|||
shellany (0.0.1)
|
||||
shoulda-matchers (5.1.0)
|
||||
activesupport (>= 5.2.0)
|
||||
sidekiq (6.4.0)
|
||||
sidekiq (6.4.2)
|
||||
connection_pool (>= 2.2.2)
|
||||
rack (~> 2.0)
|
||||
redis (>= 4.2.0)
|
||||
sidekiq-cron (1.2.0)
|
||||
fugit (~> 1.1)
|
||||
sidekiq-cron (1.4.0)
|
||||
fugit (~> 1)
|
||||
sidekiq (>= 4.2.1)
|
||||
sigdump (0.2.4)
|
||||
signet (0.17.0)
|
||||
|
@ -1296,7 +1330,7 @@ GEM
|
|||
slack-messenger (2.3.4)
|
||||
snowplow-tracker (0.6.1)
|
||||
contracts (~> 0.7, <= 0.11)
|
||||
solargraph (0.45.0)
|
||||
solargraph (0.46.0)
|
||||
backport (~> 1.2)
|
||||
benchmark
|
||||
bundler (>= 1.17.2)
|
||||
|
@ -1314,7 +1348,7 @@ GEM
|
|||
sorted_set (1.0.3)
|
||||
rbtree
|
||||
set (~> 1.0)
|
||||
spamcheck (0.1.0)
|
||||
spamcheck (1.0.0)
|
||||
grpc (~> 1.0)
|
||||
spring (2.1.1)
|
||||
spring-commands-rspec (1.0.4)
|
||||
|
@ -1330,7 +1364,7 @@ GEM
|
|||
sqlite3 (1.4.2)
|
||||
ssh_data (1.3.0)
|
||||
ssrf_filter (1.0.7)
|
||||
stackprof (0.2.15)
|
||||
stackprof (0.2.21)
|
||||
state_machines (0.5.0)
|
||||
state_machines-activemodel (0.8.0)
|
||||
activemodel (>= 5.1)
|
||||
|
@ -1364,7 +1398,7 @@ GEM
|
|||
faraday (~> 1.0)
|
||||
text (1.3.1)
|
||||
thor (1.2.1)
|
||||
thrift (0.14.0)
|
||||
thrift (0.16.0)
|
||||
tilt (2.0.10)
|
||||
timecop (0.9.1)
|
||||
timeliness (0.3.10)
|
||||
|
@ -1432,7 +1466,7 @@ GEM
|
|||
validate_email (0.1.6)
|
||||
activemodel (>= 3.0)
|
||||
mail (>= 2.2.5)
|
||||
validate_url (1.0.13)
|
||||
validate_url (1.0.15)
|
||||
activemodel (>= 3.0.0)
|
||||
public_suffix
|
||||
validates_hostname (1.0.11)
|
||||
|
@ -1440,12 +1474,13 @@ GEM
|
|||
activesupport (>= 3.0)
|
||||
version_gem (1.0.0)
|
||||
version_sorter (2.2.4)
|
||||
view_component (2.61.0)
|
||||
view_component (2.71.0)
|
||||
activesupport (>= 5.0.0, < 8.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
method_source (~> 1.0)
|
||||
vmstat (2.3.0)
|
||||
warden (1.2.8)
|
||||
rack (>= 2.0.6)
|
||||
warden (1.2.9)
|
||||
rack (>= 2.0.9)
|
||||
warning (1.3.0)
|
||||
webauthn (2.3.0)
|
||||
android_key_attestation (~> 0.3.0)
|
||||
|
@ -1495,10 +1530,10 @@ DEPENDENCIES
|
|||
akismet (~> 3.0)
|
||||
apollo_upload_server (~> 2.1.0)
|
||||
asana (~> 0.10.13)
|
||||
asciidoctor (~> 2.0.10)
|
||||
asciidoctor (~> 2.0.17)
|
||||
asciidoctor-include-ext (~> 0.4.0)
|
||||
asciidoctor-kroki (~> 0.5.0)
|
||||
asciidoctor-plantuml (~> 0.0.12)
|
||||
asciidoctor-plantuml (~> 0.0.16)
|
||||
atlassian-jwt (~> 0.2.0)
|
||||
attr_encrypted (~> 3.1.0)
|
||||
autoprefixer-rails (= 10.2.5.1)
|
||||
|
@ -1512,12 +1547,13 @@ DEPENDENCIES
|
|||
bcrypt (~> 3.1, >= 3.1.14)
|
||||
benchmark-ips (~> 2.3.0)
|
||||
benchmark-memory (~> 0.1)
|
||||
better_errors (~> 2.9.0)
|
||||
better_errors (~> 2.9.1)
|
||||
bootsnap (~> 1.13.0)
|
||||
bootstrap_form (~> 4.2.0)
|
||||
browser (~> 4.2)
|
||||
bullet (~> 7.0.2)
|
||||
bundler-audit (~> 0.7.0.1)
|
||||
bundler-checksum (~> 0.1.0)!
|
||||
capybara (~> 3.35.3)
|
||||
capybara-screenshot (~> 1.0.22)
|
||||
carrierwave (~> 1.3)
|
||||
|
@ -1535,11 +1571,11 @@ DEPENDENCIES
|
|||
deprecation_toolkit (~> 1.5.1)
|
||||
derailed_benchmarks
|
||||
device_detector
|
||||
devise (~> 4.7.2)
|
||||
devise (~> 4.8.1)
|
||||
devise-pbkdf2-encryptable (~> 0.0.0)!
|
||||
devise-two-factor (~> 4.0.2)
|
||||
diff_match_patch (~> 0.1.0)
|
||||
diffy (~> 3.3)
|
||||
diffy (~> 3.4)
|
||||
discordrb-webhooks (~> 3.4)
|
||||
doorkeeper (~> 5.5.0.rc2)
|
||||
doorkeeper-openid_connect (~> 1.7.5)
|
||||
|
@ -1573,10 +1609,10 @@ DEPENDENCIES
|
|||
gettext (~> 3.3)
|
||||
gettext_i18n_rails (~> 1.8.0)
|
||||
gettext_i18n_rails_js (~> 1.3)
|
||||
gitaly (~> 15.3.0.pre.rc3)
|
||||
gitaly (~> 15.4.0.pre.rc2)
|
||||
github-markup (~> 1.7.0)
|
||||
gitlab-chronic (~> 0.10.5)
|
||||
gitlab-dangerfiles (~> 3.5.0)
|
||||
gitlab-dangerfiles (~> 3.5.2)
|
||||
gitlab-experiment (~> 0.7.1)
|
||||
gitlab-fog-azure-rm (~> 1.3.0)
|
||||
gitlab-labkit (~> 0.24.0)
|
||||
|
@ -1584,9 +1620,9 @@ DEPENDENCIES
|
|||
gitlab-mail_room (~> 0.0.9)
|
||||
gitlab-markup (~> 1.8.0)
|
||||
gitlab-net-dns (~> 0.9.1)
|
||||
gitlab-omniauth-openid-connect (~> 0.9.0)
|
||||
gitlab-omniauth-openid-connect (~> 0.10.0)
|
||||
gitlab-sidekiq-fetcher (= 0.8.0)
|
||||
gitlab-styles (~> 7.1.0)
|
||||
gitlab-styles (~> 8.0.0)
|
||||
gitlab_chronic_duration (~> 0.10.6.2)
|
||||
gitlab_omniauth-ldap (~> 2.2.0)
|
||||
gon (~> 6.4.0)
|
||||
|
@ -1605,7 +1641,7 @@ DEPENDENCIES
|
|||
grpc (~> 1.42.0)
|
||||
gssapi
|
||||
guard-rspec
|
||||
haml_lint (~> 0.36.0)
|
||||
haml_lint (~> 0.40.0)
|
||||
hamlit (~> 2.15.0)
|
||||
hangouts-chat (~> 0.0.5)
|
||||
hashie
|
||||
|
@ -1628,46 +1664,47 @@ DEPENDENCIES
|
|||
knapsack (~> 1.21.1)
|
||||
kramdown (~> 2.3.1)
|
||||
kubeclient (~> 4.9.3)
|
||||
lefthook (~> 1.1.0)
|
||||
lefthook (~> 1.1.1)
|
||||
letter_opener_web (~> 2.0.0)
|
||||
license_finder (~> 7.0)
|
||||
licensee (~> 9.14.1)
|
||||
licensee (~> 9.15)
|
||||
lockbox (~> 0.6.2)
|
||||
lograge (~> 0.5)
|
||||
loofah (~> 2.18.0)
|
||||
lookbook
|
||||
lookbook (~> 1.0)
|
||||
lru_redux
|
||||
mail (= 2.7.1)
|
||||
mail-smtp_pool (~> 0.1.0)!
|
||||
marginalia (~> 1.10.0)
|
||||
memory_profiler (~> 0.9)
|
||||
method_source (~> 1.0)
|
||||
microsoft_graph_mailer (~> 0.1.0)!
|
||||
mini_magick (~> 4.10.1)
|
||||
minitest (~> 5.11.0)
|
||||
multi_json (~> 1.14.1)
|
||||
net-ldap (~> 0.16.3)
|
||||
net-ntp
|
||||
nokogiri (~> 1.13.0)
|
||||
nokogiri (~> 1.13.8)
|
||||
oauth2 (~> 2.0)
|
||||
octokit (~> 4.15)
|
||||
ohai (~> 16.10)
|
||||
oj (~> 3.13.21)
|
||||
omniauth (~> 1.8)
|
||||
omniauth (~> 2.1.0)
|
||||
omniauth-alicloud (~> 1.0.1)
|
||||
omniauth-atlassian-oauth2 (~> 0.2.0)
|
||||
omniauth-auth0 (~> 2.0.0)
|
||||
omniauth-authentiq (~> 0.3.3)
|
||||
omniauth-azure-activedirectory-v2 (~> 1.0)
|
||||
omniauth-azure-oauth2 (~> 0.0.9)
|
||||
omniauth-azure-oauth2 (~> 0.0.9)!
|
||||
omniauth-cas3 (~> 1.1.4)!
|
||||
omniauth-dingtalk-oauth2 (~> 1.0)
|
||||
omniauth-facebook (~> 4.0.0)
|
||||
omniauth-github (~> 1.4)
|
||||
omniauth-github (= 2.0.0)
|
||||
omniauth-gitlab (~> 4.0.0)!
|
||||
omniauth-google-oauth2 (~> 0.6.0)
|
||||
omniauth-google-oauth2 (~> 1.0.1)!
|
||||
omniauth-oauth2-generic (~> 0.2.2)
|
||||
omniauth-salesforce (~> 1.0.5)
|
||||
omniauth-saml (~> 1.10)
|
||||
omniauth-rails_csrf_protection
|
||||
omniauth-salesforce (~> 1.0.5)!
|
||||
omniauth-saml (~> 2.0.0)
|
||||
omniauth-shibboleth (~> 1.3.0)
|
||||
omniauth-twitter (~> 1.4)
|
||||
omniauth_crowd (~> 2.4.0)!
|
||||
|
@ -1684,7 +1721,7 @@ DEPENDENCIES
|
|||
pry-byebug
|
||||
pry-rails (~> 0.3.9)
|
||||
pry-shell (~> 0.5.1)
|
||||
puma (~> 5.6.4)
|
||||
puma (~> 5.6.5)
|
||||
puma_worker_killer (~> 0.3.1)
|
||||
rack (~> 2.2.4)
|
||||
rack-attack (~> 6.6.0)
|
||||
|
@ -1700,7 +1737,7 @@ DEPENDENCIES
|
|||
rdoc (~> 6.3.2)
|
||||
re2 (~> 1.4.0)
|
||||
recaptcha (~> 4.11)
|
||||
redis (~> 4.4.0)
|
||||
redis (~> 4.7.0)
|
||||
redis-actionpack (~> 5.3.0)
|
||||
redis-namespace (~> 1.8.1)
|
||||
request_store (~> 1.5)
|
||||
|
@ -1735,8 +1772,8 @@ DEPENDENCIES
|
|||
sentry-sidekiq (~> 5.1.1)
|
||||
settingslogic (~> 2.0.9)
|
||||
shoulda-matchers (~> 5.1.0)
|
||||
sidekiq (~> 6.4)
|
||||
sidekiq-cron (~> 1.2)
|
||||
sidekiq (~> 6.4.0)
|
||||
sidekiq-cron (~> 1.4.0)
|
||||
sigdump (~> 0.2.4)
|
||||
simple_po_parser (~> 1.1.6)
|
||||
simplecov (~> 0.21)
|
||||
|
@ -1744,21 +1781,21 @@ DEPENDENCIES
|
|||
simplecov-lcov (~> 0.8.0)
|
||||
slack-messenger (~> 2.3.4)
|
||||
snowplow-tracker (~> 0.6.1)
|
||||
solargraph (~> 0.45.0)
|
||||
spamcheck (~> 0.1.0)
|
||||
solargraph (~> 0.46.0)
|
||||
spamcheck (~> 1.0.0)
|
||||
spring (~> 2.1.0)
|
||||
spring-commands-rspec (~> 1.0.4)
|
||||
sprite-factory (~> 1.7)
|
||||
sprockets (~> 3.7.0)
|
||||
ssh_data (~> 1.3)
|
||||
stackprof (~> 0.2.15)
|
||||
stackprof (~> 0.2.21)
|
||||
state_machines-activerecord (~> 0.8.0)
|
||||
sys-filesystem (~> 1.4.3)
|
||||
tanuki_emoji (~> 0.6)
|
||||
terser (= 1.0.2)
|
||||
test-prof (~> 1.0.7)
|
||||
test_file_finder (~> 0.1.3)
|
||||
thrift (>= 0.14.0)
|
||||
thrift (>= 0.16.0)
|
||||
timecop (~> 0.9.1)
|
||||
timfel-krb5-auth (~> 0.8)
|
||||
toml-rb (~> 2.0)
|
||||
|
@ -1771,7 +1808,7 @@ DEPENDENCIES
|
|||
valid_email (~> 0.1)
|
||||
validates_hostname (~> 1.0.11)
|
||||
version_sorter (~> 2.2.4)
|
||||
view_component (~> 2.61)
|
||||
view_component (~> 2.71.0)
|
||||
vmstat (~> 2.3.0)
|
||||
warning (~> 1.3.0)
|
||||
webauthn (~> 2.3)
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
15.3.4
|
||||
15.4.2
|
|
@ -140,6 +140,7 @@ export default {
|
|||
|
||||
<template #cell(action)="{ item: { revokePath } }">
|
||||
<gl-button
|
||||
v-if="revokePath"
|
||||
category="tertiary"
|
||||
:aria-label="$options.i18n.revokeButton"
|
||||
:data-confirm="modalMessage"
|
||||
|
|
|
@ -12,8 +12,6 @@ export const FIELDS = [
|
|||
key: 'name',
|
||||
label: __('Token name'),
|
||||
sortable: true,
|
||||
tdClass: `gl-text-black-normal`,
|
||||
thClass: `gl-text-black-normal`,
|
||||
},
|
||||
{
|
||||
formatter(scopes) {
|
||||
|
@ -22,40 +20,30 @@ export const FIELDS = [
|
|||
key: 'scopes',
|
||||
label: __('Scopes'),
|
||||
sortable: true,
|
||||
tdClass: `gl-text-black-normal`,
|
||||
thClass: `gl-text-black-normal`,
|
||||
},
|
||||
{
|
||||
key: 'createdAt',
|
||||
label: s__('AccessTokens|Created'),
|
||||
sortable: true,
|
||||
tdClass: `gl-text-black-normal`,
|
||||
thClass: `gl-text-black-normal`,
|
||||
},
|
||||
{
|
||||
key: 'lastUsedAt',
|
||||
label: __('Last Used'),
|
||||
sortable: true,
|
||||
tdClass: `gl-text-black-normal`,
|
||||
thClass: `gl-text-black-normal`,
|
||||
},
|
||||
{
|
||||
key: 'expiresAt',
|
||||
label: __('Expires'),
|
||||
sortable: true,
|
||||
tdClass: `gl-text-black-normal`,
|
||||
thClass: `gl-text-black-normal`,
|
||||
},
|
||||
{
|
||||
key: 'role',
|
||||
label: __('Role'),
|
||||
tdClass: `gl-text-black-normal`,
|
||||
thClass: `gl-text-black-normal`,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
key: 'action',
|
||||
label: __('Action'),
|
||||
thClass: `gl-text-black-normal`,
|
||||
tdClass: 'gl-py-3!',
|
||||
},
|
||||
];
|
||||
|
|
|
@ -16,6 +16,16 @@ export default {
|
|||
import('ee_component/access_tokens/components/max_expiration_date_message.vue'),
|
||||
},
|
||||
props: {
|
||||
defaultDateOffset: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 30,
|
||||
},
|
||||
description: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
inputAttrs: {
|
||||
type: Object,
|
||||
required: false,
|
||||
|
@ -33,9 +43,15 @@ export default {
|
|||
},
|
||||
},
|
||||
computed: {
|
||||
in30Days() {
|
||||
const today = new Date();
|
||||
return getDateInFuture(today, 30);
|
||||
defaultDate() {
|
||||
const defaultDate = getDateInFuture(new Date(), this.defaultDateOffset);
|
||||
// The maximum date can be set by admins. If the maximum date is sooner
|
||||
// than the default expiration date we use the maximum date as default
|
||||
// expiration date.
|
||||
if (this.maxDate && this.maxDate < defaultDate) {
|
||||
return this.maxDate;
|
||||
}
|
||||
return defaultDate;
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -47,7 +63,7 @@ export default {
|
|||
:target="null"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
:default-date="in30Days"
|
||||
:default-date="defaultDate"
|
||||
show-clear-button
|
||||
:input-name="inputAttrs.name"
|
||||
:input-id="inputAttrs.id"
|
||||
|
@ -55,7 +71,10 @@ export default {
|
|||
data-qa-selector="expiry_date_field"
|
||||
/>
|
||||
<template #description>
|
||||
<max-expiration-date-message :max-date="maxDate" />
|
||||
<template v-if="description">
|
||||
{{ description }}
|
||||
</template>
|
||||
<max-expiration-date-message v-else :max-date="maxDate" />
|
||||
</template>
|
||||
</gl-form-group>
|
||||
</template>
|
||||
|
|
|
@ -42,7 +42,6 @@ export default {
|
|||
formInputGroupProps() {
|
||||
return {
|
||||
id: this.$options.tokenInputId,
|
||||
class: 'qa-created-access-token',
|
||||
'data-qa-selector': 'created_access_token_field',
|
||||
name: this.$options.tokenInputId,
|
||||
};
|
||||
|
@ -82,7 +81,14 @@ export default {
|
|||
|
||||
this.infoAlert = createAlert({ message: this.alertInfoMessage, variant: VARIANT_INFO });
|
||||
|
||||
this.form.reset();
|
||||
// Selectively reset all input fields except for the date picker and submit.
|
||||
// The form token creation is not controlled by Vue.
|
||||
this.form.querySelectorAll('input[type=text]:not([id$=expires_at])').forEach((el) => {
|
||||
el.value = '';
|
||||
});
|
||||
this.form.querySelectorAll('input[type=checkbox]').forEach((el) => {
|
||||
el.checked = false;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -61,7 +61,7 @@ export const initExpiresAtField = () => {
|
|||
}
|
||||
|
||||
const { expiresAt: inputAttrs } = parseRailsFormFields(el);
|
||||
const { minDate, maxDate } = el.dataset;
|
||||
const { minDate, maxDate, defaultDateOffset, description } = el.dataset;
|
||||
|
||||
return new Vue({
|
||||
el,
|
||||
|
@ -71,6 +71,8 @@ export const initExpiresAtField = () => {
|
|||
inputAttrs,
|
||||
minDate: minDate ? new Date(minDate) : undefined,
|
||||
maxDate: maxDate ? new Date(maxDate) : undefined,
|
||||
defaultDateOffset: defaultDateOffset ? Number(defaultDateOffset) : undefined,
|
||||
description,
|
||||
},
|
||||
});
|
||||
},
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
<script>
|
||||
import { GlLink, GlSprintf } from '@gitlab/ui';
|
||||
import { helpPagePath } from '~/helpers/help_page_helper';
|
||||
import { s__ } from '~/locale';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GlLink,
|
||||
GlSprintf,
|
||||
},
|
||||
props: {
|
||||
message: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
i18n: {
|
||||
fieldHelpText: s__(
|
||||
'AdminSettings|If no unit is written, it defaults to seconds. For example, these are all equivalent: %{oneDayInSeconds}, %{oneDayInHoursHumanReadable}, or %{oneDayHumanReadable}. Minimum value is two hours. %{linkStart}Learn more.%{linkEnd}',
|
||||
),
|
||||
},
|
||||
computed: {
|
||||
helpUrl() {
|
||||
return helpPagePath('ci/runners/configure_runners', {
|
||||
anchor: 'authentication-token-security',
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<template>
|
||||
<p>
|
||||
{{ message }}
|
||||
<gl-sprintf :message="$options.i18n.fieldHelpText">
|
||||
<template #oneDayInSeconds>
|
||||
<!-- eslint-disable-next-line @gitlab/vue-require-i18n-strings -->
|
||||
<code>86400</code>
|
||||
</template>
|
||||
<template #oneDayInHoursHumanReadable>
|
||||
<!-- eslint-disable-next-line @gitlab/vue-require-i18n-strings -->
|
||||
<code>24 hours</code>
|
||||
</template>
|
||||
<template #oneDayHumanReadable>
|
||||
<!-- eslint-disable-next-line @gitlab/vue-require-i18n-strings -->
|
||||
<code>1 day</code>
|
||||
</template>
|
||||
<template #link>
|
||||
<gl-link :href="helpUrl" target="_blank">{{ __('Learn more.') }}</gl-link>
|
||||
</template>
|
||||
</gl-sprintf>
|
||||
</p>
|
||||
</template>
|
|
@ -0,0 +1,123 @@
|
|||
<script>
|
||||
import { GlFormGroup } from '@gitlab/ui';
|
||||
import { s__ } from '~/locale';
|
||||
import ChronicDurationInput from '~/vue_shared/components/chronic_duration_input.vue';
|
||||
import ExpirationIntervalDescription from './expiration_interval_description.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ChronicDurationInput,
|
||||
ExpirationIntervalDescription,
|
||||
GlFormGroup,
|
||||
},
|
||||
props: {
|
||||
instanceRunnerExpirationInterval: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
groupRunnerExpirationInterval: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
projectRunnerExpirationInterval: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
perInput: {
|
||||
instance: {
|
||||
value: this.instanceRunnerExpirationInterval,
|
||||
valid: null,
|
||||
feedback: '',
|
||||
},
|
||||
group: {
|
||||
value: this.groupRunnerExpirationInterval,
|
||||
valid: null,
|
||||
feedback: '',
|
||||
},
|
||||
project: {
|
||||
value: this.projectRunnerExpirationInterval,
|
||||
valid: null,
|
||||
feedback: '',
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
updateValidity(obj, event) {
|
||||
/* eslint-disable no-param-reassign */
|
||||
obj.valid = event.valid;
|
||||
obj.feedback = event.feedback;
|
||||
/* eslint-enable no-param-reassign */
|
||||
},
|
||||
},
|
||||
i18n: {
|
||||
instanceRunnerTitle: s__('AdminSettings|Instance runners expiration'),
|
||||
instanceRunnerDescription: s__(
|
||||
'AdminSettings|Set the expiration time of authentication tokens of newly registered instance runners. Authentication tokens are automatically reset at these intervals.',
|
||||
),
|
||||
groupRunnerTitle: s__('AdminSettings|Group runners expiration'),
|
||||
groupRunnerDescription: s__(
|
||||
'AdminSettings|Set the expiration time of authentication tokens of newly registered group runners.',
|
||||
),
|
||||
projectRunnerTitle: s__('AdminSettings|Project runners expiration'),
|
||||
projectRunnerDescription: s__(
|
||||
'AdminSettings|Set the expiration time of authentication tokens of newly registered project runners.',
|
||||
),
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<gl-form-group
|
||||
:label="$options.i18n.instanceRunnerTitle"
|
||||
:invalid-feedback="perInput.instance.feedback"
|
||||
:state="perInput.instance.valid"
|
||||
>
|
||||
<template #description>
|
||||
<expiration-interval-description :message="$options.i18n.instanceRunnerDescription" />
|
||||
</template>
|
||||
<chronic-duration-input
|
||||
v-model="perInput.instance.value"
|
||||
name="application_setting[runner_token_expiration_interval]"
|
||||
:state="perInput.instance.valid"
|
||||
@valid="updateValidity(perInput.instance, $event)"
|
||||
/>
|
||||
</gl-form-group>
|
||||
<gl-form-group
|
||||
:label="$options.i18n.groupRunnerTitle"
|
||||
:invalid-feedback="perInput.group.feedback"
|
||||
:state="perInput.group.valid"
|
||||
>
|
||||
<template #description>
|
||||
<expiration-interval-description :message="$options.i18n.groupRunnerDescription" />
|
||||
</template>
|
||||
<chronic-duration-input
|
||||
v-model="perInput.group.value"
|
||||
name="application_setting[group_runner_token_expiration_interval]"
|
||||
:state="perInput.group.valid"
|
||||
@valid="updateValidity(perInput.group, $event)"
|
||||
/>
|
||||
</gl-form-group>
|
||||
<gl-form-group
|
||||
:label="$options.i18n.projectRunnerTitle"
|
||||
:invalid-feedback="perInput.project.feedback"
|
||||
:state="perInput.project.valid"
|
||||
>
|
||||
<template #description>
|
||||
<expiration-interval-description :message="$options.i18n.projectRunnerDescription" />
|
||||
</template>
|
||||
<chronic-duration-input
|
||||
v-model="perInput.project.value"
|
||||
name="application_setting[project_runner_token_expiration_interval]"
|
||||
:state="perInput.project.valid"
|
||||
@valid="updateValidity(perInput.project, $event)"
|
||||
/>
|
||||
</gl-form-group>
|
||||
</div>
|
||||
</template>
|
|
@ -0,0 +1,32 @@
|
|||
import Vue from 'vue';
|
||||
import { parseInterval } from '~/runner/utils';
|
||||
import ExpirationIntervals from './components/expiration_intervals.vue';
|
||||
|
||||
const initRunnerTokenExpirationIntervals = (selector = '#js-runner-token-expiration-intervals') => {
|
||||
const el = document.querySelector(selector);
|
||||
|
||||
if (!el) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const {
|
||||
instanceRunnerTokenExpirationInterval,
|
||||
groupRunnerTokenExpirationInterval,
|
||||
projectRunnerTokenExpirationInterval,
|
||||
} = el.dataset;
|
||||
|
||||
return new Vue({
|
||||
el,
|
||||
render(h) {
|
||||
return h(ExpirationIntervals, {
|
||||
props: {
|
||||
instanceRunnerExpirationInterval: parseInterval(instanceRunnerTokenExpirationInterval),
|
||||
groupRunnerExpirationInterval: parseInterval(groupRunnerTokenExpirationInterval),
|
||||
projectRunnerExpirationInterval: parseInterval(projectRunnerTokenExpirationInterval),
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export default initRunnerTokenExpirationIntervals;
|
141
app/assets/javascripts/admin/topics/components/merge_topics.vue
Normal file
141
app/assets/javascripts/admin/topics/components/merge_topics.vue
Normal file
|
@ -0,0 +1,141 @@
|
|||
<script>
|
||||
import { GlAlert, GlButton, GlModal, GlModalDirective, GlSprintf } from '@gitlab/ui';
|
||||
import { __, s__ } from '~/locale';
|
||||
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
|
||||
import csrf from '~/lib/utils/csrf';
|
||||
import TopicSelect from './topic_select.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GlAlert,
|
||||
GlButton,
|
||||
GlModal,
|
||||
GlSprintf,
|
||||
TopicSelect,
|
||||
},
|
||||
directives: {
|
||||
GlModal: GlModalDirective,
|
||||
},
|
||||
inject: ['path'],
|
||||
data() {
|
||||
return {
|
||||
sourceTopic: {},
|
||||
targetTopic: {},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
sourceTopicId() {
|
||||
return getIdFromGraphQLId(this.sourceTopic?.id);
|
||||
},
|
||||
targetTopicId() {
|
||||
return getIdFromGraphQLId(this.targetTopic?.id);
|
||||
},
|
||||
validSelectedTopics() {
|
||||
return (
|
||||
Object.keys(this.sourceTopic).length &&
|
||||
Object.keys(this.targetTopic).length &&
|
||||
this.sourceTopic !== this.targetTopic
|
||||
);
|
||||
},
|
||||
actionPrimary() {
|
||||
return {
|
||||
text: __('Merge'),
|
||||
attributes: {
|
||||
variant: 'danger',
|
||||
disabled: !this.validSelectedTopics,
|
||||
},
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
selectSourceTopic(topic) {
|
||||
this.sourceTopic = topic;
|
||||
},
|
||||
selectTargetTopic(topic) {
|
||||
this.targetTopic = topic;
|
||||
},
|
||||
mergeTopics() {
|
||||
this.$refs.mergeForm.submit();
|
||||
},
|
||||
},
|
||||
i18n: {
|
||||
title: s__('MergeTopics|Merge topics'),
|
||||
body: s__(
|
||||
'MergeTopics|Move all assigned projects from the source topic to the target topic and remove the source topic.',
|
||||
),
|
||||
sourceTopic: s__('MergeTopics|Source topic'),
|
||||
targetTopic: s__('MergeTopics|Target topic'),
|
||||
warningTitle: s__('MergeTopics|Merging topics will cause the following:'),
|
||||
warningBody: s__('MergeTopics|This action cannot be undone.'),
|
||||
warningRemoveTopic: s__('MergeTopics|%{sourceTopic} will be removed'),
|
||||
warningMoveProjects: s__('MergeTopics|All assigned projects will be moved to %{targetTopic}'),
|
||||
},
|
||||
modal: {
|
||||
id: 'merge-topics',
|
||||
actionSecondary: {
|
||||
text: __('Cancel'),
|
||||
attributes: {
|
||||
variant: 'default',
|
||||
},
|
||||
},
|
||||
},
|
||||
csrf,
|
||||
};
|
||||
</script>
|
||||
<template>
|
||||
<div class="gl-mr-3">
|
||||
<gl-button v-gl-modal="$options.modal.id" category="secondary">{{
|
||||
$options.i18n.title
|
||||
}}</gl-button>
|
||||
<gl-modal
|
||||
:title="$options.i18n.title"
|
||||
:action-primary="actionPrimary"
|
||||
:action-secondary="$options.modal.actionSecondary"
|
||||
:modal-id="$options.modal.id"
|
||||
size="sm"
|
||||
@primary="mergeTopics"
|
||||
>
|
||||
<p>{{ $options.i18n.body }}</p>
|
||||
<topic-select
|
||||
:selected-topic="sourceTopic"
|
||||
:label-text="$options.i18n.sourceTopic"
|
||||
@click="selectSourceTopic"
|
||||
/>
|
||||
<topic-select
|
||||
:selected-topic="targetTopic"
|
||||
:label-text="$options.i18n.targetTopic"
|
||||
@click="selectTargetTopic"
|
||||
/>
|
||||
<gl-alert
|
||||
v-if="validSelectedTopics"
|
||||
:title="$options.i18n.warningTitle"
|
||||
:dismissible="false"
|
||||
variant="danger"
|
||||
>
|
||||
<ul>
|
||||
<li>
|
||||
<gl-sprintf :message="$options.i18n.warningRemoveTopic">
|
||||
<template #sourceTopic>
|
||||
<strong>{{ sourceTopic.name }}</strong>
|
||||
</template>
|
||||
</gl-sprintf>
|
||||
</li>
|
||||
<li>
|
||||
<gl-sprintf :message="$options.i18n.warningMoveProjects">
|
||||
<template #targetTopic>
|
||||
<strong>{{ targetTopic.name }}</strong>
|
||||
</template>
|
||||
</gl-sprintf>
|
||||
</li>
|
||||
</ul>
|
||||
{{ $options.i18n.warningBody }}
|
||||
</gl-alert>
|
||||
<form ref="mergeForm" method="post" :action="path">
|
||||
<input type="hidden" name="_method" value="post" />
|
||||
<input type="hidden" name="authenticity_token" :value="$options.csrf.token" />
|
||||
<input type="hidden" name="source_topic_id" :value="sourceTopicId" />
|
||||
<input type="hidden" name="target_topic_id" :value="targetTopicId" />
|
||||
</form>
|
||||
</gl-modal>
|
||||
</div>
|
||||
</template>
|
106
app/assets/javascripts/admin/topics/components/topic_select.vue
Normal file
106
app/assets/javascripts/admin/topics/components/topic_select.vue
Normal file
|
@ -0,0 +1,106 @@
|
|||
<script>
|
||||
import {
|
||||
GlAvatarLabeled,
|
||||
GlDropdown,
|
||||
GlDropdownItem,
|
||||
GlDropdownText,
|
||||
GlSearchBoxByType,
|
||||
} from '@gitlab/ui';
|
||||
import { s__ } from '~/locale';
|
||||
import { AVATAR_SHAPE_OPTION_RECT } from '~/vue_shared/constants';
|
||||
import searchProjectTopics from '~/graphql_shared/queries/project_topics_search.query.graphql';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GlAvatarLabeled,
|
||||
GlDropdown,
|
||||
GlDropdownItem,
|
||||
GlDropdownText,
|
||||
GlSearchBoxByType,
|
||||
},
|
||||
props: {
|
||||
selectedTopic: {
|
||||
type: Object,
|
||||
required: false,
|
||||
default: () => ({}),
|
||||
},
|
||||
labelText: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
apollo: {
|
||||
topics: {
|
||||
query: searchProjectTopics,
|
||||
variables() {
|
||||
return {
|
||||
search: this.search,
|
||||
};
|
||||
},
|
||||
update(data) {
|
||||
return data.topics?.nodes || [];
|
||||
},
|
||||
debounce: 250,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
topics: [],
|
||||
search: '',
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
loading() {
|
||||
return this.$apollo.queries.topics.loading;
|
||||
},
|
||||
isResultEmpty() {
|
||||
return this.topics.length === 0;
|
||||
},
|
||||
dropdownText() {
|
||||
if (Object.keys(this.selectedTopic).length) {
|
||||
return this.selectedTopic.name;
|
||||
}
|
||||
|
||||
return this.$options.i18n.dropdownText;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
selectTopic(topic) {
|
||||
this.$emit('click', topic);
|
||||
},
|
||||
},
|
||||
i18n: {
|
||||
dropdownText: s__('TopicSelect|Select a topic'),
|
||||
searchPlaceholder: s__('TopicSelect|Search topics'),
|
||||
emptySearchResult: s__('TopicSelect|No matching results'),
|
||||
},
|
||||
AVATAR_SHAPE_OPTION_RECT,
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<label v-if="labelText">{{ labelText }}</label>
|
||||
<gl-dropdown block :text="dropdownText">
|
||||
<gl-search-box-by-type
|
||||
v-model="search"
|
||||
:is-loading="loading"
|
||||
:placeholder="$options.i18n.searchPlaceholder"
|
||||
/>
|
||||
<gl-dropdown-item v-for="topic in topics" :key="topic.id" @click="selectTopic(topic)">
|
||||
<gl-avatar-labeled
|
||||
:label="topic.title"
|
||||
:sub-label="topic.name"
|
||||
:src="topic.avatarUrl"
|
||||
:entity-name="topic.name"
|
||||
:size="32"
|
||||
:shape="$options.AVATAR_SHAPE_OPTION_RECT"
|
||||
/>
|
||||
</gl-dropdown-item>
|
||||
<gl-dropdown-text v-if="isResultEmpty && !loading">
|
||||
<span class="gl-text-gray-500">{{ $options.i18n.emptySearchResult }}</span>
|
||||
</gl-dropdown-text>
|
||||
</gl-dropdown>
|
||||
</div>
|
||||
</template>
|
|
@ -1,7 +1,20 @@
|
|||
import Vue from 'vue';
|
||||
import VueApollo from 'vue-apollo';
|
||||
import createDefaultClient from '~/lib/graphql';
|
||||
import showToast from '~/vue_shared/plugins/global_toast';
|
||||
import RemoveAvatar from './components/remove_avatar.vue';
|
||||
import MergeTopics from './components/merge_topics.vue';
|
||||
|
||||
export default () => {
|
||||
const toasts = document.querySelectorAll('.js-toast-message');
|
||||
toasts.forEach((toast) => showToast(toast.dataset.message));
|
||||
|
||||
Vue.use(VueApollo);
|
||||
|
||||
const apolloProvider = new VueApollo({
|
||||
defaultClient: createDefaultClient(),
|
||||
});
|
||||
|
||||
export const initRemoveAvatar = () => {
|
||||
const el = document.querySelector('.js-remove-topic-avatar');
|
||||
|
||||
if (!el) {
|
||||
|
@ -21,3 +34,20 @@ export default () => {
|
|||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const initMergeTopics = () => {
|
||||
const el = document.querySelector('.js-merge-topics');
|
||||
|
||||
if (!el) return false;
|
||||
|
||||
const { path } = el.dataset;
|
||||
|
||||
return new Vue({
|
||||
el,
|
||||
apolloProvider,
|
||||
provide: { path },
|
||||
render(createElement) {
|
||||
return createElement(MergeTopics);
|
||||
},
|
||||
});
|
||||
};
|
||||
|
|
|
@ -109,7 +109,7 @@ export default {
|
|||
v-for="template in templates"
|
||||
:key="template.key"
|
||||
data-qa-selector="incident_templates_item"
|
||||
:is-check-item="true"
|
||||
is-check-item
|
||||
:is-checked="isTemplateSelected(template.key)"
|
||||
@click="selectIssueTemplate(template.key)"
|
||||
>
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
<script>
|
||||
import { GlDaterangePicker, GlSprintf } from '@gitlab/ui';
|
||||
import { getDayDifference } from '~/lib/utils/datetime_utility';
|
||||
import { __, sprintf } from '~/locale';
|
||||
import { OFFSET_DATE_BY_ONE } from '../constants';
|
||||
import { GlDaterangePicker } from '@gitlab/ui';
|
||||
import { n__, __, sprintf } from '~/locale';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GlDaterangePicker,
|
||||
GlSprintf,
|
||||
},
|
||||
props: {
|
||||
show: {
|
||||
|
@ -69,9 +66,10 @@ export default {
|
|||
this.$emit('change', { startDate, endDate });
|
||||
},
|
||||
},
|
||||
numberOfDays() {
|
||||
const dayDifference = getDayDifference(this.startDate, this.endDate);
|
||||
return this.includeSelectedDate ? dayDifference + OFFSET_DATE_BY_ONE : dayDifference;
|
||||
},
|
||||
methods: {
|
||||
numberOfDays(daysSelected) {
|
||||
return n__('1 day selected', '%d days selected', daysSelected);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -83,7 +81,7 @@ export default {
|
|||
>
|
||||
<gl-daterange-picker
|
||||
v-model="dateRange"
|
||||
class="d-flex flex-column flex-lg-row"
|
||||
class="gl-display-flex gl-flex-direction-column gl-lg-flex-direction-row"
|
||||
:default-start-date="startDate"
|
||||
:default-end-date="endDate"
|
||||
:default-min-date="minDate"
|
||||
|
@ -93,12 +91,12 @@ export default {
|
|||
:tooltip="maxDateRangeTooltip"
|
||||
theme="animate-picker"
|
||||
start-picker-class="js-daterange-picker-from gl-display-flex gl-flex-direction-column gl-lg-flex-direction-row gl-lg-align-items-center gl-lg-mr-3 gl-mb-2 gl-lg-mb-0"
|
||||
end-picker-class="js-daterange-picker-to d-flex flex-column flex-lg-row align-items-lg-center gl-mb-2 gl-lg-mb-0"
|
||||
end-picker-class="js-daterange-picker-to gl-display-flex gl-flex-direction-column gl-lg-flex-direction-row gl-lg-align-items-center gl-mb-2 gl-lg-mb-0"
|
||||
label-class="gl-mb-2 gl-lg-mb-0"
|
||||
>
|
||||
<gl-sprintf :message="n__('1 day selected', '%d days selected', numberOfDays)">
|
||||
<template #numberOfDays>{{ numberOfDays }}</template>
|
||||
</gl-sprintf>
|
||||
<template #default="{ daysSelected }">
|
||||
{{ numberOfDays(daysSelected) }}
|
||||
</template>
|
||||
</gl-daterange-picker>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
import { masks } from 'dateformat';
|
||||
import { masks } from '~/lib/dateformat';
|
||||
import { s__ } from '~/locale';
|
||||
|
||||
export const DATE_RANGE_LIMIT = 180;
|
||||
export const OFFSET_DATE_BY_ONE = 1;
|
||||
export const PROJECTS_PER_PAGE = 50;
|
||||
|
||||
const { isoDate, mediumDate } = masks;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import dateFormat from 'dateformat';
|
||||
import { hideFlash } from '~/flash';
|
||||
import dateFormat from '~/lib/dateformat';
|
||||
import { slugify } from '~/lib/utils/text_utility';
|
||||
import { urlQueryToFilter } from '~/vue_shared/components/filtered_search_bar/filtered_search_utils';
|
||||
import { dateFormats } from './constants';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { masks } from 'dateformat';
|
||||
import { get } from 'lodash';
|
||||
import { masks } from '~/lib/dateformat';
|
||||
import { formatDate } from '~/lib/utils/datetime_utility';
|
||||
|
||||
const { isoDate } = masks;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue