From aaefe4c416c0dd63fef5c6e02236302005a10a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Popovics=20Andr=C3=A1s?= Date: Fri, 19 Feb 2021 22:21:31 +0100 Subject: [PATCH] [AAE-4608] Use smartrunner version 2 (#2009) * [AAE-4608] Use smartrunner version 2 * Fix wrong path --- e2e/smartrunner-factory.js | 14 ++++++++++++++ package-lock.json | 6 +++--- package.json | 2 +- protractor.conf.js | 20 +++++++------------- 4 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 e2e/smartrunner-factory.js diff --git a/e2e/smartrunner-factory.js b/e2e/smartrunner-factory.js new file mode 100644 index 000000000..21703e8c8 --- /dev/null +++ b/e2e/smartrunner-factory.js @@ -0,0 +1,14 @@ +const SmartRunnerFactory = require('protractor-smartrunner').SmartRunnerFactory; +const resolve = require('path').resolve; + +const outputDirectory = process.env.SMART_RUNNER_DIRECTORY; +const repoHash = process.env.GIT_HASH; + +console.log(`SmartRunner's repoHash: "${repoHash}"`); +console.log(`SmartRunner's outputDirectory: "${outputDirectory}"`); + +module.exports = new SmartRunnerFactory({ + repoHash, + ...(outputDirectory ? { outputDirectory: resolve(__dirname, '..', outputDirectory) } : {}), + exclusionPath: resolve(__dirname, 'protractor.excludes.json') +}); diff --git a/package-lock.json b/package-lock.json index f06383d63..e2c7b572d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12910,9 +12910,9 @@ } }, "protractor-smartrunner": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/protractor-smartrunner/-/protractor-smartrunner-1.0.0.tgz", - "integrity": "sha512-jfMsfWlH7SDmamVlVIS+3tkms4W7qJnHOG3rpWO+8iz3jSaB0Ep4KprQJ0qZdnkE1Toksoaf71lY4geFEFZzkA==", + "version": "2.0.0-beta6", + "resolved": "https://registry.npmjs.org/protractor-smartrunner/-/protractor-smartrunner-2.0.0-beta6.tgz", + "integrity": "sha512-VrHZtga960Yiyv0eea4sTWFz5wBWz55KYo0zTcVSNRSK6ZXF0uA+yElfeqJEwVHF+lEC+IZFpuSgHkD2rhQGxw==", "dev": true, "requires": { "filenamify": "4.1.0", diff --git a/package.json b/package.json index 30b287cab..467091a5a 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "protractor": "^7.0.0", "protractor-retry-angular-cli": "^2.0.2", "protractor-screenshoter-plugin": "0.10.3", - "protractor-smartrunner": "^1.0.0", + "protractor-smartrunner": "^2.0.0-beta6", "rxjs-tslint": "^0.1.8", "rxjs-tslint-rules": "^4.34.3", "selenium-webdriver": "^4.0.0-alpha.7", diff --git a/protractor.conf.js b/protractor.conf.js index 8b0190282..202056815 100755 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -1,17 +1,16 @@ // Protractor configuration file, see link for more information // https://github.com/angular/protractor/blob/master/lib/config.ts +require('dotenv').config({ path: process.env.ENV_FILE }); const path = require('path'); -const {SpecReporter} = require('jasmine-spec-reporter'); +const { SpecReporter } = require('jasmine-spec-reporter'); const fs = require('fs'); const resolve = require('path').resolve; const logger = require('./tools/helpers/logger'); const retry = require('protractor-retry-angular-cli').retry; -const {uploadScreenshot} = require('./e2e/e2e-config/utils/upload-output'); +const { uploadScreenshot } = require('./e2e/e2e-config/utils/upload-output'); +const smartRunnerFactory = require('./e2e/smartrunner-factory'); -require('dotenv').config({path: process.env.ENV_FILE}); - -const SmartRunner = require('protractor-smartrunner'); const projectRoot = path.resolve(__dirname); const downloadFolder = path.join(__dirname, 'e2e-downloads'); const screenshotsFolder = path.resolve(__dirname, 'e2e-output'); @@ -141,9 +140,8 @@ exports.config = { showColors: true, defaultTimeoutInterval: 200000, includeStackTrace: true, - print: function () { - }, - ...SmartRunner.withOptionalExclusions(resolve(__dirname, './e2e/protractor.excludes.json')) + print: function () {}, + ...(process.env.CI ? smartRunnerFactory.applyExclusionFilter() : {}) }, plugins: [ @@ -170,11 +168,7 @@ exports.config = { onPrepare() { if (process.env.CI) { retry.onPrepare(); - const repoHash = process.env.GIT_HASH || ''; - const outputDirectory = process.env.SMART_RUNNER_DIRECTORY; - logger.info(`SmartRunner's repoHash : "${repoHash}"`); - logger.info(`SmartRunner's outputDirectory: "${outputDirectory}"`); - SmartRunner.apply({outputDirectory, repoHash}); + smartRunnerFactory.getInstance().onPrepare(); } const tsConfigPath = path.resolve(e2eFolder, 'tsconfig.e2e.json');