@@ -2,104 +2,32 @@ sudo: required
22
33dist : trusty
44
5- services :
6- - docker
7-
8- language : python
9-
10- cache :
11- directories :
12- - $HOME/.ivy2
13- - $HOME/.sbt/launchers/
14- - $HOME/.cache/spark-versions
5+ language : minimal
156
167env :
178 global :
18- - SCALA_VERSION=2.11.8
19- - SPARK_VERSION=2.3.1
20- - SPARK_BUILD="spark-${SPARK_VERSION}-bin-hadoop2.7"
21- - SPARK_BUILD_URL="https://dist.apache.org/repos/dist/release/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop2.7.tgz"
22- - SPARK_HOME=$HOME/.cache/spark-versions/$SPARK_BUILD
23- - RUN_ONLY_LIGHT_TESTS=True
9+ - DOCKER_COMPOSE_VERSION=1.22.0
2410 matrix :
25- - PYTHON_VERSION=3.6.2 TEST_SUITE=scala-tests
26- - PYTHON_VERSION=3.6.2 TEST_SUITE=python-tests
27- - PYTHON_VERSION=3.6.2 TEST_SUITE=pylint
28- - PYTHON_VERSION=3.5.1 TEST_SUITE=python-tests
29- - PYTHON_VERSION=3.5.1 TEST_SUITE=pylint
30- - PYTHON_VERSION=2.7.13 TEST_SUITE=python-tests
31- - PYTHON_VERSION=2.7.13 TEST_SUITE=pylint
32-
33- before_install :
34- - ./bin/download_travis_dependencies.sh
35- - ci_env=`bash <(curl -s https://codecov.io/env)`
36- - if [[ "$PYTHON_VERSION" == 2.* ]]; then
37- export CONDA_URL="repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh"
38- export PYSPARK_PYTHON=python2;
39- else
40- export CONDA_URL="repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh";
41- export PYSPARK_PYTHON=python3;
42- fi
11+ - PYTHON_VERSION=3.6 TEST_SUITE=pylint
12+ - PYTHON_VERSION=2.7 TEST_SUITE=pylint
13+ - PYTHON_VERSION=3.6 TEST_SUITE=python-tests
14+ - PYTHON_VERSION=2.7 TEST_SUITE=python-tests
15+ - PYTHON_VERSION=3.6 TEST_SUITE=scala-tests
4316
44- - docker run $ci_env
45- -e "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
46- -e SPARK_VERSION
47- -e SPARK_BUILD
48- -e SCALA_VERSION
49- -e PYTHON_VERSION
50- -e PYSPARK_PYTHON
51- -e SPARK_HOME
52- -e RUN_ONLY_LIGHT_TESTS
53- -e CONDA_URL
54- -d --name ubuntu-test -v $HOME ubuntu:16.04 tail -f /dev/null
55- - docker ps
56-
57- # See this page: http://conda.pydata.org/docs/travis.html
58- install :
59- # install needed ubuntu packages
60- - docker exec -t ubuntu-test bash -c "
61- apt-get update;
62- apt-get upgrade -y;
63- apt-get install -y curl openjdk-8-jdk bzip2"
64-
65- # Copy the current dir into the docker container
66- - docker exec -t ubuntu-test bash -c "mkdir -p $TRAVIS_BUILD_DIR"
67- - docker cp `pwd`/. ubuntu-test:$TRAVIS_BUILD_DIR
17+ services :
18+ - docker
6819
69- # Download and set up miniconda
70- - docker exec -t ubuntu-test bash -c "
71- curl https://$CONDA_URL >> $HOME/miniconda.sh;
72- bash $HOME/miniconda.sh -b -p $HOME/miniconda;
73- bash $HOME/miniconda.sh -b -p $HOME/miniconda;
74- $HOME/miniconda/bin/conda config --set always_yes yes --set changeps1 no;
75- $HOME/miniconda/bin/conda update -q conda;
76- $HOME/miniconda/bin/conda info -a;
77- $HOME/miniconda/bin/conda create -q -n test-environment python=$PYTHON_VERSION"
20+ before_install :
21+ # update docker compose to the specified version, https://docs.travis-ci.com/user/docker/#using-docker-compose
22+ - sudo rm /usr/local/bin/docker-compose
23+ - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
24+ - chmod +x docker-compose
25+ - sudo mv docker-compose /usr/local/bin
7826
79- # Activate conda environment ad install required packages
80- - docker exec -t ubuntu-test bash -c "
81- source $HOME/miniconda/bin/activate test-environment;
82- pip install --user -r $TRAVIS_BUILD_DIR/dev/dev-requirements.txt;
83- pip install --user -r $TRAVIS_BUILD_DIR/python/requirements.txt;"
27+ install :
28+ - docker-compose build --build-arg PYTHON_VERSION=$PYTHON_VERSION
29+ - docker-compose up -d --scale worker=2
30+ - docker-compose exec master bash -c "cd /mnt/sparkdl && build/sbt assembly"
8431
8532script :
86- - docker cp $HOME/.cache ubuntu-test:$HOME/
87- # build assembly
88- - docker exec -t ubuntu-test bash -c "
89- source $HOME/miniconda/bin/activate test-environment;
90- cd $TRAVIS_BUILD_DIR;
91- ./dev/run.py assembly"
92- # run python style and test suites
93- - docker exec -t ubuntu-test bash -c "
94- source $HOME/miniconda/bin/activate test-environment;
95- cd $TRAVIS_BUILD_DIR;
96- ./dev/run.py $TEST_SUITE"
97-
98- after_success :
99- # Unfortunately we need to install coverage here even though it's been installed via pip in the virual env.
100- # The codecov bash script executes `which coverage` and that comes up empty unless we install it directly.
101- - docker exec -t ubuntu-test bash -c "
102- source $HOME/miniconda/bin/activate test-environment;
103- $HOME/miniconda/bin/conda install -c anaconda coverage;
104- cd $TRAVIS_BUILD_DIR;
105- bash <(curl -s https://codecov.io/bash)"
33+ - docker-compose exec master bash -c "cd /mnt/sparkdl && dev/run.py $TEST_SUITE"
0 commit comments