docker-compose.ci.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # This file was auto-generated, do not edit it directly.
  2. # Instead run bin/update_build_scripts from
  3. # https://github.com/overleaf/internal/
  4. services:
  5. test_unit:
  6. image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
  7. user: node
  8. volumes:
  9. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  10. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  11. command: npm run test:unit:_run
  12. environment:
  13. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  14. NODE_ENV: test
  15. NODE_OPTIONS: "--unhandled-rejections=strict"
  16. REDIS_HOST: redis_test
  17. QUEUES_REDIS_HOST: redis_test
  18. HISTORY_REDIS_HOST: redis_test
  19. ANALYTICS_QUEUES_REDIS_HOST: redis_test
  20. depends_on:
  21. mongo:
  22. condition: service_started
  23. redis_test:
  24. condition: service_healthy
  25. test_acceptance:
  26. build: .
  27. image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
  28. environment:
  29. ELASTIC_SEARCH_DSN: es:9200
  30. REDIS_HOST: redis_test
  31. QUEUES_REDIS_HOST: redis_test
  32. HISTORY_REDIS_HOST: redis_test
  33. ANALYTICS_QUEUES_REDIS_HOST: redis_test
  34. MONGO_HOST: mongo
  35. POSTGRES_HOST: postgres
  36. MOCHA_GREP: ${MOCHA_GREP}
  37. NODE_ENV: test
  38. NODE_OPTIONS: "--unhandled-rejections=strict"
  39. volumes:
  40. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  41. depends_on:
  42. mongo:
  43. condition: service_started
  44. redis_test:
  45. condition: service_healthy
  46. user: node
  47. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  48. command: npm run test:acceptance
  49. tar:
  50. build: .
  51. image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
  52. volumes:
  53. - ./:/tmp/build/
  54. command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
  55. user: root
  56. redis_test:
  57. image: redis:7.4.3
  58. healthcheck:
  59. test: ping="$$(redis-cli ping)" && [ "$$ping" = 'PONG' ]
  60. interval: 1s
  61. retries: 20
  62. mongo:
  63. image: mongo:8.0.11
  64. command: --replSet overleaf
  65. volumes:
  66. - ../../bin/shared/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
  67. - ../../bin/shared/mongodb-docker-entrypoint-wait.sh:/mongodb-docker-entrypoint-wait.sh
  68. entrypoint: /mongodb-docker-entrypoint-wait.sh
  69. environment:
  70. MONGO_INITDB_DATABASE: sharelatex
  71. extra_hosts:
  72. # Required when using the automatic database setup for initializing the
  73. # replica set. This override is not needed when running the setup after
  74. # starting up mongo.
  75. - mongo:127.0.0.1