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-11 21:09:22 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2024-01-11 21:09:22 +0300
commit1bd9d2d9499d0d28e62254a28fcd3d913a8704af (patch)
treeea9969a5a4c3ac77858be20d69869674bed5ca43 /.gitlab
parentd8877c12347443fa02e0ba53ad8d5cd318f6fa28 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/ci/as-if-foss.gitlab-ci.yml63
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml17
2 files changed, 73 insertions, 7 deletions
diff --git a/.gitlab/ci/as-if-foss.gitlab-ci.yml b/.gitlab/ci/as-if-foss.gitlab-ci.yml
index 128a6195c4c..fc8db3ba974 100644
--- a/.gitlab/ci/as-if-foss.gitlab-ci.yml
+++ b/.gitlab/ci/as-if-foss.gitlab-ci.yml
@@ -1,11 +1,17 @@
+.as-if-foss-variables:
+ 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"
+
prepare-as-if-foss-branch:
extends:
- .as-if-foss:rules:start-as-if-foss
+ - .as-if-foss-variables
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"
+ environment:
+ name: "as-if-foss/${CI_MERGE_REQUEST_IID}"
+ on_stop: delete-as-if-foss-branch
before_script:
- git clone --single-branch --branch master "${FOSS_REPOSITORY}" gitlab-foss
- git -C gitlab-foss checkout -b "${AS_IF_FOSS_BRANCH}" master
@@ -29,15 +35,16 @@ prepare-as-if-foss-branch:
prepare-as-if-foss-env:
extends:
- .as-if-foss:rules:start-as-if-foss
+ - .fast-no-clone-job
stage: prepare
needs: []
variables:
BUILD_ENV: build.env
- before_script:
- - source scripts/utils.sh
- - install_gitlab_gem
+ FILES_TO_DOWNLOAD: >
+ scripts/setup/generate-as-if-foss-env.rb
script:
- - scripts/setup/generate-as-if-foss-env.rb | tee $BUILD_ENV
+ - install_gitlab_gem
+ - ruby scripts/setup/generate-as-if-foss-env.rb | tee "${BUILD_ENV}"
artifacts:
expire_in: 3 days
reports:
@@ -82,3 +89,45 @@ start-as-if-foss:
project: gitlab-org/gitlab-foss
branch: as-if-foss/${CI_COMMIT_REF_NAME}
strategy: depend
+
+delete-as-if-foss-branch:
+ extends:
+ - .as-if-foss:rules:start-as-if-foss:allow-failure:manual
+ - .as-if-foss-variables
+ image:
+ name: alpine/git
+ entrypoint: [""]
+ stage: prepare
+ needs:
+ - prepare-as-if-foss-branch
+ environment:
+ name: "as-if-foss/${CI_MERGE_REQUEST_IID}"
+ action: stop
+ variables:
+ GIT_STRATEGY: "none"
+ script:
+ - |
+ git init
+ git push -d "${FOSS_REPOSITORY}" "${AS_IF_FOSS_BRANCH}"
+
+# We can only delete the environment after it's stopped, therefore
+# we need to use another job to delete the environment, not in the
+# job where it's stopping the environment. See:
+# https://docs.gitlab.com/ee/ci/environments/#delete-an-environment
+delete-as-if-foss-environment:
+ extends:
+ - .as-if-foss:rules:start-as-if-foss:allow-failure
+ image: alpine:latest
+ stage: prepare
+ needs:
+ - delete-as-if-foss-branch
+ variables:
+ GIT_STRATEGY: "none"
+ ESCAPED_ENVIRONMENT_NAME: "as-if-foss%2f${CI_MERGE_REQUEST_IID}"
+ ENVIRONMENT_API_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/environments"
+ before_script:
+ - apk add jq curl
+ script:
+ - |
+ ENV_ID=$(curl --silent --fail --request GET --header "Private-Token: ${PROJECT_TOKEN_FOR_CI_SCRIPTS_API_USAGE}" "${ENVIRONMENT_API_URL}?name=${ESCAPED_ENVIRONMENT_NAME}" | jq '.[0].id')
+ curl --silent --request DELETE --header "Private-Token: $PROJECT_TOKEN_FOR_CI_SCRIPTS_API_USAGE" "${ENVIRONMENT_API_URL}/${ENV_ID}"
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 7db2c15db9b..ab603ecb9f2 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -3002,6 +3002,23 @@
- !reference [".strict-ee-only-rules", rules]
- <<: *if-merge-request-labels-as-if-foss-cross-project
+.as-if-foss:rules:start-as-if-foss:allow-failure:manual:
+ rules:
+ - if: '$AS_IF_FOSS_TOKEN == null'
+ when: never
+ - !reference [".strict-ee-only-rules", rules]
+ - <<: *if-merge-request-labels-as-if-foss-cross-project
+ when: manual
+ allow_failure: true
+
+.as-if-foss:rules:start-as-if-foss:allow-failure:
+ rules:
+ - if: '$AS_IF_FOSS_TOKEN == null'
+ when: never
+ - !reference [".strict-ee-only-rules", rules]
+ - <<: *if-merge-request-labels-as-if-foss-cross-project
+ allow_failure: true
+
##################
# as-if-jh rules #
##################