| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- volumes:
- data:
- services:
- test_unit:
- build:
- context: ../..
- dockerfile: services/web/Dockerfile
- target: base
- volumes:
- - .:/overleaf/services/web
- - ../../.pnp.cjs:/overleaf/.pnp.cjs
- - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
- - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
- - ../../libraries:/overleaf/libraries
- - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
- - ../../tools/migrations:/overleaf/tools/migrations
- - ../../tsconfig.backend.json:/overleaf/tsconfig.backend.json
- - ../../package.json:/overleaf/package.json
- - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
- - ../../yarn.lock:/overleaf/yarn.lock
- - ../../.yarn:/overleaf/.yarn
- working_dir: /overleaf/services/web
- env_file: docker-compose.common.env
- environment:
- BASE_CONFIG:
- OVERLEAF_CONFIG:
- CI:
- MODULE_NAME:
- JUNIT_ROOT_SUITE_NAME:
- COVERAGE_UNIT_TESTS: ${COVERAGE_UNIT_TESTS:-}
- MOCHA_GREP: ${MOCHA_GREP:-}
- LOG_LEVEL: ${LOG_LEVEL:-}
- NODE_ENV: test
- NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs --unhandled-rejections=strict"
- REDIS_HOST: redis_test
- MONOREPO:
- entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
- command: yarn run --silent test:unit:app
- user: node
- depends_on:
- - mongo
- - redis_test
- test_acceptance:
- build:
- context: ../..
- dockerfile: services/web/Dockerfile
- target: base
- volumes:
- - .:/overleaf/services/web
- - ../../.pnp.cjs:/overleaf/.pnp.cjs
- - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
- - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
- - ../../libraries:/overleaf/libraries
- - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
- - ../../tools/migrations:/overleaf/tools/migrations
- - ../../package.json:/overleaf/package.json
- - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
- - ../../yarn.lock:/overleaf/yarn.lock
- - ../../.yarn:/overleaf/.yarn
- user: node
- working_dir: /overleaf/services/web
- env_file: docker-compose.common.env
- environment:
- BASE_CONFIG:
- OVERLEAF_CONFIG:
- CI:
- MODULE_NAME:
- JUNIT_ROOT_SUITE_NAME:
- COVERAGE_ACCEPTANCE_TESTS: ${COVERAGE_ACCEPTANCE_TESTS:-}
- MOCHA_GREP: ${MOCHA_GREP:-}
- LOG_LEVEL: ${LOG_LEVEL:-}
- MONGO_SERVER_SELECTION_TIMEOUT: 600000
- MONGO_SOCKET_TIMEOUT: 300000
- NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs --unhandled-rejections=strict"
- REDIS_HOST: redis_test
- MONOREPO:
- RETRIES:
- # OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING: 'true'
- extra_hosts:
- - "www.overleaf.test:127.0.0.1"
- depends_on:
- - redis_test
- - mongo
- - saml
- - ldap
- entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
- command: yarn run --silent test:acceptance:app
- test_frontend_jsdom:
- build:
- context: ../..
- dockerfile: services/web/Dockerfile
- target: base
- volumes:
- - .:/overleaf/services/web
- - ../../.pnp.cjs:/overleaf/.pnp.cjs
- - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
- - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
- - ../../libraries:/overleaf/libraries
- - ../../package.json:/overleaf/package.json
- - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
- - ../../yarn.lock:/overleaf/yarn.lock
- - ../../.yarn:/overleaf/.yarn
- working_dir: /overleaf/services/web
- environment:
- CI:
- JUNIT_ROOT_SUITE_NAME:
- MOCHA_GREP: ${MOCHA_GREP}
- NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs --unhandled-rejections=strict"
- VERBOSE_LOGGING:
- command: yarn run --silent test:frontend
- user: node
- test_frontend_ct:
- build:
- context: ../../dockerfiles/cypress
- args:
- - USER_UID
- - USER_GID
- volumes:
- - .:/overleaf/services/web
- - ../../scripts:/overleaf/scripts:ro
- - ../../.pnp.cjs:/overleaf/.pnp.cjs
- - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
- - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
- - ../../libraries:/overleaf/libraries
- - ../../package.json:/overleaf/package.json
- - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
- - ../../yarn.lock:/overleaf/yarn.lock
- - ../../.yarn:/overleaf/.yarn
- working_dir: /overleaf/services/web
- environment:
- VERBOSE_LOGGING:
- CI:
- JUNIT_ROOT_SUITE_NAME:
- CYPRESS_SPEC_PATTERN: ${CYPRESS_SPEC_PATTERN:-}
- CYPRESS_EXCLUDE_SPEC_PATTERN: ${CYPRESS_EXCLUDE_SPEC_PATTERN:-}
- NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs"
- entrypoint: yarn
- command:
- - "run"
- - "cypress:run-ct"
- test_writefull:
- build:
- context: ../..
- dockerfile: services/web/Dockerfile
- target: base
- volumes:
- - .:/overleaf/services/web
- - ../../.pnp.cjs:/overleaf/.pnp.cjs
- - ../../.pnp.loader.mjs:/overleaf/.pnp.loader.mjs
- - ../../.pnp.register.mjs:/overleaf/.pnp.register.mjs
- - ../../libraries:/overleaf/libraries
- - ../../package.json:/overleaf/package.json
- - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
- - ../../yarn.lock:/overleaf/yarn.lock
- - ../../.yarn:/overleaf/.yarn
- working_dir: /overleaf/services/web
- environment:
- CI:
- JUNIT_ROOT_SUITE_NAME:
- NODE_OPTIONS: "--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs --unhandled-rejections=strict"
- VERBOSE_LOGGING:
- command: yarn run --silent test:writefull
- user: node
- redis_test:
- image: redis:7.4.8
- mongo:
- image: mongo:8.0.11
- command: --replSet overleaf --notablescan
- volumes:
- - ../../bin/shared/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
- - ../../bin/shared/mongodb-docker-entrypoint-wait.sh:/mongodb-docker-entrypoint-wait.sh
- entrypoint: /mongodb-docker-entrypoint-wait.sh
- environment:
- MONGO_INITDB_DATABASE: sharelatex
- extra_hosts:
- # Required when using the automatic database setup for initializing the
- # replica set. This override is not needed when running the setup after
- # starting up mongo.
- - mongo:127.0.0.1
- ldap:
- image: rroemhild/test-openldap:1.1
- # Workaround large memory allocation (using the max-open-files-limit as socket buffer scale).
- # REF: https://github.com/moby/moby/issues/8231#issuecomment-63877553
- # REF: https://github.com/moby/moby/issues/8231#issuecomment-63871343
- command:
- - "bash"
- - "-c"
- - "ulimit -n 1024 && exec bash /run.sh"
- saml:
- image: us-east1-docker.pkg.dev/overleaf-ops/ol-docker/saml-test
- environment:
- SAML_BASE_URL_PATH: "http://saml/simplesaml/"
- SAML_TEST_SP_ENTITY_ID: "overleaf-test-saml"
- SAML_TEST_SP_LOCATION: "http://www.overleaf.test:23000/saml/callback"
|