Просмотр исходного кода

Merge pull request #7381 from overleaf/em-revert-node-16

Revert part of the Node 16 upgrade

GitOrigin-RevId: 0b1f7c1af6d692510a206bb73dae605ae8095023
Eric Mc Sween 4 лет назад
Родитель
Сommit
2401909919
40 измененных файлов с 59 добавлено и 77 удалено
  1. 1 1
      services/clsi/.nvmrc
  2. 1 1
      services/clsi/Dockerfile
  3. 1 1
      services/clsi/Makefile
  4. 2 1
      services/clsi/buildscript.txt
  5. 0 14
      services/clsi/install_deps.sh
  6. 1 1
      services/clsi/test/bench/hashbench.js
  7. 1 1
      services/clsi/test/unit/js/ContentCacheManagerTests.js
  8. 1 1
      services/contacts/.nvmrc
  9. 1 1
      services/contacts/Dockerfile
  10. 1 1
      services/contacts/Makefile
  11. 2 1
      services/contacts/buildscript.txt
  12. 2 2
      services/contacts/docker-compose.yml
  13. 1 1
      services/docstore/.nvmrc
  14. 1 1
      services/docstore/Dockerfile
  15. 1 1
      services/docstore/Makefile
  16. 2 1
      services/docstore/buildscript.txt
  17. 2 2
      services/docstore/docker-compose.yml
  18. 1 1
      services/notifications/.nvmrc
  19. 1 1
      services/notifications/Dockerfile
  20. 1 1
      services/notifications/Makefile
  21. 2 1
      services/notifications/buildscript.txt
  22. 2 2
      services/notifications/docker-compose.yml
  23. 1 1
      services/real-time/.nvmrc
  24. 1 1
      services/real-time/Dockerfile
  25. 1 1
      services/real-time/Makefile
  26. 2 1
      services/real-time/buildscript.txt
  27. 2 2
      services/real-time/docker-compose.yml
  28. 1 1
      services/spelling/.nvmrc
  29. 1 1
      services/spelling/Dockerfile
  30. 1 1
      services/spelling/Makefile
  31. 2 1
      services/spelling/buildscript.txt
  32. 9 1
      services/spelling/install_deps.sh
  33. 1 20
      services/spelling/test/acceptance/js/CheckTest.js
  34. 1 1
      services/track-changes/.nvmrc
  35. 1 1
      services/track-changes/Dockerfile
  36. 1 1
      services/track-changes/Makefile
  37. 1 1
      services/track-changes/app/js/HttpController.js
  38. 1 1
      services/track-changes/app/js/ZipManager.js
  39. 2 1
      services/track-changes/buildscript.txt
  40. 2 2
      services/track-changes/docker-compose.yml

+ 1 - 1
services/clsi/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/clsi/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/clsi
 COPY services/clsi/install_deps.sh /overleaf/services/clsi/

+ 1 - 1
services/clsi/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 2 - 1
services/clsi/buildscript.txt

@@ -5,6 +5,7 @@ clsi
 --env-add=ENABLE_PDF_CACHING="true",PDF_CACHING_ENABLE_WORKER_POOL="true"
 --env-pass-through=TEXLIVE_IMAGE
 --has-custom-cloudbuild=True
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=True
 --script-version=4.1.0

+ 0 - 14
services/clsi/install_deps.sh

@@ -8,17 +8,3 @@ apt-get install -y \
   ghostscript \
 
 rm -rf /var/lib/apt/lists/*
-
-# Allow ImageMagick to process PDF files. This is for tests only, but since we
-# use the production images for tests, this will apply to production as well.
-patch /etc/ImageMagick-6/policy.xml <<EOF
---- old.xml	2022-03-23 09:16:03.985433900 -0400
-+++ new.xml	2022-03-23 09:16:18.625471992 -0400
-@@ -91,6 +91,5 @@
-   <policy domain="coder" rights="none" pattern="PS2" />
-   <policy domain="coder" rights="none" pattern="PS3" />
-   <policy domain="coder" rights="none" pattern="EPS" />
--  <policy domain="coder" rights="none" pattern="PDF" />
-   <policy domain="coder" rights="none" pattern="XPS" />
- </policymap>
-EOF

+ 1 - 1
services/clsi/test/bench/hashbench.js

@@ -28,7 +28,7 @@ function test(hashType, filePath, callback) {
       ContentCacheManager.update(dir, filePath, x => {
         const t2 = process.hrtime.bigint()
         const warm = Number(t2 - t1) / 1e6
-        fs.rm(dir, { recursive: true, force: true }, err => {
+        fs.rmdir(dir, { recursive: true }, err => {
           if (err) {
             return callback(err)
           }

+ 1 - 1
services/clsi/test/unit/js/ContentCacheManagerTests.js

@@ -40,7 +40,7 @@ describe('ContentCacheManager', function () {
   })
 
   before(async function () {
-    await fs.promises.rm(contentDir, { recursive: true, force: true })
+    await fs.promises.rmdir(contentDir, { recursive: true })
     await fs.promises.mkdir(contentDir, { recursive: true })
     await fs.promises.mkdir(Path.dirname(pdfPath), { recursive: true })
   })

+ 1 - 1
services/contacts/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/contacts/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/contacts
 

+ 1 - 1
services/contacts/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 2 - 1
services/contacts/buildscript.txt

@@ -3,6 +3,7 @@ contacts
 --docker-repos=gcr.io/overleaf-ops
 --env-add=
 --env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=False
 --script-version=4.1.0

+ 2 - 2
services/contacts/docker-compose.yml

@@ -6,7 +6,7 @@ version: "2.3"
 
 services:
   test_unit:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/contacts
       - ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
     user: node
 
   test_acceptance:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/contacts
       - ../../node_modules:/overleaf/node_modules

+ 1 - 1
services/docstore/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/docstore/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/docstore
 

+ 1 - 1
services/docstore/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 2 - 1
services/docstore/buildscript.txt

@@ -3,6 +3,7 @@ docstore
 --docker-repos=gcr.io/overleaf-ops
 --env-add=
 --env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=True
 --script-version=4.1.0

+ 2 - 2
services/docstore/docker-compose.yml

@@ -6,7 +6,7 @@ version: "2.3"
 
 services:
   test_unit:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/docstore
       - ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
     user: node
 
   test_acceptance:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/docstore
       - ../../node_modules:/overleaf/node_modules

+ 1 - 1
services/notifications/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/notifications/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/notifications
 

+ 1 - 1
services/notifications/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 2 - 1
services/notifications/buildscript.txt

@@ -3,6 +3,7 @@ notifications
 --docker-repos=gcr.io/overleaf-ops
 --env-add=
 --env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=True
 --script-version=4.1.0

+ 2 - 2
services/notifications/docker-compose.yml

@@ -6,7 +6,7 @@ version: "2.3"
 
 services:
   test_unit:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/notifications
       - ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
     user: node
 
   test_acceptance:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/notifications
       - ../../node_modules:/overleaf/node_modules

+ 1 - 1
services/real-time/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/real-time/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/real-time
 

+ 1 - 1
services/real-time/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 2 - 1
services/real-time/buildscript.txt

@@ -3,6 +3,7 @@ real-time
 --docker-repos=gcr.io/overleaf-ops
 --env-add=
 --env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=True
 --script-version=4.1.0

+ 2 - 2
services/real-time/docker-compose.yml

@@ -6,7 +6,7 @@ version: "2.3"
 
 services:
   test_unit:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/real-time
       - ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
     user: node
 
   test_acceptance:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/real-time
       - ../../node_modules:/overleaf/node_modules

+ 1 - 1
services/spelling/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/spelling/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/spelling
 COPY services/spelling/install_deps.sh /overleaf/services/spelling/

+ 1 - 1
services/spelling/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 2 - 1
services/spelling/buildscript.txt

@@ -4,6 +4,7 @@ spelling
 --docker-repos=gcr.io/overleaf-ops
 --env-add=
 --env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=False
 --script-version=4.1.0

+ 9 - 1
services/spelling/install_deps.sh

@@ -2,11 +2,19 @@
 
 set -ex
 
+echo 'APT::Default-Release "stretch";' >/etc/apt/apt.conf.d/default-release
+
 # The following aspell packages exist in Ubuntu but not Debian:
 # aspell-af, aspell-id, aspell-nr, aspell-ns, aspell-st, aspell-tn, aspell-ts, aspell-xhu
 echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main universe" > /etc/apt/sources.list.d/focal-amd.list
 echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main universe" > /etc/apt/sources.list.d/focal-ports-arm.list
 apt-key adv --no-tty --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
+# Need to install aspell-no from testing (buster) as broken in stable (stretch).
+echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
 
 apt-get update
-apt-get install -y aspell aspell-en aspell-af aspell-ar aspell-ar-large aspell-bg aspell-br aspell-ca aspell-cs aspell-cy aspell-da aspell-de aspell-de-1901 aspell-el aspell-eo aspell-es aspell-et aspell-eu-es aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-hr aspell-hsb aspell-id aspell-it aspell-kk aspell-ku aspell-lt aspell-lv aspell-nl aspell-no aspell-nr aspell-ns  aspell-pa aspell-pl aspell-pt aspell-pt-br aspell-ro aspell-ru aspell-sk aspell-sl aspell-st aspell-sv aspell-tl aspell-tn aspell-ts aspell-xh
+apt-get install -y aspell aspell-en aspell-af aspell-ar aspell-ar-large aspell-bg aspell-br aspell-ca aspell-cs aspell-cy aspell-da aspell-de aspell-de-alt aspell-el aspell-eo aspell-es aspell-et aspell-eu-es aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-hr aspell-hsb aspell-id aspell-it aspell-kk aspell-ku aspell-lt aspell-lv aspell-nl aspell-nr aspell-ns  aspell-pa aspell-pl aspell-pt aspell-pt-br aspell-ro aspell-ru aspell-sk aspell-sl aspell-st aspell-sv aspell-tl aspell-tn aspell-ts aspell-xh
+
+printf 'Package: aspell-*\nPin: release a=unstable\nPin-Priority: 1337\n' \
+  > /etc/apt/preferences.d/aspell-from-unstable
+apt-get install aspell-no

+ 1 - 20
services/spelling/test/acceptance/js/CheckTest.js

@@ -27,26 +27,7 @@ describe('checking words', function () {
     it('should return the list of misspellings', async function () {
       const body = JSON.parse(response.body)
       expect(body).to.deep.equal({
-        misspellings: [
-          {
-            index: 0,
-            suggestions: [
-              'anther',
-              'another',
-              'anthers',
-              'panther',
-              'anathema',
-              'anthem',
-              'nether',
-              "anther's",
-              'ante',
-              'neither',
-              'norther',
-              'ether',
-              'other',
-            ],
-          },
-        ],
+        misspellings: [{ index: 0, suggestions: ['anther', 'another'] }],
       })
     })
   })

+ 1 - 1
services/track-changes/.nvmrc

@@ -1 +1 @@
-16.14.2
+14.18.3

+ 1 - 1
services/track-changes/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
 
 WORKDIR /overleaf/services/track-changes
 

+ 1 - 1
services/track-changes/Makefile

@@ -30,7 +30,7 @@ HERE=$(shell pwd)
 MONOREPO=$(shell cd ../../ && pwd)
 # Run the linting commands in the scope of the monorepo.
 # Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
 
 format:
 	$(RUN_LINTING) format

+ 1 - 1
services/track-changes/app/js/HttpController.js

@@ -238,7 +238,7 @@ module.exports = HttpController = {
     UpdatesManager.exportProject(
       project_id,
       function (err, { updates, userIds }, confirmWrite) {
-        const abortStreaming = req.destroyed || res.finished || res.destroyed
+        const abortStreaming = req.aborted || res.finished || res.destroyed
         if (abortStreaming) {
           // Tell the producer to stop emitting data
           if (confirmWrite) confirmWrite(new Error('stop'))

+ 1 - 1
services/track-changes/app/js/ZipManager.js

@@ -162,7 +162,7 @@ async function makeTempDirectory() {
  * Clean up a temporary directory made with makeTempDirectory()
  */
 function cleanupTempDirectory(tmpdir) {
-  fs.promises.rm(tmpdir, { recursive: true, force: true }).catch(err => {
+  fs.promises.rmdir(tmpdir, { recursive: true }).catch(err => {
     if (err) {
       logger.warn({ err, tmpdir }, 'Failed to clean up temp directory')
     }

+ 2 - 1
services/track-changes/buildscript.txt

@@ -3,6 +3,7 @@ track-changes
 --docker-repos=gcr.io/overleaf-ops
 --env-add=AWS_BUCKET=bucket
 --env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
 --public-repo=True
 --script-version=4.1.0

+ 2 - 2
services/track-changes/docker-compose.yml

@@ -6,7 +6,7 @@ version: "2.3"
 
 services:
   test_unit:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/track-changes
       - ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
     user: node
 
   test_acceptance:
-    image: node:16.14.2
+    image: gcr.io/overleaf-ops/node:14.18.3
     volumes:
       - .:/overleaf/services/track-changes
       - ../../node_modules:/overleaf/node_modules