docker-compose.ci.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. - ./reports:/overleaf/services/docstore/reports
  10. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  11. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  12. command: npm run test:unit:_run
  13. environment:
  14. CI:
  15. MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf
  16. NODE_ENV: test
  17. NODE_OPTIONS: "--unhandled-rejections=strict"
  18. depends_on:
  19. mongo:
  20. condition: service_started
  21. test_acceptance:
  22. build: .
  23. image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
  24. environment:
  25. CI:
  26. ELASTIC_SEARCH_DSN: es:9200
  27. MONGO_HOST: mongo
  28. POSTGRES_HOST: postgres
  29. GCS_API_ENDPOINT: http://gcs:9090
  30. GCS_PROJECT_ID: fake
  31. STORAGE_EMULATOR_HOST: http://gcs:9090/storage/v1
  32. MOCHA_GREP: ${MOCHA_GREP}
  33. NODE_ENV: test
  34. NODE_OPTIONS: "--unhandled-rejections=strict"
  35. volumes:
  36. - ./reports:/overleaf/services/docstore/reports
  37. - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it
  38. depends_on:
  39. mongo:
  40. condition: service_started
  41. gcs:
  42. condition: service_healthy
  43. user: node
  44. entrypoint: /overleaf/bin/shared/wait_for_it mongo:27017 --timeout=60 --
  45. command: npm run test:acceptance
  46. tar:
  47. build: .
  48. image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
  49. volumes:
  50. - ./:/tmp/build/
  51. command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
  52. user: root
  53. mongo:
  54. image: mongo:8.0.11
  55. command: --replSet overleaf --notablescan
  56. volumes:
  57. - ../../bin/shared/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
  58. - ../../bin/shared/mongodb-docker-entrypoint-wait.sh:/mongodb-docker-entrypoint-wait.sh
  59. entrypoint: /mongodb-docker-entrypoint-wait.sh
  60. environment:
  61. MONGO_INITDB_DATABASE: sharelatex
  62. extra_hosts:
  63. # Required when using the automatic database setup for initializing the
  64. # replica set. This override is not needed when running the setup after
  65. # starting up mongo.
  66. - mongo:127.0.0.1
  67. gcs:
  68. image: fsouza/fake-gcs-server:1.45.2
  69. command: ["--port=9090", "--scheme=http"]
  70. healthcheck:
  71. test: wget --quiet --output-document=/dev/null http://localhost:9090/storage/v1/b
  72. interval: 1s
  73. retries: 20