mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
270 lines
18 KiB
YAML
270 lines
18 KiB
YAML
dist: xenial
|
|
os: linux
|
|
language: java
|
|
jdk:
|
|
- openjdk11
|
|
|
|
services:
|
|
- docker
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.m2
|
|
|
|
before_cache:
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-community-repo
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-core
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-data-model
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-repository
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-remote-api
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/content-services-community
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-community-repo-*
|
|
- rm -rf $HOME/.m2/repository/org/alfresco/tas/alfresco-community-repo-*-test
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- /release\/.*/
|
|
- feature/REPO-5266_dup_tas_code
|
|
|
|
env:
|
|
global:
|
|
- TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
|
|
- TAS_ENVIRONMENT=../alfresco-community-repo/packaging/tests/environment
|
|
|
|
stages:
|
|
- name: test
|
|
if: commit_message !~ /\[skip tests\]/
|
|
- release
|
|
- publish
|
|
- trigger_downstream
|
|
|
|
before_install:
|
|
- "cp .travis.settings.xml $HOME/.m2/settings.xml"
|
|
- travis_retry mvn install -DskipTests=true -Dversion.edition=Community -PcommunityDocker -B -V
|
|
|
|
jobs:
|
|
include:
|
|
- stage: test
|
|
name: "WhiteSource scan"
|
|
# only on release branches or master and if it is not a PR
|
|
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request
|
|
script:
|
|
# Download the latest version of WhiteSource Unified Agent
|
|
- curl -LJO https://github.com/whitesource/unified-agent-distribution/releases/latest/download/wss-unified-agent.jar
|
|
# Run WhiteSource Unified Agent
|
|
- java -jar wss-unified-agent.jar -apiKey ${WHITESOURCE_API_KEY} -c .wss-unified-agent.config
|
|
|
|
# - name: "Source Clear Scan"
|
|
# # only on SP branches or master and if it is not a PR
|
|
# if: fork = false AND (branch = master OR branch =~ /release\/SP\/.*/) AND type != pull_request
|
|
# script: skip
|
|
# addons:
|
|
# srcclr: true
|
|
|
|
- name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test"
|
|
script:
|
|
- travis_retry mvn test -pl core,data-model
|
|
- mvn test -B -pl repository -Dtest=AllUnitTestsSuite
|
|
|
|
- name: "Repository - AppContext01TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContext01TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - AppContext02TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContext02TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - AppContext03TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.2
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContext03TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dalfresco-pdf-renderer.url=http://localhost:8090/ -Djodconverter.url=http://localhost:8090/ -Dimg.url=http://localhost:8090/ -Dtika.url=http://localhost:8090/ -Dtransform.misc.url=http://localhost:8090/
|
|
|
|
- name: "Repository - AppContext04TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.2
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContext04TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - AppContext05TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
- "mkdir -p $HOME/tmp"
|
|
- "cp repository/src/test/resources/realms/alfresco-realm.json $HOME/tmp"
|
|
- docker login quay.io -u ${QUAY_USERNAME} -p ${QUAY_PASSWORD}
|
|
- "export HOST_IP=$(ip address show | grep -E \"([0-9]{1,3}\\.){3}[0-9]{1,3}\" | grep -v 127.0.0.1 | awk '{ print $2 }' | head -n 1 )"
|
|
- "export HOST_IP=$(echo ${HOST_IP%/*})"
|
|
- docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e DB_VENDOR=h2 -p 8999:8080 -e KEYCLOAK_IMPORT=/tmp/alfresco-realm.json -v $HOME/tmp/alfresco-realm.json:/tmp/alfresco-realm.json quay.io/alfresco/alfresco-identity-service:1.2
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContext05TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth"
|
|
|
|
- name: "Repository - AppContext06TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.2
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContext06TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dalfresco-pdf-renderer.url=http://localhost:8090/ -Djodconverter.url=http://localhost:8090/ -Dimg.url=http://localhost:8090/ -Dtika.url=http://localhost:8090/ -Dtransform.misc.url=http://localhost:8090/
|
|
|
|
- name: "Repository - AppContextExtraTestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AppContextExtraTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - MiscContextTestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.2
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=MiscContextTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dalfresco-pdf-renderer.url=http://localhost:8090/ -Djodconverter.url=http://localhost:8090/ -Dimg.url=http://localhost:8090/ -Dtika.url=http://localhost:8090/ -Dtransform.misc.url=http://localhost:8090/
|
|
|
|
- name: "Repository - MySQL tests"
|
|
if: commit_message !~ /\[skip_db\]/
|
|
install:
|
|
- 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 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - PostgreSQL 10 tests"
|
|
if: commit_message !~ /\[skip_db\]/
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:10.9 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - PostgreSQL 11 tests"
|
|
if: commit_message !~ /\[skip_db\]/
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Repository - MariaDB tests"
|
|
if: commit_message !~ /\[skip_db\]/
|
|
install:
|
|
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.2.18 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl repository -Dtest=AllDBTestsTestSuite -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
|
|
|
|
- name: "Remote-api - AppContext01TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl remote-api -Dtest=AppContext01TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Remote-api - AppContext02TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl remote-api -Dtest=AppContext02TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Remote-api - AppContext03TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl remote-api -Dtest=AppContext03TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Remote-api - AppContext04TestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl remote-api -Dtest=AppContext04TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "Remote-api - AppContextExtraTestSuite"
|
|
install:
|
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.15.8
|
|
script: travis_wait 20 mvn test -B -pl remote-api -Dtest=AppContextExtraTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
|
|
|
- name: "REST API TAS tests part1"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 60 mvn install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
|
|
|
|
- name: "REST API TAS tests part2"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 60 mvn install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
|
|
|
|
- name: "REST API TAS tests part3"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 60 mvn install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
|
|
|
|
- name: "CMIS TAS tests"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 40 mvn install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
|
|
|
- name: "Email TAS tests"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 30 mvn install -f packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
|
|
|
- name: "WebDAV TAS tests"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 30 mvn install -f packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
|
|
|
- name: "Integration TAS tests"
|
|
jdk: openjdk11
|
|
if: commit_message ~ /\[tas\]/
|
|
install:
|
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
|
script:
|
|
- travis_wait 30 mvn install -f packaging/tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
|
|
|
# Comment out for now to avoid pushing 8.300 to nuxus until we are ready
|
|
# - stage: release
|
|
# name: "Push to Nexus"
|
|
# if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message !~ /\[no-release\]/
|
|
# before_install:
|
|
# - "cp .travis.settings.xml $HOME/.m2/settings.xml"
|
|
# script:
|
|
# # Use full history for release
|
|
# - git checkout -B "${TRAVIS_BRANCH}"
|
|
# # Add email to link commits to user
|
|
# - git config user.email "${GIT_EMAIL}"
|
|
# # Skip building of release commits
|
|
# - mvn --batch-mode -q -DscmCommentPrefix="[maven-release-plugin][skip ci] " -Dusername="${GIT_USERNAME}" -Dpassword="${GIT_PASSWORD}" -DskipTests -Darguments=-DskipTests release:clean release:prepare release:perform
|
|
|
|
# - name: "Trigger alfresco-enterprise-repo build"
|
|
# stage: trigger_downstream
|
|
# # for all active branches and if it is not a PR
|
|
# if: fork = false AND type != pull_request AND commit_message !~ /\[no-downstream\]/
|
|
# install: skip
|
|
# script: bash trigger-travis.sh "Alfresco" "alfresco-enterprise-repo-play1" "${TRAVIS_BRANCH}"
|
|
|