Commit Graph
100 Commits
Author SHA1 Message Date
Jakob Ackermann db1966b0aa [monorepo] switch from cypress-reports to reports (#29183)
* [monorepo] switch from cypress-reports to reports

* [saas-e2e] collect junit reports from new editor tests

* [saas-e2e] simplify setup for semaphore variable in Jenkins pipeline

We do not retry pipelines anymore.

* [saas-e2e] put new editor tests into their own namespace

GitOrigin-RevId: 1869310bf58f0b5b0081dcae2f16ec1a267caec6
2025-10-21 08:06:13 +00:00
Jakob Ackermann 72b8f9b9d2 [server-ce] test: align build Jenkins triggers with saas-e2e (#29198)
GitOrigin-RevId: 55e35ca7f45d2b732aefa04560d5df95d8e8c034
2025-10-20 08:05:54 +00:00
Jakob Ackermann a4e29d5380 [monorepo] don't fight with prettier, do not run on json files (#29135)
I've tried a lots of variants for the ignore rule. It does not work.

GitOrigin-RevId: 08bf3df1d2629dcfc6eccc98df098ce094466d5b
2025-10-20 08:05:11 +00:00
Jakob Ackermann ad3e8bd65d [web] fix clearing of clsi persistence during migration to new key (#29172)
GitOrigin-RevId: 1d9e6eb87f8f27792fdc866e7dcc29b47e1b2547
2025-10-17 08:06:06 +00:00
Jakob Ackermann 706971ef41 [web] shard compile server persistence by compileBackendClass (#29156)
* [web] shard compile server persistence by compileBackendClass

* [web] make prettier happy

GitOrigin-RevId: d7cf8bde07e7110053d9d7531c007111af5cc46b
2025-10-17 08:06:02 +00:00
Jakob Ackermann fbea855690 [web] switch dark compiles to n4 (#29133)
* [clsi-perf] run compiles on any backend with prefix clsi_compile

* [clsi-lb] add n4 backend

* [terraform] clsi: add n4 instances

* [web] switch dark compiles to n4

* [terraform] clsi: remove c4d instances

* [terraform] clsi: scale up n4 instances

GitOrigin-RevId: 8f2d98ef6c3c503366c92c4f148a8dd7394cebd2
2025-10-16 08:07:21 +00:00
Jakob Ackermann af2c470c2c [web] fix docker image tag for branch builds (#29109)
GitOrigin-RevId: 07e9b6a615622a0d6b9dbc2fbc43434752cc2a9b
2025-10-16 08:06:11 +00:00
Jakob Ackermann 0182ad0046 [monorepo] compute IMAGE_CACHE lazily (#29087)
GitOrigin-RevId: de287c89c1cea858d0609265945266be19d7ea26
2025-10-15 08:07:47 +00:00
Jakob Ackermann 15a6e8ba04 [monorepo] use content hash as docker image cache key (#29046)
* [monorepo] remove docker-repos flag from build scripts

* [monorepo] use content hash as docker image cache key

* [packer] jenkins-worker: populate build cache for all services

* [v1] adopt smarter docker caching

* [latexqc] adopt smarter docker caching

* [monorepo] refresh docker cache in Jenkins

* [packer] jenkins-worker: increase disk size

* [monorepo] run jenkins_docker_build_cache as Jenkins user for v1

* [monorepo] define MONOREPO at the top of all the Makefiles

* [monorepo] add --build-arg BUILDKIT_INLINE_CACHE=1 everywhere

GitOrigin-RevId: 8110c6e68727a52ea80f3ec71711d30e17d69499
2025-10-15 08:06:41 +00:00
Jakob Ackermann ca498ed047 [server-ce] trigger Server Pro E2E tests for all web module changes (#29056)
The rake deploy:app task is expecting a build for all web changes.
Triggering a few extra Server Pro E2E test runs is cheaper than making
the rake task smarter.

GitOrigin-RevId: a8380417d4a323b3d2a008eeb6ee26bc0ad151d9
2025-10-15 08:06:10 +00:00
Jakob Ackermann ddb99b72bf [monorepo] fixes for Jenkins (#29027)
* [packer] jenkins-worker: pull TL2017 for clsi

* [tpdsworker] add stub file for test/setup.js

* [linked-url-proxy] update package-lock.json

* [packer] jenkins: discover common Jenkinsfiles from jobs and libraries

* [linked-url-proxy] fix mocharc path for mocha-multi-reporters

* [linked-url-proxy] install prettier and eslint inside docker

* [linked-url-proxy] make prettier happy

* [linked-url-proxy] add patch for mocha-multi-reporters

* [clsi] pull TL2017

* [monorepo] add bind mount for reports folder for unit tests

GitOrigin-RevId: d0d3d92f963c15549125a298ca4fd50d8a0e83da
2025-10-14 08:05:48 +00:00
Jakob Ackermann fd0d21fbbd [monorepo] migrate build scripts to Jenkins (#29019)
* [monorepo] migrate build scripts to Jenkins

* [fraud-dash] fix integration with monorepo

GitOrigin-RevId: 6a30ec5ea68a1eae9b663faf9ccdc741ec7f9cf8
2025-10-13 08:07:11 +00:00
Jakob Ackermann 2390823a30 [monorepo] run Jenkins cleanup in parallel (#29015)
GitOrigin-RevId: 5e0df1cec874950b91edf86a2ca40b358366a897
2025-10-13 08:06:58 +00:00
Jakob Ackermann 0ca3813a00 [libraries] align test setup (#29009)
* [libraries] move all the unit tests into test/unit

* [settings] remove empty test file

* [mongo-utils] remove test setup as there are no tests

* [libraries] ensure that all libraries with tests have test/setup.js

* [monorepo] remove test step from Cloud build for libraries without tests

GitOrigin-RevId: b9a0a8a3330db7d8646c7a272b03fbb8c5e44bc0
2025-10-13 08:06:53 +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 dd3c1b686e [document-updater] fix test after other async/await work (#28944)
GitOrigin-RevId: 7338f340924b3355dac39a86c40327a2964c3020
2025-10-09 08:08:02 +00:00
Jakob Ackermann d648c96603 [document-updater] migrate HistoryManager to async/await (#28789)
shouldFlushHistoryOps has a default value for 'threshold', which keeps
the exports simpler and still lets the unit tests override it.

GitOrigin-RevId: 1c6d4a2778052b5af40e2e338589a230ac2f4646
2025-10-09 08:07:36 +00:00
Jakob Ackermann b0b9733a42 [document-updater] migrate ProjectFlusher to async/await (#28796)
GitOrigin-RevId: 24f61d6c0fab5d65b962cc7031ce0b8c84d5a915
2025-10-09 08:07:31 +00:00
Jakob Ackermann 3913008e02 [web] convert GeoIpLookup to async/await (#28802)
GitOrigin-RevId: 38ad8af970a0674a514bf5ed0dacb8becd7c1f72
2025-10-09 08:06:00 +00:00
Jakob AckermannandEric Mc Sween e03ca5a3a8 [server-ce] tests: migrate host-admin to ESM, zod and npm-workspaces (#28838)
* [server-ce] tests: migrate host-admin to ESM, zod and npm-workspaces

* [server-ce] test: use import.meta.dirname

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

* [server-ce] test: fix zod schema for docker compose endpoint

---------

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: d490948693f341210c0ab5c2947db7c9a17775ef
2025-10-07 08:07:06 +00:00
Jakob Ackermann c621d0f318 [git-bridge] migrate pipeline to Jenkins (#28763)
* [git-bridge] migrate pipeline to Jenkins

* [terraform] remove cloud build trigger for git-bridge

GitOrigin-RevId: fdf842a561c00a609f2de0cab894a761900322c6
2025-10-07 08:06:48 +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
Jakob Ackermann 5fe9d3d6e9 [monorepo] migrate monorepo checks to Jenkins (#28765)
GitOrigin-RevId: ebc3db95cebe99226f8de0f66c1830eb5d78e26c
2025-10-01 08:06:28 +00:00
Jakob Ackermann 7488c80b36 [web] bring back initial compile from cache (#28771)
GitOrigin-RevId: 0021eb3a3cb242195369e4f6abf67653e551e362
2025-10-01 08:06:12 +00:00
Jakob Ackermann e05ec0321b [server-pro] extend hotfix 5.5.5: avoid creating user_files directory (#28738)
* [WIP] restore 100_make_overleaf_data_dirs.sh

* [WIP] patch for hotfix 5.5.5

* Revert "[WIP] patch for hotfix 5.5.5"

This reverts commit cc83a526ecd86ed7b1a0e061b074d2fb15d4d672.

* Revert "[WIP] restore 100_make_overleaf_data_dirs.sh"

This reverts commit e9b0597fe8451e9ef1deaf7ed31790f7d7fc996e.

* [server-pro] extend hotfix 5.5.5: avoid creating user_files directory

* [server-ce] run binary files migration in CI

GitOrigin-RevId: ac5bb86df92b441201c69dfac6b302058b501d8e
2025-09-29 08:07:01 +00:00
Jakob Ackermann a51ba7a7d5 [server-ce] tests: add junit integration for Jenkins (#28732)
GitOrigin-RevId: b4c96ad71a02bf57c184a8031f475e3d1548c58a
2025-09-29 08:06:46 +00:00
Jakob Ackermann 2db902bdd2 [monorepo] remove debug logging for mongo containers (#28716)
GitOrigin-RevId: 5034cadca5933c6c29c190aa171f52b71216ec6d
2025-09-29 08:06:37 +00:00
Jakob Ackermann c1446b9d34 [real-time] reduce delay in test for faster CI VM (#28721)
GitOrigin-RevId: 34da567ca7101a8f5070e2bd20aba4f87b231b5b
2025-09-29 08:06:19 +00:00
Jakob Ackermann 3b232ca419 [server-pro] add caching to docker build (#27887)
GitOrigin-RevId: 26a5f8b66f710afec3aedb5e55d205095d6e0a7d
2025-09-29 08:05:41 +00:00
9b2fcbe960 [monorepo] optimize Jenkins build triggers for services (#28477)
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: ea7d6c435d4a81a0f42ea9b608a0cc79087cdffd
2025-09-24 08:06:43 +00:00
Jakob Ackermann 1726d9d0a2 [web] fix footer for storybook index.html (#28600)
GitOrigin-RevId: 462e11a54619998f5ece336f8dfa5b0109608d81
2025-09-22 08:05:48 +00:00
Jakob Ackermann 41afa304b7 [web] switch storybook build to Jenkins (#28590)
* [web] add Jenkins pipeline for storybook

* [web] fix storybook build

* [terraform] dev-project: switch writer for storybook bucket to Jenkins

* [web] remove explicit dependency

* [terraform] dev-project: link service account

* [web] tweak storybook index.html

- explicitly sort entries
- remove index.html

* [packer] jenkins-worker: install m4

* [web] remove cloud build trigger for storybook

GitOrigin-RevId: a1aa70ee91644f876d95ae7bc6643b0a1ef59759
2025-09-22 08:05:28 +00:00
Jakob Ackermann a6e9a5c7e9 [monorepo] run prettier on Jenkinsfiles (#28565)
* [monorepo] consolidate .editorconfig files at the root

* [monorepo] run prettier on Jenkinsfiles

* [saas-e2e] increase timeout for XeTeX compile

GitOrigin-RevId: 48aa82f7c81611899837753ae92c7732998d4ca5
2025-09-19 08:07:49 +00:00
Jakob Ackermann 66934586b1 [monorepo] reset Jenkins pipeline vars (#28573)
GitOrigin-RevId: 9523895a16262fc7d9b8eecc716e72cdb6cb5d1a
2025-09-19 08:07:44 +00:00
Jakob Ackermann 25aee002bc [monorepo] drop package-lock entry for the removed spelling service (#28566)
GitOrigin-RevId: fb12101366a726a3a630f095ebefcd208c3bc920
2025-09-19 08:07:07 +00:00
Jakob Ackermann 74746a096c [monorepo] rebuild lezer output as part of 'make install' (#28545)
* [monorepo] rebuild lezer output as part of 'make install'

* [monorepo] run 'make install' with high concurrency in Jenkins

* [monorepo] rebuild lezer parser output once

* [monorepo] headless npm run

* [web] update docs for lezer

GitOrigin-RevId: f385bb8a9cdab1a6bfc28a8843b5128ceec364ec
2025-09-18 08:06:02 +00:00
Jakob Ackermann ada2b75a92 [web] fix retries in Jenkins (#28542)
GitOrigin-RevId: b808200371b972a0fd5206993463c6a6d8c795e9
2025-09-18 08:05:48 +00:00
Jakob Ackermann 1fe750910e [monorepo] add 3 retries to all the Jenkins pipelines (#28516)
GitOrigin-RevId: d52cb329481586daddade00cecc91875e9ae0de6
2025-09-17 08:05:38 +00:00
Jakob Ackermann a13fca15d3 [saas-e2e] harden recompiling (#28514)
* [saas-e2e] harden recompiling

* [server-ce] import changes from SaaS e2e tests

GitOrigin-RevId: 9b86ed864457b068b8dded94a7e12658a047aac2
2025-09-17 08:05:34 +00:00
Jakob Ackermann d96cd7d251 [web] bring back sampling for compile-result-backend event (#28383)
GitOrigin-RevId: beec70b77d7ceb8b97d5cb4176bcde7c41cb073f
2025-09-10 08:06:28 +00:00
Jakob Ackermann 690937c14c [web] skip fetching of project history blobs for very large users (#28393)
GitOrigin-RevId: eb43adc2609566e08c0f0fc86a2944b41e20d864
2025-09-10 08:06:23 +00:00
Jakob Ackermann f8d69d05af [web] display project history blob size on admin pages (#28351)
* [history-v1] add endpoint for getting blob stats of projects

* [web] display project history blob size on admin pages

* [web] break down history storage size by text and binary blob

GitOrigin-RevId: bfa4d56cf2c503d03005c13a0f7ac38158156cd2
2025-09-10 08:06:19 +00:00
Jakob Ackermann 644db1722e [web] double compile 10% of free projects on c2d (#28303)
GitOrigin-RevId: 2cb303881e61e31aa77be3c053eeac0d4b30412f
2025-09-05 08:06:41 +00:00
Jakob Ackermann b5fc004c0a [history-v1] add script for listing owned projects with size (#28292)
* [history-v1] add script for listing owned projects with size

* [history-v1] handle project with no blobs record

* [history-v1] add plain sumBytes for easy sum in spreadsheet

GitOrigin-RevId: c20af189c223f867a6033cfb904f92a3a10c7cfb
2025-09-05 08:05:33 +00:00
Jakob Ackermann 16422f972b Merge pull request #28265 from overleaf/jpa-double-compile
[web] add c2d -> c4d double compile test

GitOrigin-RevId: 186cfa867d3db5786c6d4888dfe1ca2f46a5bb0c
2025-09-04 08:05:10 +00:00
Jakob Ackermann 03320bb377 Merge pull request #28264 from overleaf/jpa-synctex
[web] use standard request handling for SyncTeX requests

GitOrigin-RevId: ad5ba1834241d5939675f2533940ade741fc5abf
2025-09-04 08:05:06 +00:00
Jakob Ackermann a85b2b34f5 Merge pull request #28233 from overleaf/jpa-clsi-lb-clear
[web] clear clsi server id/output files in both clsi-lb backends

GitOrigin-RevId: b73ccc2017800d9abbb8f571efeb34f51c9f96c1
2025-09-04 08:04:58 +00:00
Jakob Ackermann bd4130c147 [filestore] remove user files endpoints (#28125)
* [filestore] remove user files endpoints

* [web] remove user files integration for filestore

GitOrigin-RevId: 565fa68a659c07420ee6141d0f276b4e4d2972e0
2025-09-02 08:04:52 +00:00
Jakob Ackermann 2036947981 [server-pro] test: harden reconfiguring (#28193)
When reconfiguring fails, the config snapshot in the frontend is not
updated. When the next test uses the previous config, it will not
attempt to restore that config again, and instead use the other config.
Reset the config before making changes to ensure all tests get their
desired config, even when reconfiguring fails.

GitOrigin-RevId: 0939e709cf93da820a86fef2599940669138d728
2025-09-01 08:05:17 +00:00
Jakob AckermannandGernot Schulz 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
Jakob Ackermann 2c9ce619dd [monorepo] document jenkins pipelines (#27954)
* [saas-e2e] reset database when db-migration files were removed

* [monorepo] document jenkins pipelines

* [monorepo] trim docs for jenkins pipelines

GitOrigin-RevId: 783ad94f05b36f4057e3ac6cc8b8c40f850e5d2f
2025-08-19 08:06:02 +00:00
Jakob Ackermann 56f41c77ff [history-v1] add migrations record after full binary file migration (#27932)
* [history-v1] add migrations record after full binary file migration

* [server-pro] add hotfix 5.5.5

* [server-ce] test: build hotfix 5.5.5 and use it in tests

GitOrigin-RevId: fb84e5710c59f466a3305de5f32f78e0ac9ce15d
2025-08-19 08:05:54 +00:00
Jakob Ackermann d697f00525 [web] reduce log noise in CI (#27961)
* [web] reduce noise from CollectPayPalPastDueInvoiceTest

* [web] reduce noise for frontend tests that use Range.getClientRects

* [web] avoid nesting <li> elements in ProjectToolsMoreDropdownButton

RenameProjectMenuItem/CopyProjectMenuItem will return <li> elements.

* [web] avoid clicking on links that navigate away in JSDom

* [web] add mock for location change in JSDom

* [web] add fallback stripe subscription data for test

3.8k lines of log noise!

GitOrigin-RevId: 7adab182487a6c07ac9809c60802e498a0edb0ec
2025-08-19 08:05:50 +00:00
Jakob Ackermann 443e7adb47 [server-ce] update link to CLA in PR template (#27943)
GitOrigin-RevId: d822884e4118c87a25b8476afef4be66ba078844
2025-08-18 08:06:12 +00:00
Jakob Ackermann 22e5899e30 [web] run sentry as current user to match up with the git-repo owner (#27964)
GitOrigin-RevId: a0736a6d7d8a24ec6a7b539526f52d3c2749c0bb
2025-08-18 08:06:08 +00:00
Jakob Ackermann d95be3dbfc [web] fix sentry upload (#27960)
GitOrigin-RevId: a151486769a18d1a17f427ea6d8613821db5ef14
2025-08-18 08:06:01 +00:00
Jakob Ackermann a2fc208833 [web] update Jenkins pipeline following rename of redis container (#27957)
GitOrigin-RevId: dee9a5e22d0de96b77a9e12f1826fab9856479a3
2025-08-18 08:05:57 +00:00
Jakob Ackermann f7970fea29 [web] fix sentry upload (#27956)
GitOrigin-RevId: e83670af74da82e385e312a62904eaeb9b7fbef8
2025-08-18 08:05:52 +00:00
Jakob Ackermann ea028442cd [web] tweaks for jenkins pipeline (#27952)
* [web] move sentry upload into a Makefile target

* [web] fix typos in jenkins pipeline

* [web] fix BRANCH_NAME for PR builds

This is currently "true". Just use PR-xxx for now.

* [web] remove explicit pull of main-deps for Jenkins

In Jenkins we do not need to wait for the cloud-builder image. The
docker build can start right away. Let docker validate the remote cache
and pull it if needed.

* [packer] jenkins-worker: prefetch sentry image

* [packer] jenkins-worker: switch to production AR

* [packer] jenkins-worker: wait for monorepo setup before pulling sentry

* [web] cloudbuild: fix directory for prefetch_sentry

GitOrigin-RevId: ec394bbf51efd516f0ade8813014dec9b63fb732
2025-08-18 08:05:44 +00:00
Jakob Ackermann 21f0490456 [server-ce] force cleanup of docker images (#27944)
GitOrigin-RevId: d515f191c660e382c16497544a6d13e434a3c9e2
2025-08-18 08:05:21 +00:00
Jakob Ackermann e9bbc113a0 [server-pro] trust local nginx proxy running inside Server Pro/CE (#27719)
GitOrigin-RevId: ed9bb136effb1602aa0239b107c116fd6385ebbc
2025-08-15 08:05:26 +00:00
Jakob Ackermann b6b6bf82bd [monorepo] try harder at timing out Jenkins builds (#27897)
GitOrigin-RevId: 9d9b675d4603da761b725ab0470ecc7af4141ef0
2025-08-14 08:06:49 +00:00
Jakob AckermannandAntoine Clausse df383265c3 [saas-e2e] adjust project name for new SpamSafe limits (#27875)
* [saas-e2e] adjust project name for new SpamSafe limits

* [saas-e2e] stay below 6 digits for spam safe project name

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 77c039312c01b33aeb3b57661ec6ca5b88a0a36b
2025-08-14 08:06:02 +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 cbe86818a7 [web] add config option for project/user hard deletion delay (#27725)
GitOrigin-RevId: db8030d6c8a3cdf8490edafcfa436cdbcd80fc28
2025-08-13 08:06:17 +00:00
Jakob Ackermann d055f01c00 [web] add config option for custom maintenance message (#27618)
GitOrigin-RevId: e01eebecce780af6e9e3f8b82321cb7776d414e2
2025-08-13 08:06:12 +00:00
Jakob Ackermann 898a0b534e [web] add missing cleanup targets (#27815)
GitOrigin-RevId: e06474d2e36958b365631a314900be84439b23fc
2025-08-12 08:07:06 +00:00
Jakob Ackermann 4ecfd97345 [web] disable watching of services/web/public/ in cypress (#27796)
GitOrigin-RevId: 8866bdf85bbe0480fb50e9a7b35a0c0f8928d06e
2025-08-12 08:07:02 +00:00
Jakob Ackermann 836e8b5144 [monorepo] extend cleanup in Jenkins VMs (#27793)
* [monorepo] extend docker compose cleanup

* [web] cleanup docker images

Only retain the branch builds for dependencies.

* [server-ce] jenkins: remove build specific image

Retain the branch image as cache.

* [monorepo] jenkins: prune untagged docker images and docker build cache

* [monorepo] jenkins: remove temporary files from monorepo

* [monorepo] jenkins: remove containers from sandboxed compiles

GitOrigin-RevId: c847015986a060c5c84c39cd06236fd73bbf6f3a
2025-08-12 08:06:27 +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
Jakob Ackermann 215059f461 [web] add audit log for changing admin access in Server Pro via SSO (#27631)
* [web] add missing await statement in admin-panel tests

* [web] add audit log for changing admin access in Server Pro via SSO

GitOrigin-RevId: 69e994d0b2e0f0e0281ade80acbdf7fb30bd2e89
2025-08-06 08:04:53 +00:00
Jakob Ackermann 16daea27ad [server-ce] tests: optimize sharding (#27635)
* [server-ce] tests: optimize sharding

* [server-ce] tests: remove shard CE_CUSTOM_2

* [server-ce] tests: move project sharing tests onto a new shard

Previously they were on their own CE_CUSTOM_1 shard.

GitOrigin-RevId: de256e04f5956b4651a5dc4ab47cdb5972723c5d
2025-08-06 08:04:46 +00:00
Jakob Ackermann 6da84cdcf6 [server-ce] tests: debug failing mongo startup (#27634)
GitOrigin-RevId: 5b1c272a7e0059d448347d20999eef7ad368bfd5
2025-08-05 08:06:39 +00:00
Jakob Ackermann 48ff696a69 [monorepo] fail fast when parallel build steps fail in Jenkins (#27632)
GitOrigin-RevId: 6362139cc1cd72e00f3eb5900ba94c810c476d82
2025-08-05 08:06:34 +00:00
Jakob Ackermann 98e82e9f88 [server-ce] tests: add jenkins integration (#27600)
* [server-ce] remove unused CE_CUSTOM_3 shard

* [server-ce] tests: add jenkins integration

* [server-ce] tests: log failed host-admin requests in CI

* [server-ce] tests: attempt at reducing flakiness in Cloud Build

GitOrigin-RevId: 8d999efe1ccf041dca148bc8710dddb8561614ab
2025-08-05 08:05:55 +00:00
Jakob Ackermann 5d78fa458c [saas-e2e] add jenkins integration (#27587)
GitOrigin-RevId: a07b33b748964487a066d308577cad9debaa92b2
2025-08-05 08:05:50 +00:00
Jakob Ackermann 7b726fb1ac Merge pull request #27599 from overleaf/jpa-flaky-test
[server-ce] tests: work around overflow of OVERLEAF_APP_NAME

GitOrigin-RevId: da12b8874273319d2b624f10b257b123a3ea44cc
2025-08-05 08:05:29 +00:00
Jakob Ackermann 3e8fa183c9 Merge pull request #27522 from overleaf/jpa-reenable-tests
[server-ce] tests: enable disabled tests again

GitOrigin-RevId: 447b95bfc6b369f574a518ea46a264445efc5985
2025-08-04 08:05:13 +00:00
Jakob Ackermann eed93af1fd Merge pull request #27579 from overleaf/jpa-saas-e2e-split
[saas-e2e] prepare for running in Jenkins

GitOrigin-RevId: 4d87d8a548849c193c5263a3b4f01202876f43a3
2025-08-04 08:05:08 +00:00
Jakob Ackermann dc3207726e Merge pull request #27578 from overleaf/jpa-fix-saas-e2e
[saas-e2e] fix all the broken tests

GitOrigin-RevId: 38e16abc5e2c9392b0d9e585b6bef27a51c386f5
2025-08-04 08:05:04 +00:00
Jakob Ackermann b01459508c [packer] rework jenkins worker image (#27573)
- Use Makefile for coordinating all the independent tasks
- Pull down lots of other docker images, notably all the images for
  running Server Pro E2E tests
- Run copybara to populate it's caches
- Build Server CE and Server Pro images to populate npm caches
- Build all the monorepo images for SaaS E2E tests
- Restore the latest database backup into the CI local dev-env

GitOrigin-RevId: 821b036d1afaf2f00372dc6d0f82a51b4c3b7cc4
2025-08-04 08:04:59 +00:00
Jakob Ackermann dbb2deca5f [server-ce] tests: split prefetching (#27566)
GitOrigin-RevId: de0bfb0d3923749b8844a8812d0a45d71ae4fa0e
2025-08-01 08:07:01 +00:00
Jakob Ackermann 386897266d [web] remove jump-to-location event (#27490)
* [web] remove jump-to-location event

* [web] remove unused imports

GitOrigin-RevId: 2be9405b6c2d3d589184c7c913294b2cbe828250
2025-08-01 08:05:46 +00:00
Jakob Ackermann 092c8aaf32 [server-pro] add hotfix 5.5.4 (#27514)
GitOrigin-RevId: f992fce918d2617017fa5af5be3edd9e54a5919d
2025-07-31 08:05:33 +00:00
Jakob Ackermann 29045b9085 [web] download binary files in clsi from filestore via new endpoints (#27505)
* [history-v1] use String.padStart instead of lodash.padStart

* [web] download binary files in clsi from filestore via new endpoints

* [server-ce] tests: Cypress.env() is parsing boolean values

* [server-ce] tests: run history migration as root

GitOrigin-RevId: bdf6c0e542531ccc4b3f13d2ed68ca0d31e580e9
2025-07-31 08:05:28 +00:00
Jakob AckermannandBrian Gough 21da0253ce [server-ce] work around npm bug for uninstalling devDependencies (#27512)
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: da4c878ae4515672aa67ea77d2d54a08a149e49b
2025-07-31 08:05:23 +00:00
Jakob Ackermann 678d6809b9 [server-ce] run node scripts as www-data user (#27504)
GitOrigin-RevId: 2fbfe1ae33b42a5a9a696be811d122882093cd49
2025-07-31 08:05:15 +00:00
Jakob Ackermann 126e88a505 [server-pro] add missing commit into hotfix 5.5.3 (#27489)
GitOrigin-RevId: a2d337c16eaae96cd9a0d2d2adde922ce43b033f
2025-07-30 08:07:38 +00:00
Jakob Ackermann 1fd4445a34 [history-v1] extend --report with number of files to check/missing (#27397)
* [history-v1] put logs of back_fill_file_hash script in /var/log/overleaf

* [history-v1] do not leave tmp dir behind when using --report

* [history-v1] extend --report with number of files to check/missing

* [history-v1] move all the options into command line flags

Change default values:
- concurrency to 10
- concurrent batches to 1
- stream high water mark to 1MiB

* [web] find_malformed_filetrees: log progress on stderr

* [history-v1] fix percentage of projects that need back-filling

GitOrigin-RevId: ebd7889840f97b24eda43774ffe7524998fb634b
2025-07-30 08:07:12 +00:00
Jakob Ackermann 6a92acf542 Merge pull request #27476 from overleaf/jpa-transfer-all
[web] add script for transferring all of a users projects in Server Pro

GitOrigin-RevId: 3aad2b624e1da2af83fec0715c2e5e08eff43695
2025-07-30 08:06:51 +00:00
Jakob Ackermann 1abb98fac2 Merge pull request #27428 from overleaf/jel-passport-saml-5-patch
[web] Upgrade to passport-saml 5.1.0

GitOrigin-RevId: 6073047a92da55a61fd2d409775d401aba13bb7e
2025-07-28 08:05:25 +00:00
Jakob Ackermann 809ab571d8 Merge pull request #25479 from overleaf/msm-passport-saml-5
[web] Update `passport-saml` to `v5.0.1`

GitOrigin-RevId: 9e154d3f7ef78d37a151e863ce86bfc2f8d85956
2025-07-28 08:05:20 +00:00
Jakob Ackermann 65f1fe1c25 [monorepo] avoid root-owned folders (#27349)
* [server-pro] check_vulnerabilities.sh: move cache into $HOME/.cache

* [monorepo] move root-owned minio certs into docker volume

* [server-pro] check_vulnerabilities.sh: remove unused vars

* [filestore] fix image name for certs container when using sharding

GitOrigin-RevId: c6756e8f24ccc689c12d5f5be2b7f4eee7d9b989
2025-07-28 08:05:16 +00:00
Jakob Ackermann f764098bd6 [monorepo] ensure DOCKER_USER is set and used on all cypress containers (#27346)
* [monorepo] ensure DOCKER_USER is set and used on all cypress containers

* [server-ce] test: deduplicate cypress container config

GitOrigin-RevId: ca569a6c95574df7fb29c99577c18f22cdfb83d8
2025-07-25 08:04:53 +00:00
Jakob Ackermann a877979b11 [server-ce] test filestore migration with upgrade from version 1.x (#27342)
* [server-ce] test filestore migration with upgrade from version 1.x

* [server-ce] tests: drop verbose logs from host-admin in CI

* [server-ce] tests: fix flag following rebase

GitOrigin-RevId: dc00127fc76f87ee3eb5071fd430f4917e8123ff
2025-07-24 08:05:44 +00:00
0546fb7233 [third-party-datastore] improve error handling (#26881)
* [third-party-datastore] use generic serializer for dropboxError

The `err` serializer will not pick up all the dropbox fields.

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>

* [third-party-datastore] handle user_suspended like insufficient_space

Unlink dropbox and display a notification (same key to clear later).

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>

* [third-party-datastore] skip retries when rejected with disallowed_name

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>

* [web] sort translations

* [web] update copy for dropbox_unlinked_because_suspended

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>

---------

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>
Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>
GitOrigin-RevId: 8fbb9074d1d6eb879e904d79dd4b2a2c952ff902
2025-07-22 08:07:13 +00:00
Jakob Ackermann b1880ba64d [monorepo] upgrade tough-cookie in request to latest version (#27249)
GitOrigin-RevId: 9096e05d2c337c3d3a9b4ca6efec8fd40c51a622
2025-07-22 08:07:08 +00:00
Jakob AckermannandKamal Arkinstall 082121d3da [web] reject upload requests without a file path (#27156)
* [web] reject upload requests without a file path

* [web] update copy on error message and link to contact form

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>

* [web] update copy: move dot to the end

---------

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>
GitOrigin-RevId: ba1ee81a91b046540caeb2f3f3da0e305611b35f
2025-07-22 08:07:03 +00:00
Jakob AckermannandBrian Gough 81f0807fc6 [web] prepare filestore migration for Server Pro/CE (#27230)
* [web] prepare filestore migration for Server Pro/CE

* [history-v1] remove unused USER_FILES_BUCKET_NAME env var from script

* [server-ce] tests: write default docker-compose.override.yml on startup

* [server-ce] tests: extend access logging of host-admin for response

* [server-ce] tests: test text and binary file upload

* [server-ce] tests: add tests for filestore migration

* [web] simplify feature gate for filestore/project-history-blobs logic

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [server-ce] test: fix flaky test helper

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f89bdab2749e2b7a49d609e2eac6bf621c727966
2025-07-22 08:06:58 +00:00
Jakob AckermannandBrian Gough bf43d4f709 [history-v1] make back_fill_file_hash_fix_up compatible with Server Pro (#27280)
* [history-v1] move MockFilestore into shared place

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [history-v1] make back_fill_file_hash_fix_up compatible with Server Pro

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 70ea57e1503031d9f14dcd60c4c110e746450587
2025-07-22 08:06:41 +00:00