diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c07ccd3..4ded5643 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,7 @@ variables: DOCKER_TLS_CERTDIR: "" BEC_CORE_BRANCH: "main" OPHYD_DEVICES_BRANCH: "main" + CHILD_PIPELINE_BRANCH: "main" workflow: rules: @@ -31,6 +32,11 @@ stages: - End2End - Deploy +before_script: + - if [[ "$CI_PROJECT_PATH" != "bec/bec_widgets" ]]; then + test -d bec_widgets || git clone --branch $CHILD_PIPELINE_BRANCH https://gitlab.psi.ch/bec/bec_widgets.git; cd bec_widgets; + fi + formatter: stage: Formatter needs: [] @@ -38,6 +44,9 @@ formatter: - pip install black isort - isort --check --diff --line-length=100 --profile=black --multi-line=3 --trailing-comma ./ - black --check --diff --color --line-length=100 ./ + rules: + - if: $CI_PROJECT_PATH == "bec/bec_widgets" + pylint: stage: Formatter needs: [] @@ -54,6 +63,8 @@ pylint: paths: - ./pylint/ expire_in: 1 week + rules: + - if: $CI_PROJECT_PATH == "bec/bec_widgets" pylint-check: stage: Formatter @@ -85,6 +96,8 @@ pylint-check: paths: - ./pylint/ expire_in: 1 week + rules: + - if: $CI_PROJECT_PATH == "bec/bec_widgets" tests: stage: test @@ -165,6 +178,7 @@ end-2-end-conda: - if: '$CI_PIPELINE_SOURCE == "schedule"' - if: '$CI_PIPELINE_SOURCE == "web"' - if: '$CI_PIPELINE_SOURCE == "pipeline"' + - if: '$CI_PIPELINE_SOURCE == "parent_pipeline"' - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"' - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "production"' @@ -196,7 +210,7 @@ semver: allow_failure: false rules: - - if: '$CI_COMMIT_REF_NAME == "main"' + - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PROJECT_PATH == "bec/bec_widgets"' pages: stage: Deploy @@ -207,6 +221,6 @@ pages: - if: '$CI_COMMIT_TAG != null' variables: TARGET_BRANCH: $CI_COMMIT_TAG - - if: '$CI_COMMIT_REF_NAME == "main"' + - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PROJECT_PATH == "bec/bec_widgets"' script: - curl -X POST -d "branches=$CI_COMMIT_REF_NAME" -d "token=$RTD_TOKEN" https://readthedocs.org/api/v2/webhook/bec_widgets/253243/