From ea6c654e63f6b68b69519152060495287d6be9f5 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Wed, 15 Apr 2020 11:28:58 +0100 Subject: [PATCH] unified puppeteer setup (#1412) * unified puppeteer setup * try latest chromium and puppeteer --- .travis.yml | 12 +++---- package-lock.json | 72 +++++++++++++++++++++++++++--------------- package.json | 13 +++++--- scripts/postinstall.sh | 10 ++++++ 4 files changed, 71 insertions(+), 36 deletions(-) create mode 100755 scripts/postinstall.sh diff --git a/.travis.yml b/.travis.yml index 4e5af96e7..a4a1e7719 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,37 +51,37 @@ jobs: before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh - script: npm run wd:update && ng run app-e2e:e2elite --suite "authentication,listViews,navigation,application,pagination,search" + script: ng run app-e2e:e2elite --suite "authentication,listViews,navigation,application,pagination,search" after_script: ./start.sh -d - name: Test Suite actionsAvailable before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh - script: npm run wd:update && ng run app-e2e:e2elite --suite "actionsAvailable" + script: ng run app-e2e:e2elite --suite "actionsAvailable" after_script: ./start.sh -d - name: Test Suite addRemoveContent before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh - script: npm run wd:update && ng run app-e2e:e2elite --suite "addRemoveContent" + script: ng run app-e2e:e2elite --suite "addRemoveContent" after_script: ./start.sh -d - name: Test Suite manageContent before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh - script: npm run wd:update && ng run app-e2e:e2elite --suite "manageContent" + script: ng run app-e2e:e2elite --suite "manageContent" after_script: ./start.sh -d - name: Test Suite sharingContent&markFavorite before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh - script: npm run wd:update && ng run app-e2e:e2elite --suite "sharingContent" + script: ng run app-e2e:e2elite --suite "sharingContent" after_script: ./start.sh -d - name: Test Suite viewContent&metadata&extensions before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh - script: npm run wd:update && ng run app-e2e:e2elite --suite "viewer,infoDrawer,extensions" + script: ng run app-e2e:e2elite --suite "viewer,infoDrawer,extensions" after_script: ./start.sh -d - stage: Trigger DW diff --git a/package-lock.json b/package-lock.json index 7df4d3c46..bc7bf306c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2938,6 +2938,12 @@ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -5481,15 +5487,15 @@ } }, "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, "dependencies": { "debug": { @@ -5501,6 +5507,21 @@ "ms": "2.0.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -5555,9 +5576,9 @@ } }, "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { "pend": "~1.2.0" @@ -6717,7 +6738,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { "depd": "~1.1.2", @@ -8140,13 +8161,13 @@ "dependencies": { "core-js": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", "dev": true }, "es6-promise": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", "dev": true }, @@ -8158,7 +8179,7 @@ }, "readable-stream": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { @@ -8172,7 +8193,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -11096,9 +11117,9 @@ } }, "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, "prr": { @@ -11160,9 +11181,9 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "puppeteer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.0.tgz", - "integrity": "sha512-PC4oKMtwAElo8YtS/cYnk2/dew/3TonsGKKzjpFLWwkhBCteFsOZCVOXTt2QlP6w53mH0YsJE+fPLPzOW+DCug==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz", + "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==", "dev": true, "requires": { "@types/mime-types": "^2.1.0", @@ -15014,12 +15035,13 @@ } }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, "yeast": { diff --git a/package.json b/package.json index 3d8ac4ce9..ff0666c98 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.10.0", "license": "LGPL-3.0", "scripts": { + "postinstall": "./scripts/postinstall.sh", "ng": "ng", "start": "npm run validate-config && ng serve --open", "start:prod": "npm run validate-config && node --max-old-space-size=8192 node_modules/@angular/cli/bin/ng serve --prod --open", @@ -18,10 +19,9 @@ "test": "ng test app --code-coverage", "test:ci": "npm run build.extensions && ng test adf-office-services-ext --watch=false && ng test app --code-coverage --watch=false", "lint": "ng lint && npm run spellcheck && npm run format:check && npm run e2e.typecheck", - "wd:update": "webdriver-manager update --gecko=false $VERSION_CHROME", "e2e.typecheck": "tsc -p ./e2e/tsconfig.e2e.typecheck.json", - "e2e": "npm run wd:update && protractor --baseUrl=${TEST_BASE_URL:-http://localhost:8080/content-app} $SUITE", - "e2e.local": "npm run wd:update && protractor --baseUrl=http://localhost:4200 $SUITE", + "e2e": "protractor --baseUrl=${TEST_BASE_URL:-http://localhost:8080/content-app} $SUITE", + "e2e.local": "protractor --baseUrl=http://localhost:4200 $SUITE", "wait:app": "wait-on http://${HOST_IP:-localhost}:${HOST_PORT:-8080}/alfresco/ -t 1000000", "start:docker": "./start.sh", "stop:docker": "./start.sh -d", @@ -32,7 +32,7 @@ "format:fix": "prettier --write \"src/{app,environments}/**/*.{ts,js,css,scss,html}\"", "build.tomcat": "npm run validate-config && npm run build.extensions && npm run build.app -- --prod --base-href ./ && jar -cvf docker/tomcat/artifacts/content-app.war -C dist/app/ .", "build.tomcat.e2e": "./build-tomcat-e2e.sh", - "e2e.tomcat": "npm run wd:update && protractor --baseUrl=http://localhost:8080/content-app/ $SUITE", + "e2e.tomcat": "protractor --baseUrl=http://localhost:8080/content-app/ $SUITE", "docker.tomcat.start": "cd docker/tomcat && docker-compose up -d --build && npm run wait:app", "docker.tomcat.stop": "cd docker/tomcat && docker-compose stop", "docker.tomcat.e2e": "npm run docker.tomcat.start && npm run e2e.tomcat", @@ -110,7 +110,7 @@ "prettier": "^1.17.1", "protractor": "5.4.2", "protractor-screenshoter-plugin": "0.10.3", - "puppeteer": "^2.1.0", + "puppeteer": "2.1.1", "rxjs-tslint-rules": "^4.30.1", "selenium-webdriver": "4.0.0-alpha.1", "ts-node": "^8.0.3", @@ -131,5 +131,8 @@ "hooks": { "pre-commit": "lint-staged" } + }, + "config": { + "chromeDriver": "80.0.3987.0" } } diff --git a/scripts/postinstall.sh b/scripts/postinstall.sh new file mode 100755 index 000000000..e2e2ee9d7 --- /dev/null +++ b/scripts/postinstall.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +if [ "$CI" = "true" ]; then + echo "Updating wedriver-manager with chromedriver: $npm_package_config_chromeDriver." + webdriver-manager update --gecko=false --versions.chrome=$npm_package_config_chromeDriver +else + echo "Updating wedriver-manager with latest chromedriver, be sure to use evergreen Chrome." + webdriver-manager update --gecko=false +fi