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:
authorGitLab Bot <gitlab-bot@gitlab.com>2024-01-02 18:10:19 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2024-01-02 18:10:19 +0300
commitcef74ed0434b53fde0d7dcc2507b6f1639a63e7d (patch)
tree300bc30b6c4272cba3ab65297ede18bfffba2bd2 /.gitlab/ci
parentecdd26856c46b1e9e0c500701b36b6ae338e18a0 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to '.gitlab/ci')
-rw-r--r--.gitlab/ci/as-if-foss.gitlab-ci.yml70
-rw-r--r--.gitlab/ci/qa-common/variables.gitlab-ci.yml1
-rw-r--r--.gitlab/ci/qa.gitlab-ci.yml5
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml81
-rw-r--r--.gitlab/ci/setup.gitlab-ci.yml6
5 files changed, 119 insertions, 44 deletions
diff --git a/.gitlab/ci/as-if-foss.gitlab-ci.yml b/.gitlab/ci/as-if-foss.gitlab-ci.yml
new file mode 100644
index 00000000000..c1ba9d01c77
--- /dev/null
+++ b/.gitlab/ci/as-if-foss.gitlab-ci.yml
@@ -0,0 +1,70 @@
+prepare-as-if-foss-branch:
+ extends:
+ - .as-if-foss:rules:start-as-if-foss
+ stage: prepare
+ needs: []
+ variables:
+ AS_IF_FOSS_BRANCH: "as-if-foss/${CI_COMMIT_REF_NAME}"
+ FOSS_REPOSITORY: "https://dummy:${AS_IF_FOSS_TOKEN}@gitlab.com/gitlab-org/gitlab-foss.git"
+ before_script:
+ - git clone --single-branch --branch master "${FOSS_REPOSITORY}" gitlab-foss
+ - git -C gitlab-foss checkout -b "${AS_IF_FOSS_BRANCH}" master
+ - rm -r .git/
+ - mv gitlab-foss/.git .
+ - rm -r gitlab-foss
+ script:
+ # See: https://gitlab.com/gitlab-org/merge-train/-/blob/041d942ae1b5615703b7a786982340b61620e7c5/bin/merge-train#L228-239
+ - git checkout VERSION
+ - rm -rf ee
+ - rm -rf qa/spec/ee
+ - rm -rf qa/qa/specs/features/ee
+ - rm -rf qa/qa/ee
+ - rm -f qa/qa/ee.rb
+ - rm -f CHANGELOG-EE.md
+ - rm -f changelogs/*-ee.md
+ - git add -A
+ - git commit -m 'Update from merge request' # TODO: Mark which SHA we add
+ - git push -f "${FOSS_REPOSITORY}" "${AS_IF_FOSS_BRANCH}"
+
+prepare-as-if-foss-env:
+ extends:
+ - .as-if-foss:rules:start-as-if-foss
+ stage: prepare
+ needs: []
+ variables:
+ BUILD_ENV: build.env
+ before_script:
+ - source scripts/utils.sh
+ - install_gitlab_gem
+ script:
+ - scripts/setup/generate-as-if-foss-env.rb | tee $BUILD_ENV
+ artifacts:
+ expire_in: 3 days
+ reports:
+ dotenv: $BUILD_ENV
+ paths:
+ - $BUILD_ENV
+
+start-as-if-foss:
+ extends:
+ - .as-if-foss:rules:start-as-if-foss
+ stage: prepare
+ needs:
+ - prepare-as-if-foss-branch
+ - prepare-as-if-foss-env
+ inherit:
+ variables: false # Otherwise variables will be messed up
+ variables:
+ START_AS_IF_FOSS: $START_AS_IF_FOSS
+ RUBY_VERSION: $RUBY_VERSION
+ ENABLE_RSPEC: $ENABLE_RSPEC
+ ENABLE_RSPEC_FAST_SPEC_HELPER: $ENABLE_RSPEC_FAST_SPEC_HELPER
+ ENABLE_RSPEC_UNIT: $ENABLE_RSPEC_UNIT
+ ENABLE_RSPEC_INTEGRATION: $ENABLE_RSPEC_INTEGRATION
+ ENABLE_RSPEC_MIGRATION: $ENABLE_RSPEC_MIGRATION
+ ENABLE_RSPEC_BACKGROUND_MIGRATION: $ENABLE_RSPEC_BACKGROUND_MIGRATION
+ ENABLE_RSPEC_SYSTEM: $ENABLE_RSPEC_SYSTEM
+ trigger:
+ project: gitlab-org/gitlab-foss
+ branch: as-if-foss/${CI_COMMIT_REF_NAME}
+ strategy: depend
diff --git a/.gitlab/ci/qa-common/variables.gitlab-ci.yml b/.gitlab/ci/qa-common/variables.gitlab-ci.yml
index 2ac1121791d..8f24cf1f5e5 100644
--- a/.gitlab/ci/qa-common/variables.gitlab-ci.yml
+++ b/.gitlab/ci/qa-common/variables.gitlab-ci.yml
@@ -1,7 +1,6 @@
# Default variables for package-and-test
variables:
- USE_OLD_RUBY_VERSION: "true"
REGISTRY_HOST: "registry.gitlab.com"
REGISTRY_GROUP: "gitlab-org"
ALLURE_JOB_NAME: $CI_PROJECT_NAME
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml
index d26df15412f..b7716fc280e 100644
--- a/.gitlab/ci/qa.gitlab-ci.yml
+++ b/.gitlab/ci/qa.gitlab-ci.yml
@@ -90,9 +90,8 @@ trigger-omnibus:
TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH
SECURITY_SOURCES: $SECURITY_SOURCES
CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE
- USE_OLD_RUBY_VERSION: "true"
- CACHE_EDITION: "GITLAB_RUBY3_0"
- NEXT_RUBY_VERSION: "3.1.4"
+ CACHE_EDITION: $CACHE_EDITION
+ NEXT_RUBY_VERSION: $FULL_RUBY_VERSION
BUILD_ON_ALL_OS: $OMNIBUS_GITLAB_BUILD_ON_ALL_OS
SKIP_QA_TEST: "true"
ee: $EE
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 58bd11e3d9e..8817f8707e9 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -21,7 +21,7 @@
if: '$FORCE_GITLAB_CI'
.if-default-refs: &if-default-refs
- 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_COMMIT_REF_NAME == "ruby3_1" || ($CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "detached") || $CI_COMMIT_TAG || $FORCE_GITLAB_CI'
+ 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_COMMIT_REF_NAME =~ "^ruby\d+(_\d)*$" || ($CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "detached") || $CI_COMMIT_TAG || $FORCE_GITLAB_CI'
.if-default-branch-refs: &if-default-branch-refs
if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_MERGE_REQUEST_IID == null'
@@ -59,18 +59,15 @@
.if-merge-request-targeting-stable-branch: &if-merge-request-targeting-stable-branch
if: '($CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "detached") && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee|-jh)?$/'
-.if-merge-request-labels-run-in-ruby3_0: &if-merge-request-labels-run-in-ruby3_0
- if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3_0/'
-
-.if-merge-request-labels-run-in-ruby3_1: &if-merge-request-labels-run-in-ruby3_1
- if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3_1/'
-
-.if-merge-request-labels-run-in-ruby3_2: &if-merge-request-labels-run-in-ruby3_2
- if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3_2/'
+.if-merge-request-labels-run-in-ruby: &if-merge-request-labels-run-in-ruby
+ if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby\d+(_\d)*/'
.if-merge-request-labels-as-if-foss: &if-merge-request-labels-as-if-foss
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss/'
+.if-merge-request-labels-as-if-foss-cross-project: &if-merge-request-labels-as-if-foss-cross-project
+ if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss-cross-project/'
+
.if-merge-request-labels-as-if-jh: &if-merge-request-labels-as-if-jh
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-jh/'
@@ -125,8 +122,8 @@
.if-default-branch-schedule-nightly: &if-default-branch-schedule-nightly
if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "nightly"'
-.if-ruby3_1-branch-schedule-nightly: &if-ruby3_1-branch-schedule-nightly
- if: '$CI_COMMIT_BRANCH == "ruby3_1" && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "nightly"'
+.if-ruby-branch-schedule-nightly: &if-ruby-branch-schedule-nightly
+ if: '$CI_COMMIT_BRANCH =~ "^ruby\d+(_\d)*$" && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "nightly"'
.if-security-schedule: &if-security-schedule
if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_PIPELINE_SOURCE == "schedule"'
@@ -161,8 +158,8 @@
.if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag
if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG'
-.if-ruby3_1-branch: &if-ruby3_1-branch
- if: '$CI_COMMIT_BRANCH == "ruby3_1" || $CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3_1/'
+.if-ruby-branch: &if-ruby-branch
+ if: '$CI_COMMIT_BRANCH =~ "^ruby\d+(_\d)*$" || $CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby\d+(_\d)*/'
####################
# Changes patterns #
@@ -911,7 +908,7 @@
- <<: *if-dot-com-gitlab-org-schedule
variables:
ARCH: amd64,arm64
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
- !reference [".releases:rules:canonical-dot-com-gitlab-stable-branch-only-setup-test-env-patterns", rules]
.build-images:rules:build-qa-image-as-if-foss:
@@ -947,7 +944,7 @@
# The rest are included to be consistent with .qa:rules:e2e:test-on-gdk
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
# We include the job under the matching conditions below, but unlike in .qa:rules:e2e:test-on-gdk we don't need to
# set OMNIBUS_GITLAB_BUILD_ON_ALL_OS when testing against GDK
- <<: *if-merge-request
@@ -979,7 +976,7 @@
when: never
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
- <<: *if-merge-request-labels-run-review-app
- <<: *if-auto-deploy-branches
- <<: *if-default-refs
@@ -1073,8 +1070,10 @@
######################
.ci-templates:rules:shellcheck:
rules:
- - changes: *ci-templates-patterns
- - changes:
+ - <<: *if-default-refs
+ changes: *ci-templates-patterns
+ - <<: *if-default-refs
+ changes:
- scripts/lint_templates_bash.rb
######################
@@ -1202,7 +1201,7 @@
changes: *setup-test-env-patterns
- <<: *if-merge-request-labels-run-review-app
- <<: *if-auto-deploy-branches
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
- <<: *if-default-refs
changes: *ci-build-images-patterns
- <<: *if-default-refs
@@ -1227,6 +1226,7 @@
.frontend:rules:compile-test-assets:
rules:
+ - if: '$ENABLE_RSPEC == "true"'
- <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request
changes: *backend-patterns
@@ -1514,7 +1514,7 @@
allow_failure: true
- <<: *if-dot-com-gitlab-org-schedule
allow_failure: true
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
# Rules to support .qa:rules:package-and-test-ee
- <<: *if-merge-request
changes: *dependency-patterns
@@ -1543,10 +1543,7 @@
- !reference [".qa:rules:package-and-test-never-run", rules]
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
- - <<: *if-ruby3_1-branch
- variables:
- USE_OLD_RUBY_VERSION: 'false'
- CACHE_EDITION: 'GITLAB_RUBY3_1'
+ - <<: *if-ruby-branch
- <<: *if-merge-request
changes: *dependency-patterns
variables:
@@ -1588,10 +1585,7 @@
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
allow_failure: true
- - <<: *if-ruby3_1-branch
- variables:
- USE_OLD_RUBY_VERSION: 'false'
- CACHE_EDITION: 'GITLAB_RUBY3_1'
+ - <<: *if-ruby-branch
allow_failure: true
- <<: *if-merge-request
changes: *dependency-patterns
@@ -1639,10 +1633,7 @@
- !reference [".qa:rules:package-and-test-never-run", rules]
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
- - <<: *if-ruby3_1-branch
- variables:
- USE_OLD_RUBY_VERSION: 'false'
- CACHE_EDITION: 'GITLAB_RUBY3_1'
+ - <<: *if-ruby-branch
- <<: *if-merge-request
# Certain components trigger a rebuild of the e2e GDK image so we want to test it too
changes: *gdk-component-patterns
@@ -1758,7 +1749,7 @@
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
when: never
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
when: never
- <<: *if-merge-request
changes: *dependency-patterns
@@ -1805,7 +1796,7 @@
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
when: never
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
when: never
- <<: *if-merge-request
changes: *dependency-patterns
@@ -1844,7 +1835,7 @@
- <<: *if-merge-request-targeting-stable-branch
changes: *setup-test-env-patterns
when: never
- - <<: *if-ruby3_1-branch
+ - <<: *if-ruby-branch
when: never
- <<: *if-merge-request
changes: *dependency-patterns
@@ -1892,6 +1883,7 @@
###############
.rails:rules:setup-test-env:
rules:
+ - if: '$ENABLE_RSPEC == "true"'
- <<: *if-default-refs
changes: *setup-test-env-patterns
- <<: *if-merge-request-labels-run-all-rspec
@@ -2013,6 +2005,7 @@
when: never
- <<: *if-merge-request-labels-pipeline-expedite
when: never
+ - if: '$ENABLE_RSPEC_MIGRATION == "true"'
- <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request
changes: *core-backend-patterns
@@ -2044,6 +2037,7 @@
.rails:rules:ee-and-foss-background-migration:
rules:
+ - if: '$ENABLE_RSPEC_BACKGROUND_MIGRATION == "true"'
- !reference [".rails:rules:ee-and-foss-migration", rules]
- <<: *if-default-refs
changes: *backend-patterns
@@ -2068,6 +2062,7 @@
rules:
- <<: *if-fork-merge-request
when: never
+ - if: '$ENABLE_RSPEC_UNIT == "true"'
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
- <<: *if-default-refs
changes: *backend-patterns
@@ -2078,6 +2073,7 @@
rules:
- <<: *if-fork-merge-request
when: never
+ - if: '$ENABLE_RSPEC_INTEGRATION == "true"'
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
- <<: *if-default-refs
changes: *backend-patterns
@@ -2086,12 +2082,14 @@
rules:
- <<: *if-fork-merge-request
when: never
+ - if: '$ENABLE_RSPEC_SYSTEM == "true"'
- !reference [".rails:rules:system-default-rules", rules]
- <<: *if-default-refs
changes: *code-backstage-patterns
.rails:rules:ee-and-foss-fast_spec_helper:
rules:
+ - if: '$ENABLE_RSPEC_FAST_SPEC_HELPER == "true"'
- <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request
changes: *backend-patterns
@@ -2815,7 +2813,7 @@
.setup:rules:verify-default-ruby:
rules:
- - <<: *if-merge-request-labels-run-in-ruby3_2
+ - <<: *if-merge-request-labels-run-in-ruby
.setup:rules:verify-tests-yml:
rules:
@@ -2871,6 +2869,7 @@
#######################
.test-metadata:rules:retrieve-tests-metadata:
rules:
+ - if: '$ENABLE_RSPEC == "true"'
- <<: *if-default-refs
changes: *code-backstage-patterns
- <<: *if-default-refs
@@ -2922,6 +2921,16 @@
- <<: *if-default-refs
changes: *lint-metrics-yaml-patterns
+####################
+# as-if-foss rules #
+####################
+.as-if-foss:rules:start-as-if-foss:
+ rules:
+ - if: '$AS_IF_FOSS_TOKEN == null'
+ when: never
+ - !reference [".strict-ee-only-rules", rules]
+ - <<: *if-merge-request-labels-as-if-foss-cross-project
+
##################
# as-if-jh rules #
##################
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index 15f36957392..47bc73a9558 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -71,8 +71,7 @@ verify-default-ruby:
- .setup:rules:verify-default-ruby
stage: prepare
script:
- - echo 'Please remove label ~"pipeline:run-in-ruby3_2" so we do test against default Ruby version before merging the merge request'
- - echo 'This does not work yet. See https://gitlab.com/gitlab-org/gitlab/-/issues/428537'
+ - echo 'Please remove label ~"pipeline:run-in-ruby3_2" or ~"pipeline:run-in-ruby3_0" so we do test against default Ruby version before merging the merge request'
- exit 1
verify-tests-yml:
@@ -207,8 +206,7 @@ trigger-omnibus-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 "OMNIBUS_GITLAB_BUILD_ON_ALL_OS=${OMNIBUS_GITLAB_BUILD_ON_ALL_OS:-false}" >> $BUILD_ENV
- echo "USE_OLD_RUBY_VERSION=${USE_OLD_RUBY_VERSION:-false}" >> $BUILD_ENV
- echo "NEXT_RUBY_VERSION=${NEXT_RUBY_VERSION}" >> $BUILD_ENV
+ ruby -e 'puts "FULL_RUBY_VERSION=#{RUBY_VERSION}"' >> $BUILD_ENV
echo "GITLAB_ASSETS_TAG=$(assets_image_tag)" >> $BUILD_ENV
echo "EE=$([[ $FOSS_ONLY == '1' ]] && echo 'false' || echo 'true')" >> $BUILD_ENV
define_trigger_branch_in_build_env