diff --git a/.travis.yml b/.travis.yml index 9908a94f4c..aed787678c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,13 +48,6 @@ jobs: fi - stage: Packaging test script: (npm run build-lib || exit 1;) && node ./scripts/upload-build-lib-in-cs.js -u $E2E_USERNAME -p $E2E_PASSWORD --host $E2E_HOST -f $TRAVIS_BUILD_NUMBER - - stage: Test Update version 2.0.0 - if: branch = development - env: STAGE=test-BC - script: ./scripts/test-e2e-bc.sh - - stage: Test Update version 2.0.0 - env: STAGE=test-export - script: npm run test-export - stage: Update children projects dependency #Update generator-ng2-alfresco-app if: tag =~ .*beta.* script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n generator-ng2-alfresco-app @@ -84,6 +77,13 @@ jobs: - stage: e2e Test # Test insights env: STAGE=insights script: node ./scripts/download-build-in-cs.js --username $E2E_USERNAME --password $E2E_USERNAME --host $E2E_HOST --folder $TRAVIS_BUILD_NUMBER; ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save --folder insights --skip-lint --use-dist + - stage: Test Update version 2.0.0 + if: branch = development + env: STAGE=test-BC + script: ./scripts/test-e2e-bc.sh + - stage: Test Update version 2.0.0 + env: STAGE=test-export + script: npm run test-export - stage: Create Docker PR script: node ./scripts/download-build-in-cs.js --username $E2E_USERNAME --password $E2E_USERNAME --host $E2E_HOST --folder $TRAVIS_BUILD_NUMBER --base-href $TRAVIS_BUILD_NUMBER; -n $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1) - stage: Deploy Docker PR diff --git a/scripts/download-build-lib-in-cs.js b/scripts/download-build-lib-in-cs.js index d15ac0254d..bd924e65df 100644 --- a/scripts/download-build-lib-in-cs.js +++ b/scripts/download-build-lib-in-cs.js @@ -11,7 +11,7 @@ var exec = require('child_process').exec; var alfrescoJsApi; -downloadZip = async (url, pacakge) => { +downloadZip = async (url, outputFolder, pacakge) => { console.log(`Download ${pacakge}`) var file = fs.createWriteStream(`${pacakge}.zip`); return await http.get(`http://${url}`, (response) => { @@ -19,12 +19,13 @@ downloadZip = async (url, pacakge) => { file.on('finish', async () => { setTimeout(() => { console.log(`Unzip ${pacakge}` + path.join(__dirname, `../${pacakge}.zip`)); + fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`)) - .pipe(unzip.Extract({path: path.join(__dirname, '../node_modules/@alfresco/')})) + .pipe(unzip.Extract({path: path.join(__dirname, '../', outputFolder, `@alfresco/`)})) .on('finish', () => { setTimeout(() => { - let oldFolder = path.join(__dirname, `../node_modules/@alfresco/${pacakge}`) - let newFolder = path.join(__dirname, `../node_modules/@alfresco/adf-${pacakge}`) + let oldFolder = path.join(__dirname, '../', outputFolder, `@alfresco/${pacakge}`) + let newFolder = path.join(__dirname, '../', outputFolder, `@alfresco/adf-${pacakge}`) fs.rename(oldFolder, newFolder, (err) => { console.log('renamed complete'); @@ -57,6 +58,7 @@ async function main() { .version('0.1.0') .option('-p, --password [type]', 'password') .option('-u, --username [type]', 'username') + .option('-o, --output [type]', 'oputput folder') .option('--base-href [type]', '') .option('-f, --folder [type]', 'Name of the folder') .option('-host, --host [type]', 'URL of the CS') @@ -67,19 +69,23 @@ async function main() { hostEcm: program.host }); + if (!program.output) { + program.output = path.join(__dirname, '../node_modules/@alfresco/') + } + alfrescoJsApi.login(program.username, program.password); let coreUrl = await getUrl(program.folder, 'core'); - downloadZip(coreUrl, 'core'); + downloadZip(coreUrl, program.output, 'core'); let contentUrl = await getUrl(program.folder, 'content-services'); - downloadZip(contentUrl, 'content-services'); + downloadZip(contentUrl, program.output, 'content-services'); let processUrl = await getUrl(program.folder, 'process-services'); - downloadZip(processUrl, 'process-services'); + downloadZip(processUrl, program.output, 'process-services'); let insightUrl = await getUrl(program.folder, 'insights'); - downloadZip(insightUrl, 'insights'); + downloadZip(insightUrl, program.output, 'insights'); } main(); diff --git a/scripts/test-e2e-bc.sh b/scripts/test-e2e-bc.sh index f01373f5d1..12b9f6c330 100755 --- a/scripts/test-e2e-bc.sh +++ b/scripts/test-e2e-bc.sh @@ -1,9 +1,23 @@ #!/usr/bin/env bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -#echo "====== Build ADF ===== " +show_help() { + echo "Usage: test-e2e.bc.sh" + echo "" + echo "-b or --build build number" +} + +build_number(){ + BUILD_NUMBER=$1 +} + +while [[ $1 == -* ]]; do + case "$1" in + -h|--help|-\?) show_help; exit 0;; + -b|--build) build_number $2; shift 2;; + esac +done -npm run build-lib || exit 1 cd $DIR/../integration/base_ver_2_app @@ -35,18 +49,7 @@ npm install --save alfresco-js-api@alpha echo "====== COPY new build in node_modules ===== " rm -rf $DIR/../integration/base_ver_2_app/node_modules/@alfresco - -mkdir -p $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-core/ && \ -cp -R $DIR/../lib/dist/core/* $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-core/ - -mkdir -p $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-content-services/ && \ -cp -R $DIR/../lib/dist/content-services/* $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-content-services/ - -mkdir -p $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-process-services/ && \ -cp -R $DIR/../lib/dist/process-services/* $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-process-services/ - -mkdir -p $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-insights/ && \ -cp -R $DIR/../lib/dist/insights/* $DIR/../integration/base_ver_2_app/node_modules/@alfresco/adf-insights/ +node $DIR/download-build-lib-in-cs.js -u admin -p admin --host adfdev.envalfresco.com -f ${BUILD_NUMBER} -o integration/base_ver_2_app/node_modules rm -rf $DIR/../node_modules/@angular rm -rf $DIR/../node_modules/@alfresco