|
|
@@ -2,6 +2,7 @@ DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml
|
|
|
|
|
|
BUILD_NUMBER ?= local
|
|
|
export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
|
|
|
+BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/')
|
|
|
export COMMIT_SHA ?= $(shell git rev-parse HEAD)
|
|
|
PROJECT_NAME = web
|
|
|
BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]')
|
|
|
@@ -16,7 +17,7 @@ CFG_SERVER_CE=/overleaf/services/web/test/acceptance/config/settings.test.server
|
|
|
CFG_SERVER_PRO=/overleaf/services/web/test/acceptance/config/settings.test.server-pro.js
|
|
|
|
|
|
DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \
|
|
|
- BRANCH_NAME=$(BRANCH_NAME) \
|
|
|
+ BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \
|
|
|
PROJECT_NAME=$(PROJECT_NAME) \
|
|
|
MOCHA_GREP=${MOCHA_GREP} \
|
|
|
docker compose ${DOCKER_COMPOSE_FLAGS}
|
|
|
@@ -426,7 +427,7 @@ ci:
|
|
|
#
|
|
|
ORG_PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
RUN_LINT_FORMAT ?= \
|
|
|
- docker run --rm --env BRANCH_NAME --env CI --env COMMIT_SHA --env MONOREPO --volume ${PWD}/data/reports:/overleaf/services/web/data/reports ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
|
|
|
+ docker run --rm --env BRANCH_NAME --env CI --env COMMIT_SHA --env MONOREPO --volume ${PWD}/data/reports:/overleaf/services/web/data/reports ${IMAGE_CI}
|
|
|
|
|
|
NODE_MODULES_PATH := ${PATH}:${PWD}/node_modules/.bin:/overleaf/services/web/node_modules/.bin
|
|
|
WITH_NODE_MODULES_PATH = \
|
|
|
@@ -549,9 +550,9 @@ shellcheck_fix:
|
|
|
# Build & publish
|
|
|
#
|
|
|
|
|
|
-IMAGE_CI ?= ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
|
|
|
+IMAGE_CI ?= ci/$(PROJECT_NAME):$(BRANCH_NAME_TAG_SAFE)-$(BUILD_NUMBER)
|
|
|
IMAGE_REPO ?= us-east1-docker.pkg.dev/overleaf-ops/ol-docker/$(PROJECT_NAME)
|
|
|
-IMAGE_REPO_FINAL ?= $(IMAGE_REPO):$(BRANCH_NAME)-$(BUILD_NUMBER)
|
|
|
+IMAGE_REPO_FINAL ?= $(IMAGE_REPO):$(BRANCH_NAME_TAG_SAFE)-$(BUILD_NUMBER)
|
|
|
# A shared scratch tag that is used by all the pipelines for pushing the layers of the production image ASAP from a parallel step.
|
|
|
# We do not want to make the image available before all the tests have passed.
|
|
|
# Using a single tag avoids generating cruft in our docker repository / AR.
|