From 7aabb7a0b1ca2d82417629829aeb0742d6f7f6bb Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 26 Oct 2020 16:53:27 +0200 Subject: [PATCH 01/11] add the tests to run on my sql [execute tests on MySQL] --- .travis.yml | 15 +++++++++++++-- scripts/my_sql_travis.sql | 7 +++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 scripts/my_sql_travis.sql diff --git a/.travis.yml b/.travis.yml index e1d2c83088..fc68178163 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,13 +63,24 @@ jobs: - 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" + services: mysql stage: Tests + if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - mysql -u root --password="" < scripts/my_sql_travis.sql script: - - echo "Community Integrations Tests on MySQL" + - 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 + - name: "Enterprise Integrations Tests on MySQL" + services: mysql stage: Tests + if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - mysql -u root --password="" < scripts/my_sql_travis.sql + 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: - - echo "Enterprise Integrations Tests on MySQL" + - 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 - name: "Community Rest API Tests" stage: Tests diff --git a/scripts/my_sql_travis.sql b/scripts/my_sql_travis.sql new file mode 100644 index 0000000000..2c55a1a3d3 --- /dev/null +++ b/scripts/my_sql_travis.sql @@ -0,0 +1,7 @@ +# Create alfresco +CREATE USER 'alfresco' IDENTIFIED BY 'alfresco'; +GRANT ALL on alfresco.* to 'alfresco'@'%' identified by 'alfresco' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +# Create DB +CREATE DATABASE IF NOT EXISTS `alfresco` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; \ No newline at end of file From bdb784d5aecd4a9fcfebd0bf9422a0a1b9b6e7f0 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 28 Oct 2020 17:11:05 +0200 Subject: [PATCH 02/11] use the same approach to start mysql as in bamboo [execute tests on MySQL] --- .travis.yml | 5 ++--- scripts/mysql/common.sh | 18 +++++++++++++++++ scripts/mysql/start.sh | 44 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh diff --git a/.travis.yml b/.travis.yml index fc68178163..56d3523566 100644 --- a/.travis.yml +++ b/.travis.yml @@ -72,11 +72,10 @@ jobs: - 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 - name: "Enterprise Integrations Tests on MySQL" - services: mysql + services: docker stage: Tests if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: - - mysql -u root --password="" < scripts/my_sql_travis.sql + before_install: source scripts/mysql/start.sh mysql:5.6.26 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: diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100644 index 0000000000..d10c45f3e7 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 + +usage () { + echo "Usage: $0 " +} + +if [[ $# -ne 1 ]]; then + usage + exit 1 +fi \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..14b4e0f8e8 --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +. $(dirname $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 From d50b9e733a93411eb69ceb599c3e2c1526ebd6f2 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 28 Oct 2020 20:25:06 +0200 Subject: [PATCH 03/11] fix the path for common script [execute tests on MySQL] --- scripts/mysql/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 14b4e0f8e8..e28461999a 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -. $(dirname $0)/common.sh +./common.sh echo "============================================" echo "Generate custom config file" From 1f953b9e8aaf2fb8f58f8b9c686e58467a559198 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 29 Oct 2020 08:28:45 +0200 Subject: [PATCH 04/11] attempt to fix the path for common script [execute tests on MySQL] --- scripts/mysql/start.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index e28461999a..8a4fcfb71a 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,7 +1,8 @@ #!/bin/bash set -e - -./common.sh +DIRECTORY=`dirname $0` +echo $DIRECTORY +. $(dirname $0)/common.sh echo "============================================" echo "Generate custom config file" @@ -35,8 +36,7 @@ FLUSH PRIVILEGES; 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" +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 From f4817d743fa55fb7e0cfb74f0d00b4d7c4d65214 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 29 Oct 2020 14:35:43 +0200 Subject: [PATCH 05/11] attempt to fix common path [execute tests on MySQL] --- scripts/mysql/common.sh | 12 ++---------- scripts/mysql/start.sh | 2 +- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh index d10c45f3e7..a9cafd07e6 100644 --- a/scripts/mysql/common.sh +++ b/scripts/mysql/common.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -xe CONTAINER_NAME=alfresco-db-mysql MYSQL_USER=alfresco @@ -6,13 +7,4 @@ MYSQL_ROOT_PASSWORD=alfresco MYSQL_DATABASE=alfresco MYSQL_HOST=127.0.0.1 -MYSQL_PORT=3306 - -usage () { - echo "Usage: $0 " -} - -if [[ $# -ne 1 ]]; then - usage - exit 1 -fi \ No newline at end of file +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 8a4fcfb71a..fcb8934aa2 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -2,7 +2,7 @@ set -e DIRECTORY=`dirname $0` echo $DIRECTORY -. $(dirname $0)/common.sh + $(dirname "${BASH_SOURCE[0]}")/common.sh echo "============================================" echo "Generate custom config file" From d70493a8718ba4c4b2ee25178ca26fe27b8fc910 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 29 Oct 2020 20:57:11 +0200 Subject: [PATCH 06/11] Make common.sh executable [execute tests on MySQL] --- scripts/mysql/common.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/mysql/common.sh diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh old mode 100644 new mode 100755 From ec8473b7a3af0ba42ccc3eb09f00ea0e7bbb40bc Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 08:00:58 +0200 Subject: [PATCH 07/11] attempt to debug the docker command --- scripts/mysql/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index fcb8934aa2..09c7ff1dad 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -e +set -xe DIRECTORY=`dirname $0` echo $DIRECTORY $(dirname "${BASH_SOURCE[0]}")/common.sh From 0f58244d1ae44c2bd157de969686c7a64db528d3 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 12:57:10 +0200 Subject: [PATCH 08/11] fix setting the variables [execute tests on MySQL] --- scripts/mysql/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 09c7ff1dad..38a705febd 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -2,7 +2,7 @@ set -xe DIRECTORY=`dirname $0` echo $DIRECTORY - $(dirname "${BASH_SOURCE[0]}")/common.sh +. $(dirname "${BASH_SOURCE[0]}")/common.sh echo "============================================" echo "Generate custom config file" From 52197a79b273d3e1ec4580199446991036e13fa6 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 16:18:47 +0200 Subject: [PATCH 09/11] some refactoring [execute tests on MySQL] --- .travis.yml | 23 +++---------------- scripts/my_sql_travis.sql | 7 ------ scripts/mysql/common.sh | 2 +- scripts/mysql/start.sh | 5 ++-- .../travis-env-vars.yml | 0 travis/travis_integration_test_MySQL.yml | 23 +++++++++++++++++++ 6 files changed, 29 insertions(+), 31 deletions(-) delete mode 100644 scripts/my_sql_travis.sql rename travis-env-vars.yml => travis/travis-env-vars.yml (100%) create mode 100644 travis/travis_integration_test_MySQL.yml diff --git a/.travis.yml b/.travis.yml index 56d3523566..654183c30e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ import: - - source: travis-env-vars.yml + - source: travis/travis-env-vars.yml + - source: travis/travis_integration_test_MySQL.yml + os: linux dist: xenial language: java @@ -62,25 +64,6 @@ jobs: 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" - services: mysql - stage: Tests - if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: - - mysql -u root --password="" < scripts/my_sql_travis.sql - 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 - - - name: "Enterprise Integrations Tests on MySQL" - services: docker - stage: Tests - if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: source scripts/mysql/start.sh mysql:5.6.26 - 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 - - name: "Community Rest API Tests" stage: Tests before_install: diff --git a/scripts/my_sql_travis.sql b/scripts/my_sql_travis.sql deleted file mode 100644 index 2c55a1a3d3..0000000000 --- a/scripts/my_sql_travis.sql +++ /dev/null @@ -1,7 +0,0 @@ -# Create alfresco -CREATE USER 'alfresco' IDENTIFIED BY 'alfresco'; -GRANT ALL on alfresco.* to 'alfresco'@'%' identified by 'alfresco' with grant option; -FLUSH HOSTS; -FLUSH PRIVILEGES; -# Create DB -CREATE DATABASE IF NOT EXISTS `alfresco` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; \ No newline at end of file diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh index a9cafd07e6..f6ed525df9 100755 --- a/scripts/mysql/common.sh +++ b/scripts/mysql/common.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -xe +set -e CONTAINER_NAME=alfresco-db-mysql MYSQL_USER=alfresco diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 38a705febd..155572ff0e 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,7 +1,6 @@ #!/bin/bash -set -xe -DIRECTORY=`dirname $0` -echo $DIRECTORY +set -e + . $(dirname "${BASH_SOURCE[0]}")/common.sh echo "============================================" 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..60bb68dd92 --- /dev/null +++ b/travis/travis_integration_test_MySQL.yml @@ -0,0 +1,23 @@ +###Running the Integration tests on MySQL +## - stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: mysql + stage: Tests + if: branch =~ /release\/.*/ 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" + services: docker + stage: Tests + 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 From 6b3c6eb224a0adae3560d307d2f61b4f0e6a6bf1 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 17:05:46 +0200 Subject: [PATCH 10/11] fix community failure[execute tests on MySQL] --- travis/travis_integration_test_MySQL.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml index 60bb68dd92..8a9a5e75ed 100644 --- a/travis/travis_integration_test_MySQL.yml +++ b/travis/travis_integration_test_MySQL.yml @@ -1,14 +1,14 @@ -###Running the Integration tests on MySQL -## - stable branch +### 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: mysql + services: docker stage: Tests - if: branch =~ /release\/.*/ OR commit_message =~ /\[execute tests on MySQL\]/ + 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 From 0ead50f896f6f1a6d2b750d194fcf3c1eab97640 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Sun, 1 Nov 2020 20:56:19 +0200 Subject: [PATCH 11/11] code review changes [execute tests on MySQL] --- travis/travis_integration_test_MySQL.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml index 8a9a5e75ed..9f20b1660b 100644 --- a/travis/travis_integration_test_MySQL.yml +++ b/travis/travis_integration_test_MySQL.yml @@ -15,8 +15,6 @@ jobs: - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" - services: docker - stage: Tests 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: