From 7b448be646a5ada6b4c27f449d5fd29e4039e050 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Tue, 7 Jul 2020 17:30:59 +0300 Subject: [PATCH 1/8] Merge pull request #1165 from Alfresco/feature-2.7/APPS-230_BuildAGSArtifactsOnTravis Feature 2.7/apps 230 build ags artifacts on travis (cherry picked from commit eeb21e872523aaa2f6bfc3f80ae9a0962159eb75) --- .travis.settings.xml | 59 +++++++++++++++++++++ .travis.yml | 106 +++++++++++++++++++++++++++++++++++-- scripts/setUpMavenPhase.sh | 11 ++++ 3 files changed, 172 insertions(+), 4 deletions(-) create mode 100644 .travis.settings.xml create mode 100644 scripts/setUpMavenPhase.sh diff --git a/.travis.settings.xml b/.travis.settings.xml new file mode 100644 index 0000000000..6c37b1a409 --- /dev/null +++ b/.travis.settings.xml @@ -0,0 +1,59 @@ + + + + alfresco-internal + + true + + + + alfresco-internal + + true + + + true + + Alfresco Internal Repository + https://artifacts.alfresco.com/nexus/content/groups/internal + + + + + alfresco-internal + Alfresco Internal Repository + https://artifacts.alfresco.com/nexus/content/groups/internal + + + alfresco-public + Alfresco Public Repository + https://artifacts.alfresco.com/nexus/content/groups/public + + + alfresco-private + Alfresco Private Repository + https://artifacts.alfresco.com/nexus/content/groups/private + + + + + + + + + docker.io + ${env.DOCKERHUB_USERNAME} + ${env.DOCKERHUB_PASSWORD} + + + alfresco-internal + ${env.MAVEN_USERNAME} + ${env.MAVEN_PASSWORD} + + + alfresco-private + ${env.MAVEN_USERNAME} + ${env.MAVEN_PASSWORD} + + + diff --git a/.travis.yml b/.travis.yml index b59830c0c5..beedfe6331 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,104 @@ +os: linux +dist: xenial language: java jdk: - - oraclejdk8 -sudo: false -install: true -script: travis_wait 30 mvn -B clean verify -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - openjdk8 + +branches: + only: + - /release\/V2.7.*/ + - /feature-2.7\/.*/ + - /merge-2.7\/.*/ + - /hotfix-2.7\/.*/ + +cache: + directories: + - $HOME/.m2 + +# the cache can grow constantly +before_cache: + - rm -rf $HOME/.m2/repository/org/alfresco/alfresco-rm* + +before_install: + - "cp .travis.settings.xml $HOME/.m2/settings.xml" +install: skip + +stages: + - name: Build AGS + - name: Tests + if: commit_message !~ /\[skip tests\]/ + - name: Security Scans + - name: Release + - name: Publish + +jobs: + include: + - name: "Build AGS Community" + stage: Build AGS + before_script: source scripts/setUpMavenPhase.sh + script: + - travis_retry travis_wait 80 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - name: "Build AGS Enterprise" + stage: Build AGS + before_script: source scripts/setUpMavenPhase.sh + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 60 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - name: "Build AGS Benchmark" + stage: Build AGS + before_script: source scripts/setUpMavenPhase.sh + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - name: "Community Integrations Tests on MySQL" + stage: Tests + script: + - echo "Community Integrations Tests on MySQL" + - name: "Enterprise Integrations Tests on MySQL" + stage: Tests + script: + - echo "Enterprise Integrations Tests on MySQL" + - name: "Community Rest API Tests" + stage: Tests + script: + - echo "Community Rest API Tests" + - name: "Enterprise Rest API Tests" + stage: Tests + script: + - echo "Enterprise Rest API Tests" + - name: "Community UI Tests ..." + stage: Tests + script: + - echo "Community UI Tests ..." + - name: "Enterprise UI Tests ..." + stage: Tests + script: + - echo "Enterprise UI Tests ..." + + - name: "Source Clear Scan (SCA)" + stage: Security Scans + script: + - echo "Source Clear Scan (SCA)" + - name: "Static Analysis (SAST)" + stage: Security Scans + script: + - echo "Static Analysis (SAST)" + + - name: "Community Release" + stage: Release + script: + - echo "Community Release" + - name: "Enterprise Release" + stage: Release + script: + - echo "Enterprise Release" + + - name: "Copy to S3 Release Bucket" + stage: Publish + script: + - echo "Copy to S3 Release Bucket" diff --git a/scripts/setUpMavenPhase.sh b/scripts/setUpMavenPhase.sh new file mode 100644 index 0000000000..60be3bb87e --- /dev/null +++ b/scripts/setUpMavenPhase.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +echo "Branch name: ${TRAVIS_BRANCH}" +echo "Pull request: ${TRAVIS_PULL_REQUEST}" + +if [[ "${TRAVIS_BRANCH}" == "master" || "${TRAVIS_BRANCH}" = release* ]] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]; +then + export MAVEN_PHASE="deploy" +else + export MAVEN_PHASE="verify" +fi + From c62f64c7046bcd7b5f81a48f5051fe8d63b3ce2d Mon Sep 17 00:00:00 2001 From: Claudia Agache Date: Wed, 8 Jul 2020 14:10:04 +0300 Subject: [PATCH 2/8] Merge pull request #1167 from Alfresco/feature-2.7/APPS-235_SetupEnv_no Apps 235 Setup environment (cherry picked from commit 23cddd2753588cdd89b8abc4782202c34046acf3) --- .travis.yml | 25 +++++++++++- rm-automation/pom.xml | 78 ++++++++++++++++++++++++++++++++++++ scripts/downloadInstaller.sh | 15 +++++++ travis-env-vars.yml | 5 +++ 4 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 scripts/downloadInstaller.sh create mode 100644 travis-env-vars.yml diff --git a/.travis.yml b/.travis.yml index beedfe6331..578c3ad808 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ +import: + - source: travis-env-vars.yml os: linux dist: xenial language: java @@ -23,6 +25,9 @@ before_install: - "cp .travis.settings.xml $HOME/.m2/settings.xml" install: skip +services: + - docker + stages: - name: Build AGS - name: Tests @@ -65,21 +70,39 @@ jobs: - echo "Enterprise Integrations Tests on MySQL" - name: "Community Rest API Tests" stage: Tests + before_install: + - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_COMMUNITY_PATH/target + install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_COMMUNITY_PATH/pom.xml script: - echo "Community Rest API Tests" +# Uncomment following line to start alfresco env using run-alfresco profile and run the tests. +# Currently commented because running tests is part of APPS-236 task +# travis_wait 90 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_COMMUNITY_PATH/pom.xml - name: "Enterprise Rest API Tests" stage: Tests + before_install: + - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_ENTERPRISE_PATH/target + install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_ENTERPRISE_PATH/pom.xml script: - echo "Enterprise Rest API Tests" - name: "Community UI Tests ..." stage: Tests + before_install: + - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target + install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_UI_PATH/pom.xml script: - echo "Community UI Tests ..." - name: "Enterprise UI Tests ..." stage: Tests + before_install: + - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target + install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_UI_PATH/pom.xml script: - echo "Enterprise UI Tests ..." - - name: "Source Clear Scan (SCA)" stage: Security Scans script: diff --git a/rm-automation/pom.xml b/rm-automation/pom.xml index c53b4de142..01d198864a 100644 --- a/rm-automation/pom.xml +++ b/rm-automation/pom.xml @@ -90,6 +90,7 @@ + install-alfresco @@ -130,6 +131,83 @@ + + + installAlfresco + + + + io.fabric8 + docker-maven-plugin + 0.31.0 + + + start-postgresql + generate-test-resources + + start + + + + + test-database + postgres:9.1 + + + 5432:5432 + + + alfresco + alfresco + alfresco + + + -c max_connections=300 + + + database system is ready to accept connections + + + + + + + + + + + + maven-antrun-plugin + + + fetch-installer + generate-test-resources + + run + + + + + Installing Alfresco... + + + + + + + + + + + postgresql + postgresql + 9.1-901-1.jdbc4 + + + + + + apply-rm-community diff --git a/scripts/downloadInstaller.sh b/scripts/downloadInstaller.sh new file mode 100644 index 0000000000..31812860f5 --- /dev/null +++ b/scripts/downloadInstaller.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# fail script immediately on any errors in external commands and print the lines +set -ev + +outputFile="$TRAVIS_BUILD_DIR/$1/alf-installer.bin" +host="s3-eu-west-1.amazonaws.com" +contentType="binary/octet-stream" +dateValue=`TZ=GMT date -R` +stringToSign="GET\n\n${contentType}\n${dateValue}\n${S3_INSTALLER_PATH}" +signature=`echo -en ${stringToSign} | openssl sha1 -hmac $RELEASE_AWS_SECRET_KEY -binary | base64` +curl -H "Host: ${host}" \ + -H "Date: ${dateValue}" \ + -H "Content-Type: ${contentType}" \ + -H "Authorization: AWS $RELEASE_AWS_ACCESS_KEY:${signature}" \ + https://${host}${S3_INSTALLER_PATH} -o ${outputFile} diff --git a/travis-env-vars.yml b/travis-env-vars.yml new file mode 100644 index 0000000000..da5c33ff9f --- /dev/null +++ b/travis-env-vars.yml @@ -0,0 +1,5 @@ +env: + global: + - AUTOMATION_COMMUNITY_PATH=rm-automation/rm-automation-community-rest-api + - AUTOMATION_ENTERPRISE_PATH=rm-automation/rm-automation-enterprise-rest-api + - AUTOMATION_UI_PATH=rm-automation/rm-automation-ui From 2fa965172f2527097ff09be724c8b6b7b353be99 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Wed, 8 Jul 2020 12:16:37 +0300 Subject: [PATCH 3/8] Merge pull request #1168 from Alfresco/feature-2.7/APPS-230_BuildAGSArtifactsOnTravis Feature 2.7/apps 230 build ags artifacts on travis (cherry picked from commit 683cb5fe2577a8bdbb96ff644d840c4dadcfd745) --- .travis.settings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.settings.xml b/.travis.settings.xml index 6c37b1a409..411d7268b1 100644 --- a/.travis.settings.xml +++ b/.travis.settings.xml @@ -55,5 +55,10 @@ ${env.MAVEN_USERNAME} ${env.MAVEN_PASSWORD} + + alfresco-internal-snapshots + ${env.MAVEN_USERNAME} + ${env.MAVEN_PASSWORD} + From 73587d756e6ba73fba6e659e8e8496b3e042aa48 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 8 Jul 2020 19:12:28 +0300 Subject: [PATCH 4/8] limit the number of logs for tests to avoid log exceeding the travis limit --- .../test/resources/alfresco/extension/custom-log4j.properties | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties diff --git a/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties b/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties new file mode 100644 index 0000000000..2b0878f720 --- /dev/null +++ b/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties @@ -0,0 +1,3 @@ +log4j.logger.org.alfresco.repo.site.SiteServiceImpl=warn +log4j.logger.org.alfresco.repo.action.ActionServiceImpl=warn +log4j.logger.org.alfresco.repo.security.person.PersonServiceImpl=warn \ No newline at end of file From 5c293e7904f0ecb0733f27325495cf2e127bbbc7 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 9 Jul 2020 21:04:44 +0300 Subject: [PATCH 5/8] limit log size --- .../test/resources/alfresco/extension/custom-log4j.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties b/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties index 2b0878f720..51b2434547 100644 --- a/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties +++ b/rm-community/rm-community-repo/test/resources/alfresco/extension/custom-log4j.properties @@ -1,3 +1,4 @@ log4j.logger.org.alfresco.repo.site.SiteServiceImpl=warn log4j.logger.org.alfresco.repo.action.ActionServiceImpl=warn -log4j.logger.org.alfresco.repo.security.person.PersonServiceImpl=warn \ No newline at end of file +log4j.logger.org.alfresco.repo.security.person.PersonServiceImpl=warn +log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn \ No newline at end of file From 8ce992fee0bb6a25474f22ddc15feb192df24756 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 10 Jul 2020 12:01:31 +0300 Subject: [PATCH 6/8] comment the cache --- .travis.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 578c3ad808..cab7aaf2c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,14 +12,15 @@ branches: - /feature-2.7\/.*/ - /merge-2.7\/.*/ - /hotfix-2.7\/.*/ - -cache: - directories: - - $HOME/.m2 - -# the cache can grow constantly -before_cache: - - rm -rf $HOME/.m2/repository/org/alfresco/alfresco-rm* +# +#cache: +# directories: +# - $HOME/.m2 +# +## the cache can grow constantly +#before_cache: +# - rm -rf $HOME/.m2/repository/org/alfresco/alfresco-rm* +# - rm -rf $HOME/.m2/repository/org/codehaus before_install: - "cp .travis.settings.xml $HOME/.m2/settings.xml" From 407f2122cbdc114c576ea6f32e7fe2504ab205ad Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 10 Jul 2020 13:57:23 +0300 Subject: [PATCH 7/8] increase enterprise time limit --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cab7aaf2c3..d216991273 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,7 +51,7 @@ jobs: install: - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn script: - - travis_retry travis_wait 60 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - travis_retry travis_wait 80 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Build AGS Benchmark" stage: Build AGS From e1e511b41a107ce166091c11f6699d064e3757a9 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 10 Jul 2020 15:43:18 +0300 Subject: [PATCH 8/8] add the cache back --- .travis.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index d216991273..c4bf886b4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,15 +12,15 @@ branches: - /feature-2.7\/.*/ - /merge-2.7\/.*/ - /hotfix-2.7\/.*/ -# -#cache: -# directories: -# - $HOME/.m2 -# -## the cache can grow constantly -#before_cache: -# - rm -rf $HOME/.m2/repository/org/alfresco/alfresco-rm* -# - rm -rf $HOME/.m2/repository/org/codehaus + +cache: + directories: + - $HOME/.m2 + +# the cache can grow constantly +before_cache: + - rm -rf $HOME/.m2/repository/org/alfresco/alfresco-rm* + before_install: - "cp .travis.settings.xml $HOME/.m2/settings.xml"