mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-02 05:41:33 +02:00
1a45b909c3
The default logger is "json-file", which writes json blobs and splits stdout and stderr. We do not need to split and also can save on extra serialization overhead in the docker daemon by switching the driver. - use the cheaper "local" driver for containers that we need logs from (test containers), the local driver streams stdout+stderr into a file - use the no-op "none" driver for support containers that we do need any logs from. GitOrigin-RevId: 55c7cb7c91860e192b6d54354f4550a0ee9a672c
123 lines
3.2 KiB
YAML
123 lines
3.2 KiB
YAML
version: "2.3"
|
|
|
|
volumes:
|
|
data:
|
|
|
|
services:
|
|
|
|
test_unit:
|
|
build:
|
|
context: ../..
|
|
dockerfile: services/web/Dockerfile
|
|
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
|
|
logging:
|
|
driver: local
|
|
user: node
|
|
command: npm run test:unit:app
|
|
working_dir: /overleaf/services/web
|
|
env_file: docker-compose.common.env
|
|
environment:
|
|
BASE_CONFIG:
|
|
OVERLEAF_CONFIG:
|
|
NODE_ENV: test
|
|
NODE_OPTIONS: "--unhandled-rejections=strict"
|
|
depends_on:
|
|
- mongo
|
|
|
|
test_acceptance:
|
|
build:
|
|
context: ../..
|
|
dockerfile: services/web/Dockerfile
|
|
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
|
|
logging:
|
|
driver: local
|
|
working_dir: /overleaf/services/web
|
|
env_file: docker-compose.common.env
|
|
environment:
|
|
BASE_CONFIG:
|
|
OVERLEAF_CONFIG:
|
|
extra_hosts:
|
|
- 'www.overleaf.test:127.0.0.1'
|
|
command: npm run test:acceptance:app
|
|
user: root
|
|
depends_on:
|
|
- redis
|
|
- mongo
|
|
- saml
|
|
- ldap
|
|
|
|
test_frontend:
|
|
build:
|
|
context: ../..
|
|
dockerfile: services/web/Dockerfile
|
|
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
|
|
logging:
|
|
driver: local
|
|
user: node
|
|
working_dir: /overleaf/services/web
|
|
command: npm run test:frontend
|
|
environment:
|
|
NODE_OPTIONS: "--unhandled-rejections=strict"
|
|
|
|
test_frontend_ct:
|
|
image: cypress/included:13.13.2
|
|
logging:
|
|
driver: local
|
|
working_dir: /overleaf/services/web
|
|
environment:
|
|
CYPRESS_SPEC_PATTERN: ${CYPRESS_SPEC_PATTERN:-}
|
|
CYPRESS_EXCLUDE_SPEC_PATTERN: ${CYPRESS_EXCLUDE_SPEC_PATTERN:-}
|
|
volumes:
|
|
- ${CYPRESS_RESULTS:-./cypress/results}:/overleaf/services/web/cypress/results/
|
|
- /dev/shm/overleaf:/overleaf
|
|
entrypoint: npm
|
|
command:
|
|
- "run"
|
|
- "cypress:run-ct"
|
|
|
|
tar:
|
|
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER-webpack
|
|
volumes:
|
|
- ./:/tmp/build/
|
|
command: tar -cf /tmp/build/build.tar public/
|
|
user: root
|
|
|
|
redis:
|
|
image: redis
|
|
|
|
mongo:
|
|
image: mongo:6.0.13
|
|
logging:
|
|
driver: none
|
|
command: --replSet overleaf
|
|
volumes:
|
|
- ./docker/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
|
|
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
|
|
logging:
|
|
driver: none
|
|
# 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
|
|
logging:
|
|
driver: none
|
|
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'
|