From 9fd0d644cf69891b476c2c7088c5039f7adea826 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Thu, 25 Jun 2026 16:05:36 +0200 Subject: [PATCH] [agents] refine guidance for running tests (#34977) * [monorepo] fix handling of quoted MOCHA_GREP * [agents] refine guidance for running tests - nudge it towards scoped module targets - nudge it to really run e2e tests when changed - nudge it towards a11y cypress matchers - recommend quoting for MOCHA_GREP * [web] fix forwarding of mocha args from module Makefile * [monorepo] use BRANCH_NAME_TAG_SAFE for building the ci image name * [web] also make BRANCH_NAME_TAG_SAFE available in module Makefile (It's not really needed, but will make copilot happy.) GitOrigin-RevId: bfda3c8fe2b4f857ef111ac63f94b35a82ad75f8 --- services/chat/Makefile | 15 ++++++--------- services/chat/docker-compose.ci.yml | 6 +++--- services/clsi/Makefile | 15 ++++++--------- services/clsi/docker-compose.ci.yml | 6 +++--- services/docstore/Makefile | 15 ++++++--------- services/docstore/docker-compose.ci.yml | 6 +++--- services/document-updater/Makefile | 15 ++++++--------- .../document-updater/docker-compose.ci.yml | 6 +++--- services/filestore/Makefile | 15 ++++++--------- services/filestore/docker-compose.ci.yml | 6 +++--- services/git-bridge/Makefile | 2 +- services/history-v1/Makefile | 15 ++++++--------- services/history-v1/docker-compose.ci.yml | 6 +++--- services/notifications/Makefile | 15 ++++++--------- services/notifications/docker-compose.ci.yml | 6 +++--- services/project-history/Makefile | 15 ++++++--------- .../project-history/docker-compose.ci.yml | 6 +++--- services/real-time/Makefile | 15 ++++++--------- services/real-time/docker-compose.ci.yml | 6 +++--- services/web/Dockerfile.frontend.ci | 4 ++-- services/web/Makefile | 15 ++++++--------- services/web/Makefile.module | 19 +++++++++---------- services/web/docker-compose.ci.yml | 10 +++++----- 23 files changed, 104 insertions(+), 135 deletions(-) diff --git a/services/chat/Makefile b/services/chat/Makefile index 298a93fb50..9fa67f9e7a 100644 --- a/services/chat/Makefile +++ b/services/chat/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = chat +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = chat BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -28,13 +28,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/tools/migrations/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/chat/docker-compose.ci.yml b/services/chat/docker-compose.ci.yml index 23ebcb448a..0747d8ab9e 100644 --- a/services/chat/docker-compose.ci.yml +++ b/services/chat/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/chat/reports @@ -21,7 +21,7 @@ services: condition: service_started test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -42,7 +42,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/clsi/Makefile b/services/clsi/Makefile index bf2f86592a..47eae7ee8a 100644 --- a/services/clsi/Makefile +++ b/services/clsi/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = clsi +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = clsi BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -29,13 +29,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/services/clsi/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/clsi/docker-compose.ci.yml b/services/clsi/docker-compose.ci.yml index a02654cbd2..3017b9eb78 100644 --- a/services/clsi/docker-compose.ci.yml +++ b/services/clsi/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./reports:/overleaf/services/clsi/reports - ../../tsconfig.backend.json:/overleaf/tsconfig.backend.json @@ -17,7 +17,7 @@ services: VITEST_NO_CACHE: true test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -51,7 +51,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/docstore/Makefile b/services/docstore/Makefile index f199730db2..6cdcd7d322 100644 --- a/services/docstore/Makefile +++ b/services/docstore/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = docstore +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = docstore BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -31,13 +31,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/tools/migrations/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/docstore/docker-compose.ci.yml b/services/docstore/docker-compose.ci.yml index 2a1bdc7bd5..6ba8256375 100644 --- a/services/docstore/docker-compose.ci.yml +++ b/services/docstore/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/docstore/reports @@ -23,7 +23,7 @@ services: condition: service_started test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -49,7 +49,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/document-updater/Makefile b/services/document-updater/Makefile index 423bb66349..b436b7a5bf 100644 --- a/services/document-updater/Makefile +++ b/services/document-updater/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = document-updater +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = document-updater BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -31,13 +31,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/tools/migrations/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/document-updater/docker-compose.ci.yml b/services/document-updater/docker-compose.ci.yml index 669d32eda4..b091d49a9b 100644 --- a/services/document-updater/docker-compose.ci.yml +++ b/services/document-updater/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/document-updater/reports @@ -28,7 +28,7 @@ services: condition: service_healthy test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -56,7 +56,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/filestore/Makefile b/services/filestore/Makefile index 171633c975..4cd37a5e9b 100644 --- a/services/filestore/Makefile +++ b/services/filestore/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = filestore +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = filestore BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -27,13 +27,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/services/filestore/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/filestore/docker-compose.ci.yml b/services/filestore/docker-compose.ci.yml index 64873a973f..70b93bc473 100644 --- a/services/filestore/docker-compose.ci.yml +++ b/services/filestore/docker-compose.ci.yml @@ -7,7 +7,7 @@ volumes: services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/filestore/reports @@ -21,7 +21,7 @@ services: VITEST_NO_CACHE: true test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -65,7 +65,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/git-bridge/Makefile b/services/git-bridge/Makefile index c69652620e..7c773d8dd1 100644 --- a/services/git-bridge/Makefile +++ b/services/git-bridge/Makefile @@ -5,7 +5,7 @@ MVN_TARGET := target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.ja export BUILD_NUMBER ?= local export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) export COMMIT_SHA ?= $(shell git rev-parse HEAD) PROJECT_NAME = git-bridge diff --git a/services/history-v1/Makefile b/services/history-v1/Makefile index eb3e7556f8..b3a2bd6281 100644 --- a/services/history-v1/Makefile +++ b/services/history-v1/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = history-v1 +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = history-v1 BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -33,13 +33,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/tools/migrations/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/history-v1/docker-compose.ci.yml b/services/history-v1/docker-compose.ci.yml index d53ca3d6ff..3c5b768489 100644 --- a/services/history-v1/docker-compose.ci.yml +++ b/services/history-v1/docker-compose.ci.yml @@ -7,7 +7,7 @@ volumes: services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/history-v1/reports @@ -31,7 +31,7 @@ services: condition: service_healthy test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -80,7 +80,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/notifications/Makefile b/services/notifications/Makefile index e161b7651a..74236ad99a 100644 --- a/services/notifications/Makefile +++ b/services/notifications/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = notifications +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = notifications BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -29,13 +29,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/tools/migrations/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/notifications/docker-compose.ci.yml b/services/notifications/docker-compose.ci.yml index 29bc06a1e2..79931efb57 100644 --- a/services/notifications/docker-compose.ci.yml +++ b/services/notifications/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/notifications/reports @@ -23,7 +23,7 @@ services: condition: service_started test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -45,7 +45,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/project-history/Makefile b/services/project-history/Makefile index 29a1d82601..732aba5bad 100644 --- a/services/project-history/Makefile +++ b/services/project-history/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = project-history +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = project-history BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -32,13 +32,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/tools/migrations/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/project-history/docker-compose.ci.yml b/services/project-history/docker-compose.ci.yml index 68679cc0dc..24231a3a61 100644 --- a/services/project-history/docker-compose.ci.yml +++ b/services/project-history/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/project-history/reports @@ -28,7 +28,7 @@ services: condition: service_healthy test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -56,7 +56,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/real-time/Makefile b/services/real-time/Makefile index 452f140e4a..adcbd7e801 100644 --- a/services/real-time/Makefile +++ b/services/real-time/Makefile @@ -2,10 +2,10 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -BUILD_NUMBER ?= local -BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) -BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) -PROJECT_NAME = real-time +export BUILD_NUMBER ?= local +export BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD) +export BRANCH_NAME_TAG_SAFE = $(shell echo $(BRANCH_NAME) | sed 's/\//\-\-/g' | cut -c1-96) +export PROJECT_NAME = real-time BUILD_DIR_NAME = $(shell pwd | xargs basename | tr -cd '[a-zA-Z0-9_.\-]') HERE=$(shell pwd) export MONOREPO ?= $(shell cd ../../ && pwd) @@ -28,13 +28,10 @@ IMAGE_CACHE ?= $(IMAGE_REPO):cache-$(shell cat \ $(MONOREPO)/services/real-time/package.json \ $(MONOREPO)/.yarn/patches/* \ | sha256sum | cut -d '-' -f1) +export MOCHA_GREP ?= DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container diff --git a/services/real-time/docker-compose.ci.yml b/services/real-time/docker-compose.ci.yml index 6b57013eb2..f96e3cb87f 100644 --- a/services/real-time/docker-compose.ci.yml +++ b/services/real-time/docker-compose.ci.yml @@ -4,7 +4,7 @@ services: test_unit: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER user: node volumes: - ./reports:/overleaf/services/real-time/reports @@ -26,7 +26,7 @@ services: condition: service_healthy test_acceptance: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER environment: CI: RETRIES: @@ -50,7 +50,7 @@ services: tar: build: . - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./:/tmp/build/ command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs . diff --git a/services/web/Dockerfile.frontend.ci b/services/web/Dockerfile.frontend.ci index 140d2bc788..463cc45a0c 100644 --- a/services/web/Dockerfile.frontend.ci +++ b/services/web/Dockerfile.frontend.ci @@ -1,8 +1,8 @@ ARG PROJECT_NAME -ARG BRANCH_NAME +ARG BRANCH_NAME_TAG_SAFE ARG BUILD_NUMBER -FROM ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER +FROM ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER USER root diff --git a/services/web/Makefile b/services/web/Makefile index 00fbbdf6de..b7705a39d2 100644 --- a/services/web/Makefile +++ b/services/web/Makefile @@ -1,11 +1,11 @@ DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml export RETRIES ?= $(if $(CI),3,0) -BUILD_NUMBER ?= local +export BUILD_NUMBER ?= local ifeq ($(BRANCH_NAME),) export BRANCH_NAME := $(shell git rev-parse --abbrev-ref HEAD) endif -BRANCH_NAME_TAG_SAFE := $(shell echo "$(BRANCH_NAME)" | sed 's/\//\-\-/g' | cut -c1-96) +export BRANCH_NAME_TAG_SAFE := $(shell echo "$(BRANCH_NAME)" | sed 's/\//\-\-/g' | cut -c1-96) .PHONY: print-branch-tag-safe print-branch-tag-safe: @@ -14,7 +14,7 @@ print-branch-tag-safe: ifeq ($(COMMIT_SHA),) export COMMIT_SHA := $(shell git rev-parse HEAD) endif -PROJECT_NAME = web +export PROJECT_NAME = web BUILD_DIR_NAME := web PWD := $(shell pwd) ifeq ($(MONOREPO),) @@ -28,11 +28,8 @@ CFG_SAAS=/overleaf/services/web/test/acceptance/config/settings.test.saas.js CFG_SERVER_CE=/overleaf/services/web/test/acceptance/config/settings.test.server-ce.js CFG_SERVER_PRO=/overleaf/services/web/test/acceptance/config/settings.test.server-pro.js -DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME_TAG_SAFE) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +export MOCHA_GREP ?= +DOCKER_COMPOSE := docker compose ${DOCKER_COMPOSE_FLAGS} # Common flags for docker compose run. # --rm Tear down test runner container @@ -154,7 +151,7 @@ MOCHA_CMD_LINE = \ mocha \ --exit \ --file test/unit/bootstrap.js \ - --grep=${MOCHA_GREP} \ + --grep="${MOCHA_GREP}" \ --reporter spec \ --timeout 25000 \ diff --git a/services/web/Makefile.module b/services/web/Makefile.module index 75cf55475b..3a40b73d80 100644 --- a/services/web/Makefile.module +++ b/services/web/Makefile.module @@ -1,8 +1,13 @@ BUILD_DIR_NAME ?= web +ifeq ($(BRANCH_NAME),) + export BRANCH_NAME := $(shell git rev-parse --abbrev-ref HEAD) +endif +export BRANCH_NAME_TAG_SAFE := $(shell echo "$(BRANCH_NAME)" | sed 's/\//\-\-/g' | cut -c1-96) export MODULE_NAME := $(notdir $(shell pwd)) -MODULE_DIR := modules/$(MODULE_NAME) -PROJECT_NAME = web +export MODULE_DIR := modules/$(MODULE_NAME) +export PROJECT_NAME = web export RETRIES ?= $(if $(CI),3,0) +export MOCHA_GREP ?= export OVERLEAF_CONFIG = /overleaf/services/web/$(MODULE_DIR)/test/acceptance/config/settings.test.js export BASE_CONFIG ?= /overleaf/services/web/test/acceptance/config/settings.test.saas.js @@ -12,13 +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_FLAGS ?= -f docker-compose.yml -DOCKER_COMPOSE := cd ../../ && \ - MODULE_DIR=$(MODULE_DIR) \ - BUILD_NUMBER=$(BUILD_NUMBER) \ - BRANCH_NAME=$(BRANCH_NAME) \ - PROJECT_NAME=$(PROJECT_NAME) \ - MOCHA_GREP=${MOCHA_GREP} \ - docker compose ${DOCKER_COMPOSE_FLAGS} +DOCKER_COMPOSE := cd ../../ && docker compose ${DOCKER_COMPOSE_FLAGS} ifeq (,$(wildcard test/unit)) test_unit: @@ -26,7 +25,7 @@ test_unit: else test_unit: export COMPOSE_PROJECT_NAME=unit_test_$(BUILD_DIR_NAME)_$(MODULE_NAME) test_unit: - ${DOCKER_COMPOSE} run --rm test_unit yarn test:unit:run_dir -- ${MOCHA_ARGS} $(MODULE_DIR)/test/unit/src + ${DOCKER_COMPOSE} run --rm test_unit yarn test:unit:run_dir ${MOCHA_ARGS} $(MODULE_DIR)/test/unit/src ${DOCKER_COMPOSE} down endif diff --git a/services/web/docker-compose.ci.yml b/services/web/docker-compose.ci.yml index 00c815fa64..3353b33e8a 100644 --- a/services/web/docker-compose.ci.yml +++ b/services/web/docker-compose.ci.yml @@ -6,7 +6,7 @@ services: build: context: ../.. dockerfile: services/web/Dockerfile - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER logging: driver: local user: node @@ -39,7 +39,7 @@ services: build: context: ../.. dockerfile: services/web/Dockerfile - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER logging: driver: local working_dir: /overleaf/services/web @@ -75,7 +75,7 @@ services: build: context: ../.. dockerfile: services/web/Dockerfile - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER volumes: - ./data/reports:/overleaf/services/web/data/reports logging: @@ -119,7 +119,7 @@ services: build: context: ../.. dockerfile: services/web/Dockerfile - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER logging: driver: local user: node @@ -134,7 +134,7 @@ services: NO_COLOR: true tar: - image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER-webpack + image: ci/$PROJECT_NAME:$BRANCH_NAME_TAG_SAFE-$BUILD_NUMBER-webpack volumes: - ./:/tmp/build/ command: tar -cf /tmp/build/build.tar public/