Skip to content

Commit

Permalink
BUILDFIX - Travis MariaDB 10.1 workaround (#409)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcanpilami committed Aug 29, 2020
1 parent 4766ef4 commit 6dabf8e
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ language: java
# Now using https://github.com/DanySK/Gravis-CI (Jabba script) to avoid unreliable jdk support from Tavis.

before_install:
# The next line is a workaround mysql 5.7 being installed by default on the Bionic images - this prevents Mariadb 10.1 install.
- if [[ "$DB" == "mariadb" && "$DB_VERSION" == "10.1" ]]; then sudo service mysql stop; sudo apt-get remove --purge mysql-server mysql-client mysql-common -y; sudo rm -rf /etc/mysql; sudo apt-get install -y mariadb-server-10.1; sudo /bin/bash -c 'echo -e "[mysqld]\nbinlog_format = ROW" >> /etc/mysql/conf.d/60-test.cnf'; sudo service mysql restart; fi
# Install the correct JDK using an external script as this is utterly broken in the Travis tools.
- curl "https://raw.githubusercontent.com/DanySK/Gravis-CI/master/.install-jdk-travis.sh" --output ~/.install-jdk-travis.sh
- source ~/.install-jdk-travis.sh
# Configure the relevant database
- if [[ "$DB" == "mysql" || "$DB" == "mariadb" ]]; then mysql -e "create database jqm; grant all privileges on jqm.* to jqm@'%' identified by 'jqm'; flush privileges;"; fi
- if [[ "$DB" == "mysql" || "$DB" == "mariadb" ]]; then sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('new_password') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"; fi
- if [[ "$DB" == "mysql" || "$DB" == "mariadb" ]]; then sudo mysql_upgrade -u root -pnew_password; fi
Expand All @@ -17,7 +21,9 @@ before_install:
- if [[ "$DB" == "db2" || "$DB" == "oracle" ]]; then echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin; fi
- if [[ "$DB" == "db2" ]]; then docker run --privileged=true --rm --name db2 --detach -p 50000:50000 -e "LICENSE=accept" -e "DB2INST1_PASSWORD=superpassword" -e "DBNAME=jqm" -e "ARCHIVE_LOGS=false" ibmcom/db2; while true; do docker logs db2 2>&1 | grep "Setup has completed" >/dev/null 2>&1; if [[ $? -eq 0 ]]; then break; fi; sleep 1; done; docker exec -it db2 /bin/bash -c 'useradd -G db2iadm1 jqm; echo "jqm:jqm" | chpasswd' ; docker exec --user db2inst1 -it db2 /bin/bash -c 'export DB2INSTANCE=db2inst1; printf "connect to jqm\n create schema jqm AUTHORIZATION jqm\n " | /opt/ibm/db2/V11.5/bin/db2 -v -' ; fi
- if [[ "$DB" == "oracle" ]]; then mkdir -p $HOME/.m2 ; cp .travis.settings.xml $HOME/.m2/settings.xml; docker run --detach --rm -p 1521:1521 --name oracle -e "DB_SID=JQM" store/oracle/database-enterprise:12.2.0.1-slim; while true; do docker ps | grep oracle | grep "(healthy)" 2>&1 >/dev/null; if [[ $? -eq 0 ]]; then break; fi; sleep 1; done; docker exec -it oracle /bin/bash -c ". /home/oracle/.bashrc ; printf 'alter session set \"_ORACLE_SCRIPT\"=true; \n CREATE USER JQM IDENTIFIED BY jqm DEFAULT TABLESPACE SYSAUX QUOTA UNLIMITED ON SYSAUX ACCOUNT UNLOCK;\n GRANT CONNECT, RESOURCE TO JQM;\n ALTER SYSTEM SET OPEN_CURSORS=9999 SCOPE=BOTH;\n ' | sqlplus / as sysdba" ; fi;
# The relevant code is inside a sub directory
- cd jqm-all
# Some parameters which might not be relevant anymore. TODO: remove them.
- export MAVEN_OPTS="-Xmx512m -XX:MaxMetaspaceSize=256m"

env:
Expand Down

0 comments on commit 6dabf8e

Please sign in to comment.