Commit Graph

65 Commits

Author SHA1 Message Date
Anna Claire Fields
59774b34bd add make command (#30469)
GitOrigin-RevId: 8cfbe132e86d305a9069240b13536ae856298f2a
2026-02-18 09:05:50 +00:00
Jakob Ackermann
dbf6401f22 [monorepo] move retries from the outside to the per-test level (#31528)
* [monorepo] move retries from the outside to the per-test level

* [web] increase hookTimeout in CI

* [monorepo] consolidate test retries

- do not retry unit tests
- only retry in ci, optionally locally with "RETRIES=3 make test..."
- add retries for web

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>

---------

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: 86e45edcfb087d18e0e957ad6df9a6105dcd5770
2026-02-16 09:06:48 +00:00
Andrew Rumble
b2d4687c52 [web] Experiment with code coverage (#28029)
* Update test script to allow coverage to be recorded

* Collect coverage in CI

* [web] integrate coverage report with Jenkins

* [web] add coverage report for acceptance tests

* Use --all flag in vitest coverage

* Use --all flag in acceptance tests

* Switch vitest to use istanbul

* Bump versions of vitest plugins and update package-lock.json

* [web] use a dedicated parameter for coverage in unit/acceptance tests

* [web] temporarily generate HTML report and archive artifacts

* [web] do not run acceptance tests as root in CI

* [web] increase hook timeout in vitest when collecting coverage

* [web] exclude packageMapping from coverage report

* [web] use relative paths in clover reports

* [web] reduce concurrency for unit tests in CI

* [web] keep source code forever on builds

* Revert "[web] temporarily generate HTML report and archive artifacts"

This reverts commit 4c9db571

* [web] archive all the raw coverage report files

* [monorepo] update build scripts for web

* [monorepo] update package-lock.json after merge

* [web] remove spurious change

* [web] merge Jenkins parameter sections

* [web] increase hookTimeout when collecting coverage report

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 9f1ec6d38a7b037267737bec3b0bc53a0ac844af
2026-02-10 09:05:36 +00:00
Rebeka Dekany
a648015db8 Centralize prettier configuration to root level (#30501)
* Merge all .prettierignore files into top-level config

* Merge all .prettierrc files into top-level config

* Replace service-specific glob patterns in package.json format scripts with `prettier .`

* Add template files with Jinja2, Go template, envsubst, and Handlebars syntax to .prettierignore

* Ignore GitHub templates

* Ignore PUG templates to format them separately with `format:pug`

* Encourage double quotes for YAML, YML files

* Move prettier for PUG source format script to the root

* Move prettier for styles source format script to the root

* Remove prettier for jenkins files from web

* Remove prettier source format script from all services

* Make .prettierrc more readable

* Update format scripts by file type

* Organise `.prettierignore`

* Add `--cache` flag to prettier scripts for faster runs

* Format all files with prettier

* Format all or format services

* Remove `format`/`format:fix` scripts from services since now it runs from root `package.json`

* Avoid conlficts with yamllint configuration

* Remove `--cache` flag from prettier scripts

* Update all service Makefiles to use root-level prettier configuration

* Update all Jenkinsfile to use root-level prettier configuration

* Ignore auto-generated files by build_scripts

* Update package-lock.json

* Update root Makefile format targets

* Update SP Jenkinsfile format target

* Update E2E Makefile format script

* Udpate `format_js` to work in both local and CI env

* Add docker-mailtrap to .prettierignore

docker-mailtrap is a third-party git-ignored directory used for testing

* Added Docker env detection to prevent nested Docker spawning

* Ignore handlebars templates

* Add cryptographic files and test output to `.prettierignore`

* Add terraform modules to `.gitignore`

* Remove prettier-plugin-groovy

* Use npx directly instead of Docker for local formatting for faster formatting

* Auto-generate Makefiles

* Revert "Remove prettier-plugin-groovy"

This reverts commit 194a33589a2e1e4d2225d10c67e9f025e4222025.

* Mount monorepo root in RUN_LINT_FORMAT for prettier config access

* Prettier ignores all `node_modules` by default regardless of location

* Show only changed files in format output

* Ignore LICENSE files

* Enable prettier on rendered build_scripts outputs

* Ignoring all the template folders by prettier

* Remove the public/minjs entry since it does not exist

* Remove all non-existent paths

* Sync `.prettierignore` with ignored files by `.gitignore` and `.dockerignore` files

* Revert "Auto-generate Makefiles"

This reverts commit c0233e490de1bc95fe437219d65e0b66e0331ec9.

* Revert "Use npx directly instead of Docker for local formatting for faster formatting"

This reverts commit 1d2b2cf1a6c6974c76885852a90dd55e84167e41.

* Ignore dashboard JSON files

* Ignore files generated by bin/update_build_scripts

* Remove unsupported file types from `.prettierignore`

* Ignore test fixture generated files

* Ignore README file types by prettier

* Ignore generate snapshots by prettier

* Allow to format generated bin/update_build_scripts by prettier

* Ensure build script outputs prettier-compatible tsconfig.json

* Fix build script output to match prettier formatting
- Fix Jinja2 whitespace in docker-compose templates
- Change YAML quotes from single to double

* Don't read cryptographic files by prettier

* Ignore google verification files by prettier

* Revert npx prettier formatting

* Ignore domain verification files

* Show only changed files in format output

* Make `.github` prettier

* Allow all files to be formatted in jobs by prettier

* Allow server-ce/server-pro files to be formatted by prettier

* Ignore more folders in clsi, filestory, git-bridge by prettier

* Update build script with `RUN_LINTING_CI_MONOREPO`

* Ignore docker-mailtrap and downloads in server-ce by prettier

* Restore prettier configs and prettierignore for V1 since it has its own prettier (an older version)

* Source format

GitOrigin-RevId: 637adc3cc422d1f20c86d6ebc8ec514d60758287
2026-02-04 09:08:22 +00:00
Jakob Ackermann
14a7e935b8 [web] override timeout for a specific template (#30711)
* [web] override timeout for a specific template

* [web] fix junit integration for vitest

* [web] consolidate on JUNIT_ROOT_SUITE_NAME

* [web] fix unit test

GitOrigin-RevId: 3ba865e4b9c090c7bf8e07dc3d81e9bcee20d821
2026-01-15 14:19:33 +00:00
Jakob Ackermann
425e7b1e5b [web] enable mongo notablescan in CI (#29501)
* [monorepo] record ERROR/FATAL log messages in junit report

* [web] put SaaS specific code behind feature flag

* [web] use split test cache for getting user assignments

The unit tests needed updating as they did not replicate any of the
 mongo filtering. The acceptance tests cover this logic.

* [web] make better use of existing indexes

* [web] avoid col-scan in tests of notifications module

* [web] remove cleanup of empty feedbacks collection

* [web] add assertion for reason of rejected request in launchpad test

* [web] add missing indexes

* [web] enable mongo notablescan

* [web] make emailNotifications tests compatible with notablescan

GitOrigin-RevId: b888f2feeb3a0e915f068ae1c4ea23ec17821221
2026-01-13 09:06:38 +00:00
Jakob Ackermann
49667a605b [web] tweak Jenkins pipeline following move to faster CI VMs (#29188)
* [web] tweak Jenkins pipeline following move to faster CI VMs

The webpack build time has been reduced by about 30%. Adjust the sleep
statement for delaying the webpack build accordingly.

Push the production docker image layers from the parallel steps already.
Use a shared "scratch" tag to avoid generating cruft per branch/build.

* [web] avoid sharing the cypress/downloads folder in CI

GitOrigin-RevId: 52fdf420ec04fd26e3823ff9fca8c52f7a7764d7
2025-10-30 09:07:43 +00:00
Jakob Ackermann
d7623b576f [monorepo] refactor retries in Jenkins to step level (#29008)
* [monorepo] refactor retries in Jenkins to step level

Change the junit reports to use step specific file names. The [hash]
template option was neat in getting unique file names, but results in
duplicate test reports on retry.

* [patches] add support for .cjs config files for mocha-multi-reporters

GitOrigin-RevId: 3a749441470b5ba633e71319589606cfbe860952
2025-10-13 08:06:37 +00:00
Jakob Ackermann
c3c04acfea [web] add junit integration for Jenkins (#28788)
* [web] add junit integration for Jenkins

* [web] integrate junit test report for writefull into Jenkins

* [web] put all the junit test results into namespaces

GitOrigin-RevId: ba1ff07b5ea7bcfa97bb4d6bf7fa9e5291ab7b0f
2025-10-02 08:06:25 +00:00
Borja
22cfe179e1 Writefull codebase migration (#27077)
GitOrigin-RevId: 48ff40d0b141d5bf7c70eaba8beacba7e64f237a
2025-09-18 08:05:57 +00:00
Jakob Ackermann
f9c011473b [web] print mongo logs on acceptance/unit test failure (#28034)
* [web] print mongo logs on acceptance/unit test failure

* [web] turn on logging for mongo again

* [monorepo] improve printing of mongo logs

Co-authored-by: Gernot Schulz <gernot.schulz@overleaf.com>

* [monorepo] fix waiting for mongo startup

---------

Co-authored-by: Gernot Schulz <gernot.schulz@overleaf.com>
GitOrigin-RevId: 713ffacd1f80b134ef3cb84a8f281660ef54e5d6
2025-08-22 08:06:06 +00:00
Eric Mc Sween
cd64720abe Merge pull request #27903 from overleaf/em-unit-tests-redis
Make Redis available to unit tests

GitOrigin-RevId: 7bd403d9ad4be504a87bc9108d60686e6c2a9fb1
2025-08-18 08:05:40 +00:00
Jakob Ackermann
99feb94d4b [monorepo] add workaround for flaky mongo db init (#27833)
* [monorepo] add workaround for flaky mongo db init

Upstream issue: https://github.com/docker-library/mongo/issues/730
Upstream PR: https://github.com/docker-library/mongo/pull/731

* [server-ce] revert entrypoint changes

* [monorepo] fix typo in path

* [server-ce] run E2E tests from internal monorepo in cloudbuild

* [monorepo] avoid repeated changes to mongo entrypoint

GitOrigin-RevId: 617db9caee1600c8a506a7a147723a306e57ded3
2025-08-14 08:05:58 +00:00
Jakob Ackermann
ac9c20e8d2 [monorepo] tweaks for Jenkins/CI (#27761)
* [packer] jenkins-worker: install htop and lsof

* [web] trim tailing space in Jenkinsfile

* [web] cleanup after finishing Jenkins pipeline

* [server-ce] test: cleanup after finishing Jenkins pipeline

* [saas-e2e] add timeout to waiting for rail/web startup

* [monorepo] add 60s timeout for waiting on mongo to startup

* [saas-e2e] cleanup after finishing Jenkins pipeline

GitOrigin-RevId: 9954ab17b4db6a95c444e8e0b55cebb8d5daae59
2025-08-11 08:06:31 +00:00
Alf Eaton
03a4bbb96b Remove "version" from docker-compose files (#27494)
GitOrigin-RevId: 8d9a0e58e3a9c6c4296e4585115d1b259e26a6cd
2025-07-31 08:05:10 +00:00
Christopher Hoskin
7ecee2e0aa Merge pull request #27255 from overleaf/revert-27252-revert-26843-csh-issue-26608-mongo8-dev-ci
Revert "Revert "Upgrade the dev environment and CI to mongo 8""

GitOrigin-RevId: 5074b012504e65240017f1fde9b0d8d04c7b8b61
2025-07-22 08:05:25 +00:00
Christopher Hoskin
f4dc8f7ebc Merge pull request #27252 from overleaf/revert-26843-csh-issue-26608-mongo8-dev-ci
Revert "Upgrade the dev environment and CI to mongo 8"

GitOrigin-RevId: f2145812a5c1cf8d3d3ac31c76cc4aed4ea9d46d
2025-07-21 08:05:01 +00:00
Christopher Hoskin
456f751a18 Merge pull request #26843 from overleaf/csh-issue-26608-mongo8-dev-ci
Upgrade the dev environment and CI to mongo 8

GitOrigin-RevId: 5fc33863094ea2bdb9235372efdc7d0cb492c34a
2025-07-21 08:04:57 +00:00
Jakob Ackermann
8b91b3b749 [misc] wait for mongo before running acceptance tests (#26374)
GitOrigin-RevId: 1fde30c2b630a51f5eda9d318ac721a81cc23607
2025-06-13 08:05:08 +00:00
Christopher Hoskin
fe64856be7 Merge pull request #26021 from overleaf/csh-issue-25976-dev-env-ci
Upgrade to Redis 7.4 in dev and CI

GitOrigin-RevId: 068e54899bf50a247fedd0243d66f1545bc7cf01
2025-06-02 08:05:21 +00:00
Andrew Rumble
0d3025b8cf Add vitest and configuration
GitOrigin-RevId: 1262f9f32a0db6a29d3feedd8158b8dd04e48b6a
2025-05-29 08:04:55 +00:00
Christopher Hoskin
841e32bb64 Merge pull request #25809 from overleaf/csh-issue-22789-ci-mongo-7
Upgrade the dev environment and CI to mongo 7

GitOrigin-RevId: da02881d142d21be47dac7bd2af74520ba8664cd
2025-05-22 08:45:24 +00:00
Jakob Ackermann
f6bd485863 [misc] align initializing of mongodb replica set (#24287)
* [misc] align initializing of mongodb replica set

* [misc] fix volumes for mono container in dev-env

* Remove duplicate volumes key

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 0119c42ee8b13a0fca9373e40a27fc5b2a52d73b
2025-03-17 09:04:58 +00:00
Jakob Ackermann
da31539306 [web] use a tmpfs for the data-dir of the acceptance tests (#23571)
Moving mongodb onto a tmpfs requires too much memory.

GitOrigin-RevId: e870ed8b5349c13e948f7037369fb52356cd562c
2025-02-13 09:06:55 +00:00
Jakob Ackermann
1a45b909c3 [web] tweak logging for CI containers (#23570)
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
2025-02-13 09:06:30 +00:00
Jakob Ackermann
cd5d2da2d2 [web] tweak trigger for prefetching of test images (#23568)
GitOrigin-RevId: 53e7005049809627b071c4bf59493874762121fd
2025-02-13 09:06:16 +00:00
Jakob Ackermann
8e5ebd5512 [web] disable recording of cypress videos in CI (#23530)
GitOrigin-RevId: d3a14418a69a8bc009a137e168ba679b72e7c420
2025-02-12 09:05:25 +00:00
Jakob Ackermann
4983e760bb [web] use tmpfs for transferring /overleaf into cypress image (#23529)
GitOrigin-RevId: e913a4388be6feb6e0cddd098f64452bfa0e7ef7
2025-02-12 09:05:20 +00:00
Jakob Ackermann
0a7b2004d2 [misc] silence logger when running tests (#22243)
* [misc] silence logger when running tests

* [misc] re-enable logging in some tests for scripts

* [misc] make it easy to turn on verbose logging for tests

```
LOG_LEVEL=debug make test_unit
LOG_LEVEL=debug make test_acceptance
```
GitOrigin-RevId: 219bc6d1f9cbdb89ddd7d94742920913ddde4514
2025-02-10 09:06:02 +00:00
Eric Mc Sween
e3485f01da Merge pull request #21472 from overleaf/em-hackathon-mongo-mocks-docker
Do not mock Mongo in unit tests

GitOrigin-RevId: 7a200a4ddc8f91b14e96cf02cb4873c51fc3489a
2025-01-08 09:05:34 +00:00
Hendrik Bonthuys
f2bea32dd8 Merge pull request #16849 from overleaf/hb-issue-16799-mongdodb-v5-to-v6
Bump mongo from 5 to 6 in the dev environment

GitOrigin-RevId: 7b5aa0be57e93e1788acf55405e645556c8eaa13
2024-02-14 09:04:38 +00:00
Jakob Ackermann
63520c7076 Merge pull request #16859 from overleaf/jpa-sharelatex-cleanup
[misc] ShareLaTeX cleanup - high impact

GitOrigin-RevId: 6dcce9b0f15e30f7afcf6d69c3df36a369f38120
2024-02-09 09:04:11 +00:00
Christopher Hoskin
329b2d375a Merge pull request #15993 from overleaf/csh-issue-15655-migrate-remaining-apps
Migrate remaining apps to AR

GitOrigin-RevId: de9406d42c2bb8ae6ef63c6ded1f796563b86713
2023-11-29 09:05:01 +00:00
Jakob Ackermann
6b3dac803d Merge pull request #15006 from overleaf/mj-bad-karma
[web] Remove karma tests and config

GitOrigin-RevId: a157f46d1ecf93fcbc99713a1c3aa11f82e5a619
2023-10-16 08:04:20 +00:00
Jakob Ackermann
42ea0ebf0d Merge pull request #14843 from overleaf/jpa-no-restart
[misc] avoid restarting docker containers in the dev-env

GitOrigin-RevId: a435a5e51a77ab7c7f39c0d540cedda2de851498
2023-09-18 08:03:54 +00:00
Miguel Serrano
6c29e0a36e Merge pull request #13251 from overleaf/msm-update-mongo-5
Update mongo in dev-environment to 5.0.17

GitOrigin-RevId: 37113421b41255ad4b72e120f4fe23808ef7d743
2023-06-01 08:05:18 +00:00
Mathias Jakobsen
11716cbd05 Merge pull request #13020 from overleaf/mj-cypress-test-edit-separately
[web] Run cypress tests for editor separately

GitOrigin-RevId: f614fdb611ebd665aba08fc95efb3970c89a015e
2023-05-11 08:04:39 +00:00
Eric Mc Sween
cff54eae78 Merge pull request #12575 from overleaf/em-fix-chunk-replace-transaction
Fix history chunk replacement transaction

GitOrigin-RevId: fc0fa8f4a55ae5f402ba87db5e4ac2856fe6627b
2023-04-19 08:03:10 +00:00
Jakob Ackermann
3a071c247a Merge pull request #12285 from overleaf/jpa-parallel-cypress-tests
[web] run core and module cypress tests in parallel

GitOrigin-RevId: d71fb94d05a8c554623e401bec8fffca5417177b
2023-03-21 09:04:08 +00:00
Eric Mc Sween
03d8ad5eea Merge pull request #9455 from overleaf/em-recreate-dropbox-entities
Recreate the dropboxEntities collection with new indexes

GitOrigin-RevId: 46e503864cd8b1671072efb05f43b1d4582f35b6
2022-09-02 08:05:09 +00:00
Simon Detheridge
9953822175 Merge pull request #6661 from overleaf/spd-local-tests
Move acceptance test mocks to nonstandard ports and add options for running locally

GitOrigin-RevId: bd8f70ac8d80599daccc51cfe7b90a2ad8d8c3d8
2022-08-10 08:03:45 +00:00
ilkin-overleaf
6452f73aab Merge pull request #9050 from overleaf/ii-cypress-artifacts
Upload cypress artifacts to Google bucket

GitOrigin-RevId: e43ab9259f2cd4030d5edbf35825251bc2804e45
2022-08-01 08:03:19 +00:00
Alf Eaton
53324b0cd2 Add Cypress React component testing (#6974)
GitOrigin-RevId: 1260312a0644f3bc60e007a840045974336e264d
2022-04-05 12:17:30 +00:00
Timothée Alby
33b3d67753 Merge pull request #6758 from overleaf/jpa-cut-ldap-memory-usage
[web] cut memory usage of ldap container

GitOrigin-RevId: 26bbab4f6f84ecaab7d92869259fdaafa72559c0
2022-02-16 11:39:56 +00:00
Jakob Ackermann
ae0c347f27 Merge pull request #6542 from overleaf/jpa-em-code-sharing-workspaces
[misc] npm workspaces

GitOrigin-RevId: 87aa72db6637fb238d7cd35b0a48ac3ed58ab3eb
2022-02-16 11:31:07 +00:00
Eric Mc Sween
f3f0be5c56 Merge pull request #6211 from overleaf/em-code-sharing
Change directory layout in service containers

GitOrigin-RevId: 09ff19db2a123cbf7691d51e9ce9be6eee264287
2022-01-07 09:03:22 +00:00
Henry Oswald
8197411cdf Merge pull request #4891 from overleaf/ho-web-mongo-4-2
bump mongo to 4.2.15

GitOrigin-RevId: 1ac2057f264bd6dbe042d8f999a4ab1054c9edf5
2021-09-15 08:03:54 +00:00
Shane Kilkelly
10deaf5aec Merge pull request #4332 from overleaf/sk-import-server-pro-acceptance-tests
Migrate server-pro acceptance tests to modules

GitOrigin-RevId: 7caf5719d21bbd7fb30901f3e52225fe4cbc9832
2021-07-28 02:06:46 +00:00
Jakob Ackermann
411a12cb2d Merge pull request #4322 from overleaf/jpa-custom-base-config-for-tests
[misc] set up custom base config for acceptance tests

GitOrigin-RevId: bd49c705360488fd75c6ad311afd13f22f81de61
2021-07-20 11:33:41 +00:00
Eric Mc Sween
55bf16c06d Merge pull request #3437 from overleaf/em-project-specific-blobs
Use per-project v1 history blob URLs for git-bridge

GitOrigin-RevId: b68ee2129ceb57f4b7f68262c5bcbadc0952b56f
2020-12-11 03:05:03 +00:00