From 62ff55f1047b9e4e0b4ad7c8c5992a40fce0acda Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 09:00:46 +0200 Subject: [PATCH 1/5] Merge remote-tracking branch 'remotes/origin/release/V2.7' into feature-3.0/APPS-234_IntegrationTestsOnMySQL_no [execute tests on MySQL] # Conflicts: # .travis.env-vars.yml # .travis.yml # travis-env-vars.yml # travis/travis-env-vars.yml --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis-env-vars.yml | 0 travis/.travis-integration-test-MySQL.yml | 21 +++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 0 8 files changed, 79 insertions(+), 4 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis-env-vars.yml (100%) create mode 100644 travis/.travis-integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (100%) diff --git a/.travis.yml b/.travis.yml index b21ccbc3f3..ca460ce2b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis-env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis-env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis-integration-test-MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/.travis-integration-test-MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +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\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + 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 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 100% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml From 5915d3811f820c544d7414ff55355b49b1170de9 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:35:30 +0200 Subject: [PATCH 2/5] fix travis import [execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ca460ce2b7..8870bd344d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis-integration-tests-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From f7fc15ea0c95f4d82613ccd1cf2451029c398d58 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 16:16:47 +0200 Subject: [PATCH 3/5] fix typo[execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8870bd344d..ca244ac488 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-tests-MySQL.yml + - source: travis/.travis-integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From 66e3c1626efb9374d2a3c43103fff9431e93e276 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 17:42:25 +0200 Subject: [PATCH 4/5] fix import of travis file [execute tests on MySQL] --- .travis.yml | 2 +- travis/{.travis-env-vars.yml => .travis.env-vars.yml} | 0 ...ration-test-MySQL.yml => .travis.integration-test-MySQL.yml} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename travis/{.travis-env-vars.yml => .travis.env-vars.yml} (100%) rename travis/{.travis-integration-test-MySQL.yml => .travis.integration-test-MySQL.yml} (100%) diff --git a/.travis.yml b/.travis.yml index ca244ac488..66c2efeba5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-test-MySQL.yml + - source: travis/.travis.integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial diff --git a/travis/.travis-env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from travis/.travis-env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml similarity index 100% rename from travis/.travis-integration-test-MySQL.yml rename to travis/.travis.integration-test-MySQL.yml From 1d6f4c9ec6abf0b506cd107f5ebf6705412837ec Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 20:18:44 +0200 Subject: [PATCH 5/5] remo the stages that are duplicated [execute tests on MySQL] --- travis/.travis.tests-stage.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/travis/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml index 7a20d80d9a..8edc813953 100644 --- a/travis/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - 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 install: