mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
APPS-900 APPS-894 APPS-889 Simplify maven POM setup. Reorganize build stages
* remove unnecessary build environment variables * add a LOG_WARN environment variable - for shorter build commands * split the `release.sh` script into `community_release.sh` and `enterprise_release.sh` * remove usage of the `-Dcommunity` build variable where not needed - use/exclude the `-Penterprise` profile explicitly where needed * modify the Travis `install` phase on some jobs so it runs a basic Java compilation of the project (without docker) * remove the *internal* profile and renamed the *master* profile into *publish-docker-latest* * modifiy the profiles for the docker builds so that the same profile handles both community (DockerHub&Quay) and enteprise (only Quay) docker image deploys * run all the _Unit&Integration Tests_ across community&enteprise in one single job, in parallel with the REST API & UI test suites (APPS-889) * reorganize the job order so that the *Tests* stage is the first one executed (APPS-894) * only run the *Maven&Docker deploy* tasks on the *master* & *release* branches after the *Tests* stage (APPS-894)
This commit is contained in:
32
.travis.yml
32
.travis.yml
@@ -3,6 +3,7 @@ import:
|
||||
- source: travis/.travis.env-vars.yml
|
||||
- source: travis/.travis.tests-stage.yml
|
||||
- source: travis/.travis.integration-test-MySQL.yml
|
||||
- source: travis/.travis.deploy-stage.yml
|
||||
- source: travis/.travis.release-stage.yml
|
||||
- source: travis/.travis.publish-stage.yml
|
||||
dist: xenial
|
||||
@@ -20,6 +21,7 @@ git:
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- /release\/.*/
|
||||
- /feature\/.*/
|
||||
- /merge\/.*/
|
||||
- /hotfix\/.*/
|
||||
@@ -28,7 +30,6 @@ cache:
|
||||
directories:
|
||||
- ${HOME}/.m2/repository
|
||||
|
||||
# the cache can grow constantly
|
||||
before_cache: rm -rf ${HOME}/.m2/repository/org/alfresco/alfresco-governance-services*
|
||||
|
||||
before_install:
|
||||
@@ -36,38 +37,15 @@ before_install:
|
||||
- find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
|
||||
- echo "${DOCKERHUB_PASSWORD}" | docker login -u="${DOCKERHUB_USERNAME}" --password-stdin
|
||||
- echo "${QUAY_PASSWORD}" | docker login -u="${QUAY_USERNAME}" --password-stdin quay.io
|
||||
|
||||
install: skip
|
||||
|
||||
stages:
|
||||
- name: Build AGS
|
||||
- name: Tests
|
||||
if: commit_message !~ /\[skip tests\]/
|
||||
- name: Deploy
|
||||
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request
|
||||
- name: Release
|
||||
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message =~ /\[(community|enterprise) release .*\]/
|
||||
- name: Publish
|
||||
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message =~ /\[publish\]/
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- name: "Build AGS Community"
|
||||
stage: Build AGS
|
||||
before_script: source scripts/setUpMavenPhase.sh
|
||||
script:
|
||||
- travis_retry travis_wait 120 mvn -B -q clean ${MAVEN_PHASE} -P${BUILD_PROFILE} -Dimage.tag=${IMAGE_TAG} -Dskip.integrationtests=false -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
|
||||
- name: "Build AGS Enterprise"
|
||||
stage: Build AGS
|
||||
install:
|
||||
- travis_retry travis_wait 30 mvn -B deploy -N
|
||||
- travis_retry travis_wait 60 mvn -B -q clean install $MVN_SKIP -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
before_script: source scripts/setUpMavenPhase.sh
|
||||
script:
|
||||
- travis_retry travis_wait 80 mvn -B -q ${MAVEN_PHASE} -P${BUILD_PROFILE} -Dimage.tag=${IMAGE_TAG} -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
|
||||
install:
|
||||
- travis_retry travis_wait 80 mvn -B -q clean install $MVN_SKIP -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
before_script: source scripts/setUpMavenPhase.sh
|
||||
script:
|
||||
- travis_retry travis_wait 35 mvn -B -q ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
|
93
pom.xml
93
pom.xml
@@ -211,7 +211,6 @@
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-image</id>
|
||||
@@ -238,86 +237,6 @@
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- Profile used to build docker images with a specific tag and push them to the given image registry (quay.io)-->
|
||||
<profile>
|
||||
<id>internal</id>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
<phase>deploy</phase>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
<goal>push</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<images>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<build>
|
||||
<dockerFileDir>${project.basedir}/</dockerFileDir>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- Profile used to build and push docker images with a specific tag to the given image registry (quay.io) and
|
||||
hub.docker -->
|
||||
<profile>
|
||||
<id>master</id>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
<phase>deploy</phase>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
<goal>push</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<images>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<build>
|
||||
<dockerFileDir>${project.basedir}/</dockerFileDir>
|
||||
</build>
|
||||
</image>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<dockerFileDir>${project.basedir}/</dockerFileDir>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
|
||||
<!-- Profile used to build and push docker images with project.version tag to hub.docker when the enterprise deploy goal encounters-->
|
||||
@@ -329,7 +248,6 @@
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
@@ -367,7 +285,6 @@
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
@@ -414,7 +331,6 @@
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>start</id>
|
||||
@@ -513,7 +429,7 @@
|
||||
|
||||
<jackson.version>2.12.1</jackson.version>
|
||||
<jackson-databind.version>2.12.1</jackson-databind.version>
|
||||
<fabric8.docker.version>0.31.0</fabric8.docker.version>
|
||||
<fabric8.docker.version>0.34.1</fabric8.docker.version>
|
||||
<mockito.version>1.10.19</mockito.version>
|
||||
<postgresql.version>42.2.16</postgresql.version>
|
||||
<postgresql.port>5432</postgresql.port>
|
||||
@@ -824,6 +740,7 @@
|
||||
<filtering>${app.filtering.enabled}</filtering>
|
||||
</testResource>
|
||||
</testResources>
|
||||
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -1141,6 +1058,12 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>${fabric8.docker.version}</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
@@ -79,4 +79,47 @@
|
||||
<!-- The properties app.amp.* need to be set for share to work. -->
|
||||
<app.filtering.enabled>true</app.filtering.enabled>
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>publish-docker-latest</id>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
<phase>deploy</phase>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
<goal>push</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<images>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<build>
|
||||
<dockerFileDir>${project.basedir}/</dockerFileDir>
|
||||
</build>
|
||||
</image>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<dockerFileDir>${project.basedir}/</dockerFileDir>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
@@ -639,18 +639,7 @@
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>internal</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>master</id>
|
||||
<id>publish-docker-latest</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
|
22
scripts/community_release.sh
Normal file
22
scripts/community_release.sh
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# Use full history for release
|
||||
git checkout -B "${TRAVIS_BRANCH}"
|
||||
|
||||
git config user.email "${GIT_EMAIL}"
|
||||
|
||||
if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ]; then
|
||||
echo "Please provide a Release and Development version"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mvn -B \
|
||||
-Dusername="${GIT_USERNAME}" \
|
||||
-Dpassword="${GIT_PASSWORD}" \
|
||||
-DreleaseVersion=${RELEASE_VERSION} \
|
||||
-DdevelopmentVersion=${DEVELOPMENT_VERSION} \
|
||||
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
|
||||
-DuseReleaseProfile=false \
|
||||
"-Darguments=-DskipTests -P\!enterprise -Prelease-community,community-release" \
|
||||
release:clean release:prepare release:perform
|
@@ -1,41 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# Use full history for release
|
||||
git checkout -B "${TRAVIS_BRANCH}"
|
||||
|
||||
git config user.email "build@alfresco.com"
|
||||
|
||||
release_type=$1
|
||||
echo Release type: "$release_type"
|
||||
|
||||
if [ -z $release_type ]; then
|
||||
echo "Please provide a release type."
|
||||
exit 1
|
||||
elif [ $release_type != "community" -a $release_type != "enterprise" ]; then
|
||||
echo "The provided release type is not valid."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ]; then
|
||||
echo "Please provide a Release and Development verison"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if it's a hotfix version by counting the number of dots in the version number.
|
||||
if [ $(echo "${RELEASE_VERSION}" | grep -o "\." | wc -l) == 3 ] && [ ${release_type} == "enterprise" ];
|
||||
then
|
||||
deployment_repository="hotfix-release"
|
||||
else
|
||||
deployment_repository="${release_type}-release"
|
||||
fi
|
||||
|
||||
mvn --batch-mode \
|
||||
-Dusername="${GIT_USERNAME}" \
|
||||
-Dpassword="${GIT_PASSWORD}" \
|
||||
-DreleaseVersion=${RELEASE_VERSION} \
|
||||
-DdevelopmentVersion=${DEVELOPMENT_VERSION} \
|
||||
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
|
||||
-DuseReleaseProfile=false \
|
||||
"-Darguments=-DskipTests -D${release_type} -P${deployment_repository},release-${release_type}" \
|
||||
release:clean release:prepare release:perform
|
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
echo "Branch name: ${TRAVIS_BRANCH}"
|
||||
echo "Pull request: ${TRAVIS_PULL_REQUEST}"
|
||||
echo "Travis job name: ${TRAVIS_JOB_NAME}"
|
||||
echo "Image tag: ${TRAVIS_BRANCH:8}"
|
||||
|
||||
if [[ ${TRAVIS_JOB_NAME} == "Build AGS Enterprise" ]] ; then
|
||||
export BUILD_PROFILE="internal"
|
||||
else
|
||||
export BUILD_PROFILE="master"
|
||||
fi
|
||||
|
||||
if [[ "${TRAVIS_BRANCH}" == "master" && "${TRAVIS_PULL_REQUEST}" == "false" ]] ; then
|
||||
export MAVEN_PHASE="deploy"
|
||||
export IMAGE_TAG="latest"
|
||||
elif [[ ${TRAVIS_BRANCH} = release* && "${TRAVIS_PULL_REQUEST}" == "false" ]] ; then
|
||||
export MAVEN_PHASE="deploy"
|
||||
export IMAGE_TAG="${TRAVIS_BRANCH:8}-latest"
|
||||
else
|
||||
export MAVEN_PHASE="verify"
|
||||
export BUILD_PROFILE="buildDockerImage"
|
||||
export IMAGE_TAG="latest"
|
||||
fi
|
8
travis/.travis.deploy-stage.yml
Normal file
8
travis/.travis.deploy-stage.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
jobs:
|
||||
include:
|
||||
- name: "Deploy Maven & Docker"
|
||||
stage: Deploy
|
||||
install: travis_retry travis_wait 60 mvn -B -V -q clean install ${MVN_SKIP}
|
||||
before_script: test "${TRAVIS_BRANCH}" = "master" && export IMAGE_TAG="latest" || export IMAGE_TAG="${TRAVIS_BRANCH:8}-latest"
|
||||
script: travis_retry travis_wait 120 mvn -B -q deploy -DskipTests -Ppublish-docker-latest -Dimage.tag=${IMAGE_TAG} ${LOG_WARN}
|
||||
|
@@ -1,12 +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
|
||||
- COMMUNITY_REPO_PATH=rm-community/rm-community-repo
|
||||
- COMMUNITY_SHARE_PATH=rm-community/rm-community-share
|
||||
- ENTERPRISE_REPO_PATH=rm-enterprise/rm-enterprise-repo
|
||||
- ENTERPRISE_SHARE_PATH=rm-enterprise/rm-enterprise-share
|
||||
- MVN_SKIP='-Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests'
|
||||
- AWS_ACCESS_KEY_ID=${CREATE_BUCKET_AWS_ACCESS_KEY}
|
||||
- AWS_SECRET_ACCESS_KEY=${CREATE_BUCKET_AWS_SECRET_KEY}
|
||||
@@ -17,3 +10,4 @@ env:
|
||||
- SHARE_URL="http://localhost:8181/share"
|
||||
- DISPLAY=:99.0
|
||||
- WEBDRIVER_ARGUMENTS='-Dwebdriver.local.grid=true -Dwebdriver.browser=RemoteFireFox -Dwebdriver.localGrid=false -Dorg.alfresco.rm.timeout_seconds.MEDIUM=30'
|
||||
- LOG_WARN="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
|
||||
|
@@ -6,17 +6,14 @@ jobs:
|
||||
include:
|
||||
- &integration_test_on_MYSQL
|
||||
name: "Community Integrations Tests on MySQL"
|
||||
services: docker
|
||||
stage: Tests
|
||||
if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/
|
||||
install:
|
||||
before_script:
|
||||
- docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:5.7.23 --transaction-isolation='READ-COMMITTED'
|
||||
- docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8
|
||||
script:
|
||||
- travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
script: travis_retry travis_wait 80 mvn -B -q clean verify ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-community/pom.xml -amd ${LOG_WARN}
|
||||
|
||||
- <<: *integration_test_on_MYSQL
|
||||
name: "Enterprise Integrations Tests on MySQL"
|
||||
install:
|
||||
- travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -am
|
||||
script: travis_retry travis_wait 80 mvn -B -q clean install ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -amd -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
install: travis_retry travis_wait 60 mvn -B -V -q clean install ${MVN_SKIP}
|
||||
script: travis_retry travis_wait 80 mvn -B -q clean verify ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -amd ${LOG_WARN}
|
||||
|
@@ -7,7 +7,7 @@ jobs:
|
||||
- source scripts/set-release-variables.sh
|
||||
- bash scripts/check-existing-tags.sh "alfresco/alfresco-governance-share-community"
|
||||
script:
|
||||
- bash scripts/release.sh "community"
|
||||
- bash scripts/community_release.sh
|
||||
before_deploy:
|
||||
- bash scripts/zip-artifacts-staging.sh "community"
|
||||
- bash scripts/pushDockerDigestTag.sh -i quay.io/alfresco/alfresco-governance-repository-community -i quay.io/alfresco/alfresco-governance-share-community -r quay.io -t ${RELEASE_VERSION}
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
before_script:
|
||||
- source scripts/set-release-variables.sh
|
||||
script:
|
||||
- bash scripts/release.sh "enterprise"
|
||||
- bash scripts/enterprise_release.sh
|
||||
before_deploy:
|
||||
- bash scripts/zip-artifacts-staging.sh "enterprise"
|
||||
- bash scripts/pushDockerDigestTag.sh -i quay.io/alfresco/alfresco-governance-repository-enterprise -i quay.io/alfresco/alfresco-governance-share-enterprise -r quay.io -t ${RELEASE_VERSION}
|
||||
|
@@ -1,5 +1,15 @@
|
||||
jobs:
|
||||
include:
|
||||
- name: "Source Clear Scan (SCA)"
|
||||
stage: Tests
|
||||
if: branch = master OR branch =~ /release\/V3.\d+.*/
|
||||
script: travis_wait 30 bash scripts/source_clear.sh
|
||||
|
||||
- name: "Unit & Integration Tests"
|
||||
stage: Tests
|
||||
install: travis_retry travis_wait 60 mvn -B -V -q clean install ${MVN_SKIP}
|
||||
script: travis_retry travis_wait 120 mvn -B -q verify -Dskip.integrationtests=false ${LOG_WARN}
|
||||
|
||||
- name: "Community Rest API Tests"
|
||||
stage: Tests
|
||||
addons:
|
||||
@@ -8,21 +18,21 @@ jobs:
|
||||
- ./rm-automation/rm-automation-community-rest-api/target/reports/rm-automation-community-rest-api.log
|
||||
- alfresco.log
|
||||
- solr.log
|
||||
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
|
||||
target_paths: ${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}
|
||||
install:
|
||||
- |
|
||||
if [[ ${TRAVIS_COMMIT_MESSAGE} == *"[tests on community]"* ]]; then
|
||||
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-community-repo -am
|
||||
travis_retry travis_wait 90 mvn -B -q install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-community-repo -am
|
||||
else
|
||||
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
|
||||
travis_retry travis_wait 90 mvn -B -q install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
|
||||
fi
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-community-rest-api -am
|
||||
before_script:
|
||||
- |
|
||||
if [[ ${TRAVIS_COMMIT_MESSAGE} == *"[tests on community]"* ]]; then
|
||||
bash scripts/startAlfresco.sh $COMMUNITY_REPO_PATH false
|
||||
bash scripts/startAlfresco.sh rm-community/rm-community-repo false
|
||||
else
|
||||
bash scripts/startAlfresco.sh $ENTERPRISE_REPO_PATH false
|
||||
bash scripts/startAlfresco.sh rm-enterprise/rm-enterprise-repo false
|
||||
fi
|
||||
- bash scripts/waitForAlfrescoToStart.sh
|
||||
script: travis_wait 40 mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false
|
||||
@@ -39,10 +49,10 @@ jobs:
|
||||
- solr.log
|
||||
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
|
||||
install:
|
||||
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
|
||||
- travis_retry travis_wait 90 mvn -B -q install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-enterprise-rest-api -am
|
||||
before_script:
|
||||
- bash scripts/startAlfresco.sh $ENTERPRISE_REPO_PATH false
|
||||
- bash scripts/startAlfresco.sh rm-enterprise/rm-enterprise-repo false
|
||||
- bash scripts/waitForAlfrescoToStart.sh
|
||||
- bash scripts/dockerLimitMemory.sh
|
||||
- sudo free -m -t
|
||||
@@ -65,7 +75,7 @@ jobs:
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-enterprise-rest-api -am
|
||||
before_script:
|
||||
- bash scripts/create-worm-bucket.sh
|
||||
- bash scripts/start-compose.sh "${ENTERPRISE_SHARE_PATH}/docker-compose-worm-support-rest.yml"
|
||||
- bash scripts/start-compose.sh "rm-enterprise/rm-enterprise-share/docker-compose-worm-support-rest.yml"
|
||||
- bash scripts/waitForAlfrescoToStart.sh
|
||||
script: mvn -B test -pl :alfresco-governance-services-automation-enterprise-rest-api -DsuiteXmlFile=wormTestSuite.xml -Dskip.automationtests=false
|
||||
after_script:
|
||||
@@ -85,7 +95,7 @@ jobs:
|
||||
- travis_retry travis_wait 90 mvn -B -U -q clean install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-enterprise-rest-api -am
|
||||
before_script:
|
||||
- bash scripts/start-compose.sh "${ENTERPRISE_REPO_PATH}/docker-compose-cluster.yml"
|
||||
- bash scripts/start-compose.sh "rm-enterprise/rm-enterprise-repo/docker-compose-cluster.yml"
|
||||
- bash scripts/waitForAlfrescoToStart.sh
|
||||
script: mvn -B test -pl :alfresco-governance-services-automation-enterprise-rest-api -DsuiteXmlFile=clusterTestSuite.xml -Dskip.automationtests=false
|
||||
after_failure:
|
||||
@@ -109,12 +119,12 @@ jobs:
|
||||
install:
|
||||
- |
|
||||
if [[ ${TRAVIS_COMMIT_MESSAGE} == *"[tests on community]"* ]]; then
|
||||
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-community-repo,:alfresco-governance-services-community-share -am
|
||||
bash scripts/startAlfresco.sh $COMMUNITY_SHARE_PATH false
|
||||
travis_retry travis_wait 90 mvn -B -q install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-community-repo,:alfresco-governance-services-community-share -am
|
||||
bash scripts/startAlfresco.sh rm-community/rm-community-share false
|
||||
bash scripts/waitForAlfrescoToStart.sh
|
||||
else
|
||||
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
|
||||
bash scripts/startAlfresco.sh $ENTERPRISE_SHARE_PATH true
|
||||
travis_retry travis_wait 90 mvn -B -q install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
|
||||
bash scripts/startAlfresco.sh rm-enterprise/rm-enterprise-share true
|
||||
bash scripts/waitForAlfrescoToStart.sh
|
||||
bash scripts/dockerLimitMemory.sh
|
||||
sudo free -m -t
|
||||
@@ -155,9 +165,9 @@ jobs:
|
||||
- share.log
|
||||
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
|
||||
install:
|
||||
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
|
||||
- travis_retry travis_wait 90 mvn -B -q install ${MVN_SKIP} -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-ui -am
|
||||
- bash scripts/startAlfresco.sh $ENTERPRISE_SHARE_PATH true
|
||||
- bash scripts/startAlfresco.sh rm-enterprise/rm-enterprise-share true
|
||||
- bash scripts/waitForAlfrescoToStart.sh
|
||||
- bash scripts/dockerLimitMemory.sh
|
||||
- sudo free -m -t
|
||||
@@ -202,15 +212,10 @@ jobs:
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-ui -am
|
||||
before_script:
|
||||
- bash scripts/create-worm-bucket.sh
|
||||
- bash scripts/start-compose.sh "${ENTERPRISE_SHARE_PATH}/docker-compose-worm-support-ui.yml"
|
||||
- bash scripts/start-compose.sh "rm-enterprise/rm-enterprise-share/docker-compose-worm-support-ui.yml"
|
||||
- bash scripts/waitForAlfrescoToStart.sh
|
||||
script:
|
||||
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -DsuiteXmlFile=wormTestSuite.xml -Dskip.automationtests=false -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
|
||||
after_script:
|
||||
- bash scripts/getLogs.sh
|
||||
- bash scripts/cleanup.sh
|
||||
|
||||
- name: "Source Clear Scan (SCA)"
|
||||
stage: Tests
|
||||
if: branch = master OR branch =~ /release\/V3.\d+.*/
|
||||
script: travis_wait 30 bash scripts/source_clear.sh
|
||||
|
Reference in New Issue
Block a user