blob: 57f4e315dfc6618fa7655225fba109a290370a89 [file] [log] [blame]
#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# This should be used to create the build.
#
export TEST_SEQUENCE_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f2`
export MAVEN_OPTS="-Xmx4096m -XX:MaxPermSize=800m -Djava.security.egd=file:/dev/./urandom"
set -e
DIR=$(pwd)
cd ~
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar zxvf apache-maven-3.6.3-bin.tar.gz
export PATH=`pwd`/apache-maven-3.6.3/bin:$PATH
cd $DIR
echo -e "\nJDK version"
export JAVA_HOME=$(readlink -f /usr/lib/jvm/java-11-openjdk-amd64/bin/java | sed "s:bin/java::")
mvn -v
if [ $TEST_SEQUENCE_NUMBER -eq 1 ]; then
# npm lint, test and build
cd ui && npm install && npm run lint && npm run test:unit && npm run build
cd $DIR
# TODO reinstate this when the systemvm code is fully ported to python3 (or some other processing system)
# Pylint/pep8 systemvm python codebase
# python3 -m pip install --user --upgrade setuptools pycodestyle pylint flask nose
# pip install virtualenv
# sudo virtualenv -p `which python2` py2
# source py2/bin/activate
# cd $DIR
# which python
# which python2
# python --version
# python2 -m pip install --user --upgrade setuptools pycodestyle pylint flask nose
# cd systemvm/test && bash -x runtests.sh
# Build noredist
git clone https://github.com/rhtyd/cloudstack-nonoss.git nonoss && cd nonoss && bash -x install-non-oss.sh
cd $DIR && echo $DIR
git clean -fdx .
# Perform rat checks
mvn -P developer,systemvm -Dsimulator -Dnoredist -pl . org.apache.rat:apache-rat-plugin:0.12:check
mvn -q -B -P developer,systemvm -Dsimulator -Dnoredist clean install
else
mvn -Pdeveloper -Dsimulator clean install -DskipTests=true -T4
fi
# Install mysql-connector-python
python3 -m pip install --user --upgrade http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df 2>&1 > /dev/null
# Install marvin
python3 -m pip install --user --upgrade tools/marvin/dist/Marvin-*.tar.gz
# Deploy the database
mvn -q -Pdeveloper -pl developer -Ddeploydb
mvn -q -Pdeveloper -pl developer -Ddeploydb-simulator