variables: DOCKER_DRIVER: overlay2 RELEASE_IMAGE: registry.gitlab.com/islandoftex/images/context DOCKER_HUB_IMAGE: contextgarden/context stages: - build - test .buildtemplate: &builddefinition stage: build image: docker:latest services: - docker:dind before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com - docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PASSWORD - docker info .testtemplate: &testdefinition stage: test script: - context --version - context test.mkiv build:beta: <<: *builddefinition script: - IMAGETAG="context-beta-`date +%Y-%m-%d-%H-%M`" - docker build -f Dockerfile.mkivbeta --tag $RELEASE_IMAGE:$IMAGETAG --tag $RELEASE_IMAGE:beta --tag $DOCKER_HUB_IMAGE:beta . - docker push $RELEASE_IMAGE:$IMAGETAG - docker push $RELEASE_IMAGE:beta - if [ ! -z "$PUSH_TO_DOCKER_HUB" ]; then docker push $DOCKER_HUB_IMAGE:beta; fi rules: - if: '$CTXBETA == "true"' when: always - when: never build:current: <<: *builddefinition script: - IMAGETAG="context-current-`date +%Y-%m-%d-%H-%M`" - docker build -f Dockerfile.mkivcurrent --tag $RELEASE_IMAGE:$IMAGETAG --tag $RELEASE_IMAGE:current --tag $DOCKER_HUB_IMAGE:current . - docker push $RELEASE_IMAGE:$IMAGETAG - docker push $RELEASE_IMAGE:current - if [ ! -z "$PUSH_TO_DOCKER_HUB" ]; then docker push $DOCKER_HUB_IMAGE:current; fi rules: - if: '$CTXCURRENT == "true"' when: always - when: never build:lmtx: <<: *builddefinition script: - IMAGETAG="context-lmtx-`date +%Y-%m-%d-%H-%M`" - docker build -f Dockerfile.lmtx --tag $RELEASE_IMAGE:$IMAGETAG --tag $RELEASE_IMAGE:lmtx --tag $DOCKER_HUB_IMAGE:lmtx . - docker push $RELEASE_IMAGE:$IMAGETAG - docker push $RELEASE_IMAGE:lmtx - if [ ! -z "$PUSH_TO_DOCKER_HUB" ]; then docker push $DOCKER_HUB_IMAGE:lmtx; fi rules: - if: '$CTXLMTX == "true"' when: always - when: never test:beta: <<: *testdefinition needs: ["build:beta"] image: registry.gitlab.com/islandoftex/images/context:beta rules: - if: '$CTXBETA == "true"' when: always - when: never test:current: <<: *testdefinition needs: ["build:current"] image: registry.gitlab.com/islandoftex/images/context:current rules: - if: '$CTXCURRENT == "true"' when: always - when: never test:lmtx: <<: *testdefinition needs: ["build:lmtx"] image: registry.gitlab.com/islandoftex/images/context:lmtx rules: - if: '$CTXLMTX == "true"' when: always - when: never