From 48bdb90b8d45cf9784ad1c7c70029ca7bb96dbd9 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Tue, 7 Jul 2020 17:30:59 +0300 Subject: [PATCH] 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 da4164c745e5581279b736838791a7e698a60873) --- .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 +