diff --git a/common.yml b/common.yml index afbe59c1cf2797cf8aba541c6b849161a4748562..0037ebce90e197f5a6c3610008a95fb39b9cc48c 100644 --- a/common.yml +++ b/common.yml @@ -28,7 +28,7 @@ variables: tags: - infrastructure timeout: 10m - image: "${CI_IMAGE_PYTHON}" + image: secodocker/edgehog-builder:latest #"${CI_IMAGE_PYTHON}" needs: [] variables: # Include git submodules diff --git a/manifest-integration.yml b/manifest-integration.yml index 819d54b8bae30c620e54598f4357db6db1079bcc..c83457963528614e5b9dd271645dab92662fc27b 100644 --- a/manifest-integration.yml +++ b/manifest-integration.yml @@ -37,7 +37,7 @@ workflow: # the project in the seco-ne namespace (customer sending # change to us). Here the the IDs used below differ. # - - if: $CI_PROJECT_ROOT_NAMESPACE == "seco-ne" + - if: $CI_PROJECT_ROOT_NAMESPACE == "edgehog" && $CI_MERGE_REQUEST_SOURCE_PROJECT_ID == $CI_MERGE_REQUEST_PROJECT_ID # -------------------------------------------------------------------------------------- @@ -59,6 +59,10 @@ integrate: cache: policy: push script: + - echo "CI_PROJECT_DIR is defined as ${CI_PROJECT_DIR}" + - echo "CI_PROJECT_PATH is defined as ${CI_PROJECT_PATH}" + - echo "CI_SERVER_URL is defined as ${CI_SERVER_URL}" + - echo "CI_MERGE_REQUEST_IID is defined as ${CI_MERGE_REQUEST_IID}" - cd ${CI_PROJECT_DIR} - if [ -n "${CI_MERGE_REQUEST_IID}" ];then MERGE_REQUEST="${CI_MERGE_REQUEST_IID}"; @@ -79,93 +83,94 @@ integrate: paths: - manifest_revision -yamllint: - extends: .yamllint - -# -------------------------------------------------------------------------------------- -# Stage: merge -# -------------------------------------------------------------------------------------- -merge: - extends: .infrastructure - stage: merge - rules: - - if: $CI_COMMIT_BRANCH == $MASTER_BRANCH_PROJECT - script: - - cd ${CI_PROJECT_DIR} - - .gitlab-ci/scripts/merge_into_manifest.py - --gitlab-url=${CI_SERVER_URL} - --token=${GITBOT_TOKEN} - --manifest-project=${MANIFEST_PROJECT} - --master-branch=${MASTER_BRANCH_MANIFEST} - --project=${CI_PROJECT_PATH} - --master-branch-project=${MASTER_BRANCH_PROJECT} - --commit=${CI_COMMIT_SHA} - --save-revision-to=manifest_revision - --recipe-name=${BB_RECIPE_NAME} - artifacts: - paths: - - manifest_revision - -# -------------------------------------------------------------------------------------- -# Stage: build -# -------------------------------------------------------------------------------------- -build: - stage: build - rules: - # Do not run build if the "skip build" label is set on the merge request - - if: $CI_MERGE_REQUEST_LABELS =~ /skip build/ - when: never - # execute this in MR only and not for integrate/gitlab-ci/ integrations - # branches. These are build after the integration has been done in all - # projects - - if: $CI_MERGE_REQUEST_IID && $CI_COMMIT_REF_NAME !~ /^integrate\/gitlab-ci\/.*/ - trigger: - project: !reference [variables, MANIFEST_PROJECT] - branch: "integrate/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}" - strategy: depend - -# -------------------------------------------------------------------------------------- -# Stage: check -# -------------------------------------------------------------------------------------- -check: - extends: .infrastructure - stage: check - rules: - # Do not run check if the "skip build" label is set on the merge request - - if: $CI_MERGE_REQUEST_LABELS =~ /skip build/ - when: never - # Do not integration pipeline for merge requests for integrate/gitlab-ci/ branches - # The integration is done from the pipeline in gitlab-ci already - - if: $CI_COMMIT_REF_NAME =~ /^integrate\/gitlab-ci\/.*/ - when: never - - if: $CI_MERGE_REQUEST_IID - # Explicitly allow externally triggered pipelines in every case - - if: $CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "api" - needs: ["integrate"] - allow_failure: true - script: - - cd ${CI_PROJECT_DIR} - # When running in a trigger pipeline the CII_MERGE_REQUEST_IID is not set - # but CI_OPEN_MERGE_REQUESTS. We use the first of this comma separated list - # in this case - - if [ -n "${CI_MERGE_REQUEST_IID}" ];then - MERGE_REQUEST="${CI_MERGE_REQUEST_IID}"; - else - MERGE_REQUEST="${CI_OPEN_MERGE_REQUESTS%%,*}"; - fi - # The 'parent_merge_request' is passed from the trigger - # in case this check job is part of a gitlab-ci integration - # pipeline. It is only used to display the correct MR to run again - # in a failed check - - if [ -n "${parent_merge_request}" ];then - PARENT_MR="--parent-merge-request=${parent_merge_request}"; - fi - - .gitlab-ci/scripts/check_if_integration_branch_is_up_to_date.py - --gitlab-url=${CI_SERVER_URL} - --token=${GITBOT_TOKEN} - --manifest-project=${MANIFEST_PROJECT} - --integration-base=${MASTER_BRANCH_MANIFEST} - --project=${CI_PROJECT_PATH} - --merge-request=${MERGE_REQUEST} - --verbose - ${PARENT_MR} +# yamllint: +# extends: .yamllint +# +# # -------------------------------------------------------------------------------------- +# # Stage: merge +# # -------------------------------------------------------------------------------------- +# merge: +# extends: .infrastructure +# stage: merge +# rules: +# - if: $CI_COMMIT_BRANCH == $MASTER_BRANCH_PROJECT +# script: +# - cd ${CI_PROJECT_DIR} +# - .gitlab-ci/scripts/merge_into_manifest.py +# --gitlab-url=${CI_SERVER_URL} +# --token=${GITBOT_TOKEN} +# --manifest-project=${MANIFEST_PROJECT} +# --master-branch=${MASTER_BRANCH_MANIFEST} +# --project=${CI_PROJECT_PATH} +# --master-branch-project=${MASTER_BRANCH_PROJECT} +# --commit=${CI_COMMIT_SHA} +# --save-revision-to=manifest_revision +# --recipe-name=${BB_RECIPE_NAME} +# artifacts: +# paths: +# - manifest_revision +# +# # -------------------------------------------------------------------------------------- +# # Stage: build +# # -------------------------------------------------------------------------------------- +# build: +# stage: build +# rules: +# # Do not run build if the "skip build" label is set on the merge request +# - if: $CI_MERGE_REQUEST_LABELS =~ /skip build/ +# when: never +# # execute this in MR only and not for integrate/gitlab-ci/ integrations +# # branches. These are build after the integration has been done in all +# # projects +# - if: $CI_MERGE_REQUEST_IID && $CI_COMMIT_REF_NAME !~ /^integrate\/gitlab-ci\/.*/ +# trigger: +# project: !reference [variables, MANIFEST_PROJECT] +# branch: "integrate/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}" +# strategy: depend +# +# # -------------------------------------------------------------------------------------- +# # Stage: check +# # -------------------------------------------------------------------------------------- +# check: +# extends: .infrastructure +# stage: check +# rules: +# # Do not run check if the "skip build" label is set on the merge request +# - if: $CI_MERGE_REQUEST_LABELS =~ /skip build/ +# when: never +# # Do not integration pipeline for merge requests for integrate/gitlab-ci/ branches +# # The integration is done from the pipeline in gitlab-ci already +# - if: $CI_COMMIT_REF_NAME =~ /^integrate\/gitlab-ci\/.*/ +# when: never +# - if: $CI_MERGE_REQUEST_IID +# # Explicitly allow externally triggered pipelines in every case +# - if: $CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "api" +# needs: ["integrate"] +# allow_failure: true +# script: +# - cd ${CI_PROJECT_DIR} +# # When running in a trigger pipeline the CII_MERGE_REQUEST_IID is not set +# # but CI_OPEN_MERGE_REQUESTS. We use the first of this comma separated list +# # in this case +# - if [ -n "${CI_MERGE_REQUEST_IID}" ];then +# MERGE_REQUEST="${CI_MERGE_REQUEST_IID}"; +# else +# MERGE_REQUEST="${CI_OPEN_MERGE_REQUESTS%%,*}"; +# fi +# # The 'parent_merge_request' is passed from the trigger +# # in case this check job is part of a gitlab-ci integration +# # pipeline. It is only used to display the correct MR to run again +# # in a failed check +# - if [ -n "${parent_merge_request}" ];then +# PARENT_MR="--parent-merge-request=${parent_merge_request}"; +# fi +# - .gitlab-ci/scripts/check_if_integration_branch_is_up_to_date.py +# --gitlab-url=${CI_SERVER_URL} +# --token=${GITBOT_TOKEN} +# --manifest-project=${MANIFEST_PROJECT} +# --integration-base=${MASTER_BRANCH_MANIFEST} +# --project=${CI_PROJECT_PATH} +# --merge-request=${MERGE_REQUEST} +# --verbose +# ${PARENT_MR} +# \ No newline at end of file