Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab/ci/review.gitlab-ci.yml')
-rw-r--r--.gitlab/ci/review.gitlab-ci.yml44
1 files changed, 40 insertions, 4 deletions
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index b2cd9d61fd8..4f51409d6a8 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -5,7 +5,8 @@ review-cleanup:
extends:
- .default-retry
- .review:rules:review-cleanup
- image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/ruby-3.0:gcloud-383-kubectl-1.23-helm-3.5
+ image: ${REVIEW_APPS_IMAGE}
+ 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: prepare
environment:
name: review/${CI_COMMIT_REF_SLUG}${SCHEDULE_TYPE} # No separator for SCHEDULE_TYPE so it's compatible as before and looks nice without it
@@ -22,11 +23,42 @@ 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: build-assets-image
artifacts: false
# These variables are set in the pipeline schedules.
@@ -37,7 +69,8 @@ start-review-app-pipeline:
DAST_RUN: $DAST_RUN
trigger:
include:
- - local: .gitlab/ci/review-apps/main.gitlab-ci.yml
+ - artifact: review-app-pipeline.yml
+ job: review-app-pipeline-generate
strategy: depend
danger-review:
@@ -52,12 +85,13 @@ danger-review:
- bundle_install_script "--with danger"
- run_timed_command "retry yarn install --frozen-lockfile"
script:
+ # ${DANGER_DANGERFILE} is used by Jihulab for customizing danger support: https://jihulab.com/gitlab-cn/gitlab/-/blob/main-jh/jh/.gitlab-ci.yml
- >
if [ -z "$DANGER_GITLAB_API_TOKEN" ]; then
run_timed_command danger_as_local
else
danger_id=$(echo -n ${DANGER_GITLAB_API_TOKEN} | md5sum | awk '{print $1}' | cut -c5-10)
- run_timed_command "bundle exec danger --fail-on-errors=true --verbose --danger_id=${danger_id}"
+ run_timed_command "bundle exec danger --fail-on-errors=true --verbose --danger_id=\"${danger_id}\" --dangerfile=\"${DANGER_DANGERFILE:-Dangerfile}\""
fi
danger-review-local:
@@ -70,6 +104,8 @@ danger-review-local:
reviewers-recommender:
extends:
- .default-retry
- - .review:rules:reviewers-recommender
+ # extends generated values cannot overwrite values from included files
+ # Use !reference as a workaround here
+ rules: !reference [".review:rules:reviewers-recommender", rules]
stage: test
needs: []