Migrates the Overleaf monorepo package manager from npm (v11) to Yarn 4 (v4.9.1) using node-modules linker mode.
GitOrigin-RevId: 50d32ab01955c15e29679eff9e9e9cfb897fab2d
* [monorepo] move building of nginx proxy into Makefile
* [v1] add fake-secrets.env
* [github] add copilot-setup-steps.yml workflow
* [make] debug permissions
* [monorepo] use the host uid/gid for monorepo service
* [web] populate DOCKER_USER for test_frontend_ct
* [github] run npm install outside docker in Copilot sandbox
* [monorepo] add comment for building nginx-proxy image locally
* [monorepo] change uid/gid of node user in cypress image
* [monorepo] low-level rewrite of passwd and groups to match host user
GitOrigin-RevId: d74a5801f0318bab7e7f460374255426706002a3
* [web] serve site manifest as application/json
* [monorepo] bail out early from dev-env-setup when inside devcontainer
* [monorepo] move utils for waiting for services into shared bash script
* [monorepo] move domain related env-vars into dedicated .env file
The .env file will be overridden in GitHub Code Spaces.
* [monorepo] remove unused initial_mongo_setup Make target
It was previously used for the mongo replica set setup.
That setup is a docker init script now.
* [monorepo] add flag for silencing docker build output
* [monorepo] add integration for GitHub Code Spaces
* [web] make prettier happy
* [web] restore no use-credentials for manifest outside code spaces
* [monorepo] run make install as part of post-start again
GitOrigin-RevId: 8c2cc3b969b7e3e8f9c5dac778192c9412cbf4df
* adding debug option for web acceptance tests
fix: improving acceptance debug make target and removing duplicate service from docker-compose
* Switching debug mode to use DEBUG=true in test command
---------
Co-authored-by: Liam O'Brien <l.obrien@digital-science.com>
GitOrigin-RevId: 42a2ef53db08eccbf2a52f829a2fb7af997f911e
* 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
* [monorepo] enable caching for eslint/prettier/stylelint
* [monorepo] speed up prettier by swapping --list-different for --check
--list-different will print each file that it processes. We have a lot
of files in the monorepo. Using --check only prints mismatching files.
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
* [monorepo] explicitly configure prettier cache-location
This is the default location. Prettier will only discover that location
if the top level node_modules folder is writable, which is not the case
in CI. We create the .cache folder outside of docker, writable to node
inside docker.
The proper fix would be in prettier, to only check for write access in
the cache folder. Something to raise/upstream another day.
* [monorepo] run top-level format/format_fix in a single container
With the cache in place, it is much faster to use a single container.
As there is a single shared cache file, concurrent processes may see a
partially (re-)written cache file and bail out.
- all in a single container: 24s
- previous with -j4: 41s
- previous with -j8: failed due to corrupted cache file
---------
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 7850a3a980ae6c836393d97fe56a6316ffc3fa18