Improve the pipeline to attempt to distinguish branches for react-sdk

This commit is contained in:
Ben Banfield-Zanin 2021-02-19 15:59:09 +00:00 committed by Kerry Archibald
parent b09fa73160
commit 2bfff82b30

View file

@ -1,50 +1,43 @@
docker-build-master:
variables:
USE_CUSTOM_SDKS: "true"
JS_SDK_REF: "master"
JS_SDK_REPO: "https://github.com/matrix-org/matrix-js-sdk.git"
REACT_SDK_REPO: "https://gitlab-ci-token:$GL_BAYERN_REACT_SDK_TOKEN@gitlab.matrix.org/new-vector/dataport/bayern-react-sdk"
REACT_SDK_BRANCH: "master"
tags: ['shell']
stage: build
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" --build-arg "USE_CUSTOM_SDKS=$USE_CUSTOM_SDKS" --build-arg "JS_SDK_REF=$JS_SDK_REF" --build-arg "JS_SDK_REPO=$JS_SDK_REPO" --build-arg "REACT_SDK_REPO=$REACT_SDK_REPO" --build-arg "REACT_SDK_BRANCH=$REACT_SDK_BRANCH" .
- docker push "$CI_REGISTRY_IMAGE"
rules:
- if: $CI_COMMIT_BRANCH == "master"
stages:
- prepare
- build
docker-build:
variables:
USE_CUSTOM_SDKS: "true"
JS_SDK_REF: "master"
JS_SDK_REPO: "https://github.com/matrix-org/matrix-js-sdk.git"
REACT_SDK_REPO: "https://gitlab-ci-token:$GL_BAYERN_REACT_SDK_TOKEN@gitlab.matrix.org/new-vector/dataport/bayern-react-sdk"
REACT_SDK_BRANCH: "master"
tags: ['shell']
stage: build
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" --build-arg "USE_CUSTOM_SDKS=$USE_CUSTOM_SDKS" --build-arg "JS_SDK_REF=$JS_SDK_REF" --build-arg "JS_SDK_REPO=$JS_SDK_REPO" --build-arg "REACT_SDK_REPO=$REACT_SDK_REPO" --build-arg "REACT_SDK_BRANCH=$REACT_SDK_BRANCH" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
rules:
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_TAG == null
variables:
USE_CUSTOM_SDKS: "true"
JS_SDK_REF: "master"
JS_SDK_REPO: "https://github.com/matrix-org/matrix-js-sdk.git"
REACT_SDK_REPO: "https://gitlab-ci-token:$GL_BAYERN_REACT_SDK_TOKEN@gitlab.matrix.org/new-vector/dataport/bayern-react-sdk"
REACT_SDK_BRANCH: "master"
docker-build-tags:
prepare-master:
variables:
USE_CUSTOM_SDKS: "true"
JS_SDK_REF: "master"
JS_SDK_REPO: "https://github.com/matrix-org/matrix-js-sdk.git"
REACT_SDK_REPO: "https://gitlab-ci-token:$GL_BAYERN_REACT_SDK_TOKEN@gitlab.matrix.org/new-vector/dataport/bayern-react-sdk"
REACT_SDK_BRANCH: "master"
tags: ['shell']
stage: build
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" --build-arg "USE_CUSTOM_SDKS=$USE_CUSTOM_SDKS" --build-arg "JS_SDK_REF=$JS_SDK_REF" --build-arg "JS_SDK_REPO=$JS_SDK_REPO" --build-arg "REACT_SDK_REPO=$REACT_SDK_REPO" --build-arg "REACT_SDK_BRANCH=$REACT_SDK_BRANCH" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME"
SPECIAL_DOCKER_TAG: "$CI_REGISTRY_IMAGE:latest"
stage: prepare
rules:
- if: $CI_COMMIT_BRANCH == "master" && $REACT_SDK_BRANCH == "master" && $JS_SDK_REF == "master"
prepare-tags:
variables:
SPECIAL_DOCKER_TAG: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME"
stage: prepare
rules:
- if: $CI_COMMIT_TAG
docker-build:
tags: ['shell']
stage: build
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- "[ -d './js-sdk' ] && rm -rf ./js-sdk"
- git clone --depth 1 --branch $JS_SDK_REF $JS_SDK_REPO js-sdk && cd js-sdk
- "export JS_SDK_SHA=$(git rev-parse --short=12 HEAD)"
- cd ../
- "[ -d './react-sdk' ] && rm -rf ./react-sdk"
- git clone --depth 1 --branch $REACT_SDK_BRANCH $REACT_SDK_REPO react-sdk && cd react-sdk
- "export REACT_SDK_SHA=$(git rev-parse --short=12 HEAD)"
- cd ../
- "export ELEMENT_WEB_SHA=$(git rev-parse --short=12 HEAD)"
- '[[ -z $SPECIAL_DOCKER_TAG ]] && export DOCKER_TAG="$CI_REGISTRY_IMAGE:$ELEMENT_WEB_SHA-react-$REACT_SDK_SHA-js-$JS_SDK_SHA" || export DOCKER_TAG="$SPECIAL_DOCKER_TAG"'
script:
- docker build --pull -t "$DOCKER_TAG" --build-arg "USE_CUSTOM_SDKS=$USE_CUSTOM_SDKS" --build-arg "JS_SDK_REF=$JS_SDK_REF" --build-arg "JS_SDK_REPO=$JS_SDK_REPO" --build-arg "REACT_SDK_REPO=$REACT_SDK_REPO" --build-arg "REACT_SDK_BRANCH=$REACT_SDK_BRANCH" .
- docker push "$DOCKER_TAG"