47 lines
2.2 KiB
YAML
47 lines
2.2 KiB
YAML
stages:
|
|
- prepare
|
|
- 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"
|
|
|
|
prepare-master:
|
|
variables:
|
|
SPECIAL_DOCKER_TAG: "$CI_REGISTRY_IMAGE:latest"
|
|
stage: prepare
|
|
script:
|
|
- echo "Set SPECIAL_DOCKER_TAG to $SPECIAL_DOCKER_TAG"
|
|
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
|
|
script:
|
|
- echo "Set SPECIAL_DOCKER_TAG to $SPECIAL_DOCKER_TAG"
|
|
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"
|
|
- "[[$JS_SDK_REF != 'master']] && 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 ../ && rm -rf js-sdk"
|
|
- "[[$JS_SDK_REF == 'master']] && export JS_SDK_SHA=master"
|
|
- "[ -d './react-sdk' ] && rm -rf ./react-sdk"
|
|
- "[[$REACT_SDK_BRANCH != 'master']] && 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 ../ && rm -rf react-sdk"
|
|
- "[[$REACT_SDK_BRANCH == 'master']] && export REACT_SDK_SHA=master"
|
|
- "[[$CI_COMMIT_BRANCH != 'master']] && export ELEMENT_WEB_SHA=$(git rev-parse --short=12 HEAD)"
|
|
- "[[$CI_COMMIT_BRANCH == 'master']] && export ELEMENT_WEB_SHA=master"
|
|
- '[[ -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:
|
|
- echo "Docker tag will be $DOCKER_TAG"
|
|
- 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"
|