[AAE-3278] Temporary fix for some flakyness: C297638 and C297638 (#1602)

This commit is contained in:
Popovics András 2020-08-13 23:20:05 +02:00 committed by GitHub
parent 9bdaa59657
commit 3edf48f050
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 104 additions and 47 deletions

View File

@ -77,37 +77,54 @@ jobs:
- ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" "-a"
- ./start.sh
script: ng run app-e2e:e2elite --suite "authentication,listViews,navigation,application,pagination,search"
after_script: ./start.sh -d
after_script:
- ./scripts/ci/job_hooks/after_e2e.sh
- ./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" "-a"
- ./start.sh
script: ng run app-e2e:e2elite --suite "actionsAvailable"
after_script: ./start.sh -d
after_script:
- ./scripts/ci/job_hooks/after_e2e.sh
- ./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" "-a"
- ./start.sh
script: ng run app-e2e:e2elite --suite "addRemoveContent"
after_script: ./start.sh -d
after_script:
- ./scripts/ci/job_hooks/after_e2e.sh
- ./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" "-a"
- ./start.sh
script: ng run app-e2e:e2elite --suite "manageContent"
after_script: ./start.sh -d
after_script:
- ./scripts/ci/job_hooks/after_e2e.sh
- ./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" "-a"
- ./start.sh
script: ng run app-e2e:e2elite --suite "sharingContent"
after_script: ./start.sh -d
after_script:
- ./scripts/ci/job_hooks/after_e2e.sh
- ./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" "-a"
- ./start.sh
script: ng run app-e2e:e2elite --suite "viewer,infoDrawer,extensions"
after_script: ./start.sh -d
after_script:
- ./scripts/ci/job_hooks/after_e2e.sh
- ./start.sh -d
- stage: Update Rancher
name: Update Rancher

View File

@ -6,6 +6,7 @@ const { SpecReporter } = require('jasmine-spec-reporter');
const afterLaunch = require('./e2e/e2e-config/hooks/after-launch');
const fs = require('fs');
const resolve = require('path').resolve;
const logger = require('./tools/helpers/logger');
require('dotenv').config({ path: process.env.ENV_FILE });
@ -18,8 +19,7 @@ const BROWSER_RUN = process.env.BROWSER_RUN;
const width = 1366;
const height = 768;
const API_CONTENT_HOST =
process.env.API_CONTENT_HOST || 'http://localhost:8080';
const API_CONTENT_HOST = process.env.API_CONTENT_HOST || 'http://localhost:8080';
function rmDir(dirPath) {
try {
@ -139,9 +139,7 @@ exports.config = {
showColors: true,
defaultTimeoutInterval: 100000,
print: function () {},
...SmartRunner.withOptionalExclusions(
resolve(__dirname, './e2e/protractor.excludes.json'),
)
...SmartRunner.withOptionalExclusions(resolve(__dirname, './e2e/protractor.excludes.json'))
},
plugins: [
@ -157,7 +155,11 @@ exports.config = {
onPrepare() {
if (process.env.CI) {
SmartRunner.apply({repoHash: process.env.GIT_HASH || ''});
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 });
}
const tsConfigPath = path.resolve(e2eFolder, 'tsconfig.e2e.json');
@ -176,10 +178,7 @@ exports.config = {
paths: tsConfig.compilerOptions.paths
});
browser
.manage()
.window()
.setSize(width, height);
browser.manage().window().setSize(width, height);
jasmine.getEnv().addReporter(
new SpecReporter({
@ -196,7 +195,6 @@ exports.config = {
behavior: 'allow',
downloadPath: downloadFolder
});
},
afterLaunch
};

View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Upload protractor-smartrunner artifact related to this particular job to S3
./scripts/ci/utils/artifact-to-s3.sh -a "$SMART_RUNNER_DIRECTORY" -o "$S3_DBP_FOLDER/protractor-smartrunner-$TRAVIS_JOB_ID.tar.bz2"

View File

@ -4,13 +4,12 @@ FROM=$1;
TO=$2;
PARAMS=$3;
echo "Download artefact from S3 $FROM"
# Download built application artifact from S3
./scripts/ci/utils/artifact-from-s3.sh -a "$FROM" -o "$TO"
echo "Download artefact done"
echo "Replace app.config with options $PARAMS"
node "./scripts/app-config-replace.js" --config="$TO/app.config.json" $PARAMS
echo "Replace app.config done"
# Download protractor-smartrunner artifact related to this particular job from S3, if exists
./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/protractor-smartrunner-$TRAVIS_JOB_ID.tar.bz2" -o "$SMART_RUNNER_DIRECTORY"
echo "====== Update webdriver-manager ====="
if [ "$CI" = "true" ]; then

View File

@ -1,30 +1,37 @@
#!/usr/bin/env bash
# Run the build on mergin to development with always the latest ADF
if [ "${TRAVIS_BRANCH}" == "develop" ] && [ "${TRAVIS_EVENT_TYPE}" == "api" ] || [ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS_EVENT_TYPE}" == "push" ]; then
# Run the build on develop branch with always the latest ADF
if [[ "${TRAVIS_BRANCH}" == "develop" && ( "${TRAVIS_EVENT_TYPE}" == "api" || "${TRAVIS_EVENT_TYPE}" == "cron" || "${TRAVIS_EVENT_TYPE}" == "push" ) ]]; then
echo " ===== USING LATEST ADF VERSION ===== "
./scripts/update-version.sh -v $ADF_RELEASE_VERSION
fi
pip install --user awscli
# Settings for Angular builder --------------------------------------------------------
export NODE_OPTIONS="--max_old_space_size=30000"
# Settings for protractor-smartrunner -------------------------------------------------
export GIT_HASH=`git rev-parse HEAD`
S3_DBP_PATH="s3://alfresco-travis-builds/aca"
export SMART_RUNNER_DIRECTORY=".protractor-smartrunner"
# Settings for Nx ---------------------------------------------------------------------
export BASE_HASH="$(git describe --tags `git rev-list --tags --max-count=1`)"
export HEAD_HASH="HEAD"
# Settings for S3 caching -------------------------------------------------------------
pip install --user awscli
S3_DBP_PATH="s3://alfresco-travis-builds/aca"
if [ "${TRAVIS_EVENT_TYPE}" == "push" ]; then
export S3_DBP_FOLDER="$S3_DBP_PATH/$TRAVIS_BRANCH/$TRAVIS_BUILD_ID"
export S3_DBP_ROOT_FOLDER="$S3_DBP_PATH/$TRAVIS_BRANCH"
elif [ "${TRAVIS_EVENT_TYPE}" == "pull_request" ]; then
export S3_DBP_FOLDER="$S3_DBP_PATH/$TRAVIS_PULL_REQUEST/$TRAVIS_BUILD_ID"
export S3_DBP_ROOT_FOLDER="$S3_DBP_PATH/$TRAVIS_PULL_REQUEST"
export BASE_HASH="origin/$TRAVIS_BRANCH"
elif [ "${TRAVIS_EVENT_TYPE}" == "cron" ]; then
export S3_DBP_FOLDER="$S3_DBP_PATH/cron/$TRAVIS_BUILD_ID"
export S3_DBP_ROOT_FOLDER="$S3_DBP_PATH/cron"
else
export S3_DBP_FOLDER="$S3_DBP_PATH/api/$TRAVIS_BUILD_ID"
export S3_DBP_ROOT_FOLDER="$S3_DBP_PATH/api"
fi
export S3_DBP_FOLDER="$S3_DBP_ROOT_FOLDER/$TRAVIS_BUILD_ID"
echo "BASE_HASH: $BASE_HASH"
echo "S3 DBP root folder: $S3_DBP_ROOT_FOLDER"
echo "S3 DBP destination: $S3_DBP_FOLDER"

View File

@ -19,6 +19,7 @@ import * as ora from 'ora';
require('dotenv').config({ path: process.env.ENV_FILE });
const API_HOST = process.env.API_HOST;
const API_CONTENT_HOST = process.env.API_CONTENT_HOST;
const OAUTH_HOST = process.env.OAUTH_HOST;
const IDENTITY_HOST = process.env.IDENTITY_HOST;
const NOTIFICATION_LAST = process.env.NOTIFICATION_LAST;
@ -49,18 +50,7 @@ export default class LiteServeRunner {
alias: 'c',
title: 'Rewrite app.config.json with the following environment vars?',
required: false,
choices: [
...(API_HOST !== undefined ? [{ name: `API_HOST=${API_HOST}`, value: 'a', short: 'API_HOST', checked: true }] : []),
...(OAUTH_HOST !== undefined
? [{ name: `OAUTH_HOST=${OAUTH_HOST} ${red('+ authType=OAUTH also!!!')}`, value: 'o', short: 'OAUTH_HOST', checked: true }]
: []),
...(IDENTITY_HOST !== undefined
? [{ name: `IDENTITY_HOST=${IDENTITY_HOST} ${red('+ authType=OAUTH also!!!')}`, value: 'i', short: 'IDENTITY_HOST', checked: true }]
: []),
...(NOTIFICATION_LAST !== undefined
? [{ name: `NOTIFICATION_LAST=${NOTIFICATION_LAST}`, value: 'n', short: 'NOTIFICATION_LAST', checked: true }]
: [])
]
choices: this.getEnvVarChoices.bind(this)
})
];
}
@ -156,4 +146,46 @@ export default class LiteServeRunner {
};
});
}
private getEnvVarChoices() {
const choices = [];
if (API_HOST !== undefined || API_CONTENT_HOST !== undefined) {
choices.push({
name: `API_HOST=${API_HOST} && API_CONTENT_HOST=${API_CONTENT_HOST || API_HOST}`,
value: 'a',
short: 'API_HOST',
checked: true
});
}
if (OAUTH_HOST !== undefined) {
choices.push({
name: `OAUTH_HOST=${OAUTH_HOST} ${red('+ authType=OAUTH also!!!')}`,
value: 'o',
short: 'OAUTH_HOST',
checked: true
});
}
if (IDENTITY_HOST !== undefined) {
choices.push({
name: `IDENTITY_HOST=${IDENTITY_HOST} ${red('+ authType=OAUTH also!!!')}`,
value: 'i',
short: 'IDENTITY_HOST',
checked: true
});
}
if (NOTIFICATION_LAST !== undefined) {
choices.push({
name: `NOTIFICATION_LAST=${NOTIFICATION_LAST}`,
value: 'n',
short: 'NOTIFICATION_LAST',
checked: true
});
}
return choices;
}
}

View File

@ -1,7 +1,7 @@
#!/usr/bin/env node
const path = require('path');
const tsConfigPath = path.resolve(__dirname, 'tsconfig.base.json');
const tsConfigPath = path.resolve(__dirname, 'tsconfig.json');
const tsConfig = require(tsConfigPath);
require('ts-node').register({ project: tsConfigPath });