Browse Source

Add mariadb 10.0 ci tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Roeland Jago Douma 5 years ago
parent
commit
752718e833
2 changed files with 52 additions and 5 deletions
  1. 37 0
      .drone.yml
  2. 15 5
      autotest.sh

+ 37 - 0
.drone.yml

@@ -395,6 +395,43 @@ trigger:
     - pull_request
     - push
 
+---
+kind: pipeline
+name: mariadb10.0-php7.1
+
+steps:
+- name: submodules
+  image: docker:git
+  commands:
+    - git submodule update --init
+- name: mariadb10.0-php7.1
+  image: nextcloudci/php7.1:php7.1-16
+  commands:
+    - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
+
+services:
+- name: cache
+  image: redis
+- name: mariadb
+  image: mariadb:10.0
+  environment:
+    MYSQL_ROOT_PASSWORD: owncloud
+    MYSQL_USER: oc_autotest
+    MYSQL_PASSWORD: owncloud
+    MYSQL_DATABASE: oc_autotest
+  tmpfs:
+    - /var/lib/mysql
+
+trigger:
+  branch:
+    - master
+    - stable*
+  event:
+    - pull_request
+    - push
+
+
+
 ---
 kind: pipeline
 name: mysql-php7.1

+ 15 - 5
autotest.sh

@@ -283,12 +283,22 @@ function execute_tests {
 			echo "MariaDB is up."
 
 		else
-			if [ "MariaDB" != "$(mysql --version | grep -o MariaDB)" ] ; then
-				echo "Your mysql binary is not provided by MariaDB"
-				echo "To use the docker container set the USEDOCKER environment variable"
-				exit -1
+			if [ -z "$DRONE" ] ; then # no need to drop the DB when we are on CI
+				if [ "MariaDB" != "$(mysql --version | grep -o MariaDB)" ] ; then
+					echo "Your mysql binary is not provided by MariaDB"
+					echo "To use the docker container set the USEDOCKER environment variable"
+					exit -1
+				fi
+				mysql -u "$DATABASEUSER" -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true
+			else
+				DATABASEHOST=mariadb
 			fi
-			mysql -u "$DATABASEUSER" -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true
+		fi
+
+		echo "Waiting for MariaDB initialisation ..."
+		if ! apps/files_external/tests/env/wait-for-connection $DATABASEHOST 3306 600; then
+			echo "[ERROR] Waited 600 seconds, no response" >&2
+			exit 1
 		fi
 
 		#Reset _DB to mysql since that is what we use internally