docker-compose.ci.yml 2.7 KB

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