image: node:20-bullseye-slim stages: - build - docker-build - docker-release build-all: stage: build variables: TURBO_TOKEN: $TURBO_TOKEN TURBO_TEAM: $TURBO_TEAM script: - npm install -g turbo - npm ci - turbo build .docker-build: image: registry.gitlab.com/guardianproject-ops/docker-alpine-git:latest services: - docker:dind stage: docker-build variables: DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} DOCKER_CONTEXT: . only: - main - develop script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} .docker-release: image: registry.gitlab.com/guardianproject-ops/docker-alpine-git:latest services: - docker:dind stage: docker-release variables: DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} DOCKER_TAG_NEW: ${CI_COMMIT_REF_NAME} only: - main - develop script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker pull ${DOCKER_NS}:${DOCKER_TAG} - docker tag ${DOCKER_NS}:${DOCKER_TAG} ${DOCKER_NS}:${DOCKER_TAG_NEW} - docker push ${DOCKER_NS}:${DOCKER_TAG_NEW} link-docker-build: extends: .docker-build variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/link DOCKERFILE_PATH: ./apps/link/Dockerfile link-docker-release: extends: .docker-release variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/link