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: [] 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: [] 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"