This is an automated email from the ASF dual-hosted git repository.

marcoabreu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git


The following commit(s) were added to refs/heads/master by this push:
     new bb105a1  [MXNET-405] Add 2 new pipelines to the Official CI and run 
nightly tests.  (#10827)
bb105a1 is described below

commit bb105a1f8d977978af29867372ef0605c1c3cdbe
Author: mbaijal <30911248+mbai...@users.noreply.github.com>
AuthorDate: Wed Jun 20 19:17:45 2018 -0700

    [MXNET-405] Add 2 new pipelines to the Official CI and run nightly tests.  
(#10827)
    
    * Migrate Nightlies PR1
    
    * Run all tests
    
    * Fix RAT and Comment out KVstore for now
    
    * Comment out the chmod and test
    
    * remove chmod from rat and CW
    
    * One more check
    
    * changes
    
    * run install on cpu instead of gpu
    
    * Fix failing pip
    
    * Fix Pip
    
    * typo-fix
    
    * Run Pip on cpu instance
    
    * Add a README
    
    * Remove pip-test
    
    * add pip test back
    
    * Add BLC to jenkinsfile format
    
    * add permissions
    
    * include the git add, commit, push for broken link checker
    
    * push not working, comment
    
    * Review Comments 1: remove g++-5 and parallize make
    
    * Review Comments 2: change dockerfile name, update mx_lib, remove 
commented line
    
    * Review Comments 3: Separate out the dockerfiles for nightly tests
    
    * Review Comments 4: Move apache rat install to nightly install script
    
    * Review Comments 4: copy the rat folder into work
    
    * correct path
    
    * Change path Again
    
    * check tests
    
    * path
    
    * Uncomment KVStore
    
    * Fix rat and js tests
    
    * Move to docker_run and comment KVstore again
    
    * Adding docker_run for binaries Jenkinsfile
    
    * Permission and other fixes
    
    * fix RAT regex, add set -e to install funcs
    
    * Delete BLC, change chmod to 755
    
    * JS: parallel make
    
    * Add links to github issues
    
    * change the instance type to cpu
    
    * Comment out pip installs to test build from source on cpu
    
    * typo
    
    * Add sudo for pip install
    
    * Add sudo to all pip install commands coz they cause CI to fail, linux only
    
    * Run compilation warnings on cpu instance
    
    * Change file perms and some cleanup
    
    * Fix the dockerfiles
    
    * Dockerfile updates
    
    * Merge JS dockerfile into nightly and remove export command
    
    * Pin repo versions and run cpu install from souce in cpu docker
    
    * Add yes to install in js script
    
    * remove sudo from index.md
    
    * Add sudo to test script instead
    
    * add sudo to test script
---
 .../docker/Dockerfile.build.ubuntu_base_cpu        |  50 +++---
 .../docker/Dockerfile.build.ubuntu_base_gpu        |  50 +++---
 ci/docker/Dockerfile.build.ubuntu_nightly_cpu      |  61 +++++++
 ci/docker/Dockerfile.build.ubuntu_nightly_gpu      |  64 +++++++
 .../docker/install/ubuntu_emscripten.sh            |  47 +++---
 .../docker/install/ubuntu_nightly_tests.sh         |  35 ++--
 .../docker/install/ubuntu_runas_sudo.sh            |  30 +---
 ci/docker/runtime_functions.sh                     |  56 +++++++
 tests/jenkins/run_test_installation_docs.sh        | 132 ++++++++++-----
 tests/nightly/Jenkinsfile                          | 185 +++++++++++++++++++++
 tests/nightly/JenkinsfileForBinaries               | 121 ++++++++++++++
 tests/nightly/README.md                            |  49 ++++--
 tests/nightly/apache_rat_license_check/README.md   |   2 +-
 .../apache_rat_license_check/license_check.sh      |  51 ++++++
 .../{.rat-excludes => rat-excludes}                |   2 +
 .../compilation_warnings/compilation_warnings.sh   |   4 +-
 .../nightly/compilation_warnings/process_output.py |   0
 tests/nightly/test_image_classification.sh         |  35 +---
 18 files changed, 754 insertions(+), 220 deletions(-)

diff --git a/tests/nightly/compilation_warnings/compilation_warnings.sh 
b/ci/docker/Dockerfile.build.ubuntu_base_cpu
old mode 100644
new mode 100755
similarity index 54%
copy from tests/nightly/compilation_warnings/compilation_warnings.sh
copy to ci/docker/Dockerfile.build.ubuntu_base_cpu
index a6c4863..b6515c7
--- a/tests/nightly/compilation_warnings/compilation_warnings.sh
+++ b/ci/docker/Dockerfile.build.ubuntu_base_cpu
@@ -1,5 +1,4 @@
-#!/bin/bash
-
+# -*- mode: dockerfile -*-
 # 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
@@ -16,30 +15,25 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
+#
+# Dockerfile to run the MXNet Installation Tests on Ubuntu 16.04
+# This should run in an empty docker with ubuntu and cuda.
+
+FROM ubuntu:16.04
+
+WORKDIR /work/deps
+
+RUN apt-get update && apt-get -y install sudo
+
+ARG USER_ID=os.getuid()
+
+COPY install/ubuntu_adduser.sh /work/
+RUN /work/ubuntu_adduser.sh
+
+COPY install/ubuntu_runas_sudo.sh /work/
+RUN /work/ubuntu_runas_sudo.sh
+
+COPY runtime_functions.sh /work/
 
-set -e
-runme() {
-       cmd=$*
-       echo "$cmd"
-       $cmd
-       ret=$?
-       if [[ ${ret} != 0 ]]; then
-               echo " "
-               echo "ERROR: Return value non-zero for: $cmd"
-               echo " "
-               exit 1
-       fi
-}
-
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-sudo apt-get update
-sudo apt-get -y install time g++-5
-runme make clean >/dev/null
-runme mkdir build
-echo "Starting make"
-cp make/config.mk .
-sed -i -e 's/gcc/gcc-5/g' config.mk
-sed -i -e 's/g++/g++-5/g' config.mk
-runme /usr/bin/time -f "%e" make -j$(nproc) 2>&1 | tee build/compile_output.txt
-echo "Finished make. Now processing output"
-python tests/nightly/compilation_warnings/process_output.py 
build/compile_output.txt
+WORKDIR /work/mxnet
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/tests/nightly/compilation_warnings/compilation_warnings.sh 
b/ci/docker/Dockerfile.build.ubuntu_base_gpu
old mode 100644
new mode 100755
similarity index 54%
copy from tests/nightly/compilation_warnings/compilation_warnings.sh
copy to ci/docker/Dockerfile.build.ubuntu_base_gpu
index a6c4863..bb0aa1d
--- a/tests/nightly/compilation_warnings/compilation_warnings.sh
+++ b/ci/docker/Dockerfile.build.ubuntu_base_gpu
@@ -1,5 +1,4 @@
-#!/bin/bash
-
+# -*- mode: dockerfile -*-
 # 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
@@ -16,30 +15,25 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
+#
+# Dockerfile to run the MXNet Installation Tests on Ubuntu 16.04
+# This should run in an empty docker with ubuntu and cuda.
+
+FROM nvidia/cuda:9.1-cudnn7-devel
+
+WORKDIR /work/deps
+
+RUN apt-get update && apt-get -y install sudo
+
+ARG USER_ID=os.getuid()
+
+COPY install/ubuntu_adduser.sh /work/
+RUN /work/ubuntu_adduser.sh
+
+COPY install/ubuntu_runas_sudo.sh /work/
+RUN /work/ubuntu_runas_sudo.sh
+
+COPY runtime_functions.sh /work/
 
-set -e
-runme() {
-       cmd=$*
-       echo "$cmd"
-       $cmd
-       ret=$?
-       if [[ ${ret} != 0 ]]; then
-               echo " "
-               echo "ERROR: Return value non-zero for: $cmd"
-               echo " "
-               exit 1
-       fi
-}
-
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-sudo apt-get update
-sudo apt-get -y install time g++-5
-runme make clean >/dev/null
-runme mkdir build
-echo "Starting make"
-cp make/config.mk .
-sed -i -e 's/gcc/gcc-5/g' config.mk
-sed -i -e 's/g++/g++-5/g' config.mk
-runme /usr/bin/time -f "%e" make -j$(nproc) 2>&1 | tee build/compile_output.txt
-echo "Finished make. Now processing output"
-python tests/nightly/compilation_warnings/process_output.py 
build/compile_output.txt
+WORKDIR /work/mxnet
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.build.ubuntu_nightly_cpu 
b/ci/docker/Dockerfile.build.ubuntu_nightly_cpu
new file mode 100755
index 0000000..fc02a4f
--- /dev/null
+++ b/ci/docker/Dockerfile.build.ubuntu_nightly_cpu
@@ -0,0 +1,61 @@
+# -*- mode: dockerfile -*-
+# 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.
+#
+# Dockerfile to build and run MXNet on Ubuntu 16.04 for CPU
+
+FROM ubuntu:16.04
+
+WORKDIR /work/deps
+
+COPY install/ubuntu_core.sh /work/
+RUN /work/ubuntu_core.sh
+COPY install/ubuntu_ccache.sh /work/
+RUN /work/ubuntu_ccache.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/ubuntu_scala.sh /work/
+RUN /work/ubuntu_scala.sh
+COPY install/ubuntu_r.sh /work/
+RUN /work/ubuntu_r.sh
+COPY install/ubuntu_perl.sh /work/
+RUN /work/ubuntu_perl.sh
+COPY install/ubuntu_clang.sh /work/
+RUN /work/ubuntu_clang.sh
+COPY install/ubuntu_mklml.sh /work/
+RUN /work/ubuntu_mklml.sh
+COPY install/ubuntu_caffe.sh /work/
+RUN /work/ubuntu_caffe.sh
+COPY install/ubuntu_onnx.sh /work/
+RUN /work/ubuntu_onnx.sh
+COPY install/ubuntu_docs.sh /work/
+RUN /work/ubuntu_docs.sh
+COPY install/ubuntu_nightly_tests.sh /work/
+RUN /work/ubuntu_nightly_tests.sh
+COPY install/ubuntu_emscripten.sh /work/
+RUN /work/ubuntu_emscripten.sh
+
+ARG USER_ID=0
+
+COPY install/ubuntu_adduser.sh /work/
+RUN /work/ubuntu_adduser.sh
+
+COPY runtime_functions.sh /work/
+
+WORKDIR /work/mxnet
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+ENV LLVM=/work/deps/emscripten-fastcomp/build/bin
\ No newline at end of file
diff --git a/ci/docker/Dockerfile.build.ubuntu_nightly_gpu 
b/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
new file mode 100755
index 0000000..c55b942
--- /dev/null
+++ b/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
@@ -0,0 +1,64 @@
+# -*- mode: dockerfile -*-
+# 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.
+#
+# Dockerfile to run MXNet on Ubuntu 16.04 for CPU
+
+FROM nvidia/cuda:9.1-cudnn7-devel
+
+WORKDIR /work/deps
+
+COPY install/ubuntu_core.sh /work/
+RUN /work/ubuntu_core.sh
+COPY install/ubuntu_ccache.sh /work/
+RUN /work/ubuntu_ccache.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/ubuntu_scala.sh /work/
+RUN /work/ubuntu_scala.sh
+COPY install/ubuntu_r.sh /work/
+RUN /work/ubuntu_r.sh
+COPY install/ubuntu_perl.sh /work/
+RUN /work/ubuntu_perl.sh
+COPY install/ubuntu_clang.sh /work/
+RUN /work/ubuntu_clang.sh
+COPY install/ubuntu_mklml.sh /work/
+RUN /work/ubuntu_mklml.sh
+COPY install/ubuntu_tvm.sh /work/
+RUN /work/ubuntu_tvm.sh
+COPY install/ubuntu_llvm.sh /work/
+RUN /work/ubuntu_llvm.sh
+COPY install/ubuntu_caffe.sh /work/
+RUN /work/ubuntu_caffe.sh
+COPY install/ubuntu_onnx.sh /work/
+RUN /work/ubuntu_onnx.sh
+COPY install/ubuntu_docs.sh /work/
+RUN /work/ubuntu_docs.sh
+COPY install/ubuntu_tutorials.sh /work/
+RUN /work/ubuntu_tutorials.sh
+COPY install/ubuntu_nightly_tests.sh /work/
+RUN /work/ubuntu_nightly_tests.sh
+
+ARG USER_ID=0
+
+COPY install/ubuntu_adduser.sh /work/
+RUN /work/ubuntu_adduser.sh
+
+COPY runtime_functions.sh /work/
+
+WORKDIR /work/mxnet
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/tests/nightly/compilation_warnings/compilation_warnings.sh 
b/ci/docker/install/ubuntu_emscripten.sh
old mode 100644
new mode 100755
similarity index 50%
copy from tests/nightly/compilation_warnings/compilation_warnings.sh
copy to ci/docker/install/ubuntu_emscripten.sh
index a6c4863..459d145
--- a/tests/nightly/compilation_warnings/compilation_warnings.sh
+++ b/ci/docker/install/ubuntu_emscripten.sh
@@ -17,29 +17,24 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set -e
-runme() {
-       cmd=$*
-       echo "$cmd"
-       $cmd
-       ret=$?
-       if [[ ${ret} != 0 ]]; then
-               echo " "
-               echo "ERROR: Return value non-zero for: $cmd"
-               echo " "
-               exit 1
-       fi
-}
-
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-sudo apt-get update
-sudo apt-get -y install time g++-5
-runme make clean >/dev/null
-runme mkdir build
-echo "Starting make"
-cp make/config.mk .
-sed -i -e 's/gcc/gcc-5/g' config.mk
-sed -i -e 's/g++/g++-5/g' config.mk
-runme /usr/bin/time -f "%e" make -j$(nproc) 2>&1 | tee build/compile_output.txt
-echo "Finished make. Now processing output"
-python tests/nightly/compilation_warnings/process_output.py 
build/compile_output.txt
+# build and install are separated so changes to build don't invalidate
+# the whole docker cache for the image
+
+#The script has been copied as is from a dockerfile that existed on previous 
MXNet versions (0.11)
+#Written By: Ly
+
+set -ex
+
+apt-get -y install nodejs
+
+git clone -b 1.38.6 https://github.com/kripken/emscripten.git
+git clone -b 1.38.6 https://github.com/kripken/emscripten-fastcomp
+cd emscripten-fastcomp
+git clone -b 1.38.6 https://github.com/kripken/emscripten-fastcomp-clang 
tools/clang
+mkdir build && cd build
+
+cmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;JSBackend" \
+-DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF 
-DCLANG_INCLUDE_EXAMPLES=OFF \
+-DCLANG_INCLUDE_TESTS=OFF && make -j$(nproc)
+
+chmod -R 777 /work/deps/emscripten-fastcomp/
\ No newline at end of file
diff --git a/tests/nightly/compilation_warnings/compilation_warnings.sh 
b/ci/docker/install/ubuntu_nightly_tests.sh
old mode 100644
new mode 100755
similarity index 55%
copy from tests/nightly/compilation_warnings/compilation_warnings.sh
copy to ci/docker/install/ubuntu_nightly_tests.sh
index a6c4863..abc2134
--- a/tests/nightly/compilation_warnings/compilation_warnings.sh
+++ b/ci/docker/install/ubuntu_nightly_tests.sh
@@ -17,29 +17,14 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set -e
-runme() {
-       cmd=$*
-       echo "$cmd"
-       $cmd
-       ret=$?
-       if [[ ${ret} != 0 ]]; then
-               echo " "
-               echo "ERROR: Return value non-zero for: $cmd"
-               echo " "
-               exit 1
-       fi
-}
+#Install steps for the nightly tests
 
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-sudo apt-get update
-sudo apt-get -y install time g++-5
-runme make clean >/dev/null
-runme mkdir build
-echo "Starting make"
-cp make/config.mk .
-sed -i -e 's/gcc/gcc-5/g' config.mk
-sed -i -e 's/g++/g++-5/g' config.mk
-runme /usr/bin/time -f "%e" make -j$(nproc) 2>&1 | tee build/compile_output.txt
-echo "Finished make. Now processing output"
-python tests/nightly/compilation_warnings/process_output.py 
build/compile_output.txt
+set -ex
+
+#Install for Compilation warning Nightly Test
+add-apt-repository ppa:ubuntu-toolchain-r/test
+apt-get update
+apt-get -y install time
+
+# Install for RAT License Check Nightly Test
+apt-get install -y subversion maven -y #>/dev/null
diff --git a/tests/nightly/compilation_warnings/compilation_warnings.sh 
b/ci/docker/install/ubuntu_runas_sudo.sh
old mode 100644
new mode 100755
similarity index 55%
copy from tests/nightly/compilation_warnings/compilation_warnings.sh
copy to ci/docker/install/ubuntu_runas_sudo.sh
index a6c4863..40ec60e
--- a/tests/nightly/compilation_warnings/compilation_warnings.sh
+++ b/ci/docker/install/ubuntu_runas_sudo.sh
@@ -17,29 +17,9 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set -e
-runme() {
-       cmd=$*
-       echo "$cmd"
-       $cmd
-       ret=$?
-       if [[ ${ret} != 0 ]]; then
-               echo " "
-               echo "ERROR: Return value non-zero for: $cmd"
-               echo " "
-               exit 1
-       fi
-}
+# build and install are separated so changes to build don't invalidate
+# the whole docker cache for the image
 
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-sudo apt-get update
-sudo apt-get -y install time g++-5
-runme make clean >/dev/null
-runme mkdir build
-echo "Starting make"
-cp make/config.mk .
-sed -i -e 's/gcc/gcc-5/g' config.mk
-sed -i -e 's/g++/g++-5/g' config.mk
-runme /usr/bin/time -f "%e" make -j$(nproc) 2>&1 | tee build/compile_output.txt
-echo "Finished make. Now processing output"
-python tests/nightly/compilation_warnings/process_output.py 
build/compile_output.txt
+set -ex
+
+echo "jenkins_slave  ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
\ No newline at end of file
diff --git a/ci/docker/runtime_functions.sh b/ci/docker/runtime_functions.sh
index 6cefeea..7af0401 100755
--- a/ci/docker/runtime_functions.sh
+++ b/ci/docker/runtime_functions.sh
@@ -774,6 +774,62 @@ build_docs() {
     popd
 }
 
+
+# Functions that run the nightly Tests:
+
+#Runs Apache RAT Check on MXNet Source for License Headers
+nightly_test_rat_check() {
+    set -ex
+    ./tests/nightly/apache_rat_license_check/license_check.sh
+}
+
+#Checks MXNet for Compilation Warnings
+nightly_test_compilation_warning() {
+    set -ex
+    export PYTHONPATH=./python/
+    ./tests/nightly/compilation_warnings/compilation_warnings.sh
+}
+
+#Checks the MXNet Installation Guide - currently checks pip, build from source 
and virtual env on cpu and gpu
+nightly_test_installation() {
+    set -ex
+    # The run_test_installation_docs.sh expects the path to index.md and the 
first and last line numbers of the index.md file
+    # First execute the test script and then call the method specified by the 
Jenkinsfile - ${1}
+    source ./tests/jenkins/run_test_installation_docs.sh docs/install/index.md 
1 1686; ${1}
+}
+
+#Runs a simple MNIST training example
+nightly_test_image_classification() {
+    set -ex
+    ./tests/nightly/test_image_classification.sh
+}
+
+#Single Node KVStore Test
+nightly_test_KVStore_singleNode() {
+    set -ex
+    export PYTHONPATH=./python/
+    python tests/nightly/test_kvstore.py
+}
+
+#Tests Amalgamation Build with 5 different sets of flags
+nightly_test_amalgamation() {
+    set -ex
+    # Amalgamation can not be run with -j nproc
+    make -C amalgamation/ clean
+    make -C amalgamation/ ${1} ${2}
+}
+
+#Tests Amalgamation Build for Javascript
+nightly_test_javascript() {
+    set -ex
+    export LLVM=/work/deps/emscripten-fastcomp/build/bin
+    # This part is needed to run emcc correctly
+    cd /work/deps/emscripten
+    ./emcc
+    touch ~/.emscripten
+    make -C /work/mxnet/amalgamation libmxnet_predict.js MIN=1 
EMCC=/work/deps/emscripten/emcc
+}
+
 # Deploy
 
 deploy_docs() {
diff --git a/tests/jenkins/run_test_installation_docs.sh 
b/tests/jenkins/run_test_installation_docs.sh
index 812317b..d25f1d5 100755
--- a/tests/jenkins/run_test_installation_docs.sh
+++ b/tests/jenkins/run_test_installation_docs.sh
@@ -262,29 +262,52 @@ LINUX_PYTHON_CPU_END_LINENO=$(grep -n "END - Linux Python 
CPU Installation Instr
 
 set_instruction_set ${LINUX_PYTHON_CPU_START_LINENO} 
${LINUX_PYTHON_CPU_END_LINENO}
 
-echo
-echo "### Testing Virtualenv ###"
-echo "${virtualenv_commands}"
-echo
-docker run --rm ubuntu:14.04 bash -c "${virtualenv_commands}"
+ubuntu_python_cpu_virtualenv()
+{
+    set -e
+    echo
+    echo "### Testing Virtualenv ###"
+    echo "${virtualenv_commands}" #> "$filewithcommands"
+    echo
+    eval ${virtualenv_commands}
+    echo "ubuntu_python_cpu_virtualenv: MXNet Installed Successfully"
+}
 
-echo
-echo "### Testing Pip ###"
-echo "${pip_commands}"
-echo
-docker run --rm ubuntu:14.04 bash -c "${pip_commands}"
+ubuntu_python_cpu_pip()
+{
+    set -e
+    echo
+    echo "### Testing Pip ###"
+    pip_commands="sudo ${pip_commands}"
+    echo "${pip_commands}"
+    echo
+    eval ${pip_commands}
+    echo "ubuntu_python_cpu_pip: MXNet Installed Successfully"
+}
 
-echo
-echo "### Testing Docker ###"
-echo "${docker_commands}"
-echo
-eval ${docker_commands}
+ubuntu_python_cpu_docker()
+{
+    set -e
+    echo
+    echo "### Testing Docker ###"
+    echo "${docker_commands}"
+    echo
+    eval ${docker_commands}
+    echo "ubuntu_python_cpu_docker: MXNet Installed Successfully"
 
-echo
-echo "### Testing Build From Source ###"
-echo "${buildfromsource_commands}"
-echo
-docker run --rm ubuntu:14.04 bash -c "${buildfromsource_commands}"
+}
+
+ubuntu_python_cpu_source()
+{
+    set -e
+    echo
+    echo "### Testing Build From Source ###"
+    echo "${buildfromsource_commands}"
+    echo
+    eval ${buildfromsource_commands}
+    echo "ubuntu_python_cpu_source: MXNet Installed Successfully"
+
+}
 
 #########################LINUX-PYTHON-GPU###########################
 
@@ -299,28 +322,55 @@ LINUX_PYTHON_GPU_END_LINENO=$(grep -n "END - Linux Python 
GPU Installation Instr
 set_instruction_set ${LINUX_PYTHON_GPU_START_LINENO} 
${LINUX_PYTHON_GPU_END_LINENO}
 
 
-# mxnet/base-cuda9 is a simple Docker Image with 
'nvidia/cuda:9.0-cudnn7-devel' and 'apt-get install sudo'.
+ubuntu_python_gpu_virtualenv()
+{
+    set -e
+    echo
+    echo "### Testing Virtualenv ###"
+    echo "${virtualenv_commands}"
+    echo
+    eval ${virtualenv_commands}
+    echo "ubuntu_python_gpu_virtualenv: MXNet Installed Successfully"
 
-echo
-echo "### Testing Virtualenv ###"
-echo "${virtualenv_commands}"
-echo
-nvidia-docker run --rm mxnet/base-cuda9 bash -c "${virtualenv_commands}"
+}
 
-echo
-echo "### Testing Pip ###"
-echo "${pip_commands}"
-echo
-nvidia-docker run --rm mxnet/base-cuda9 bash -c "${pip_commands}"
+ubuntu_python_gpu_pip()
+{
+    set -e
+    echo
+    echo "### Testing Pip ###"
+    echo "${pip_commands}"
+    echo
+    eval ${pip_commands}
+    echo "ubuntu_python_gpu_pip: MXNet Installed Successfully"
 
-echo
-echo "### Testing Docker ###"
-echo "${docker_commands}"
-echo
-eval ${docker_commands}
+}
 
-echo
-echo "### Testing Build From Source ###"
-echo "${buildfromsource_commands}"
-echo
-nvidia-docker run --rm mxnet/base-cuda9 bash -c "${buildfromsource_commands}"
+ubuntu_python_gpu_docker()
+{
+    set -e
+    echo
+    echo "### Testing Docker ###"
+    echo "${docker_commands}"
+    echo
+    eval ${docker_commands}
+    echo "ubuntu_python_gpu_docker: MXNet Installed Successfully"
+
+}
+
+ubuntu_python_gpu_source()
+{
+    set -e
+    echo
+    echo "### Testing Build From Source ###"
+    echo "${buildfromsource_commands}"
+    echo
+    eval ${buildfromsource_commands}
+    echo "ubuntu_python_gpu_source: MXNet Installed Successfully"
+
+}
+
+func_virtual_commands()
+{
+  echo ${virtualenv_commands}
+}
diff --git a/tests/nightly/Jenkinsfile b/tests/nightly/Jenkinsfile
new file mode 100755
index 0000000..6805bc4
--- /dev/null
+++ b/tests/nightly/Jenkinsfile
@@ -0,0 +1,185 @@
+// -*- mode: groovy -*-
+// 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 is a Jenkinsfile for nightly tests. The format and some functions have 
been picked up from the top-level Jenkinsfile
+
+err = null
+mx_lib = 'lib/libmxnet.so, lib/libmxnet.a, 3rdparty/dmlc-core/libdmlc.a, 
3rdparty/nnvm/lib/libnnvm.a'
+
+// pack libraries for later use
+def pack_lib(name, libs=mx_lib) {
+  sh """
+echo "Packing ${libs} into ${name}"
+echo ${libs} | sed -e 's/,/ /g' | xargs md5sum
+"""
+  stash includes: libs, name: name
+}
+
+// unpack libraries saved before
+def unpack_lib(name, libs=mx_lib) {
+  unstash name
+  sh """
+echo "Unpacked ${libs} from ${name}"
+echo ${libs} | sed -e 's/,/ /g' | xargs md5sum
+"""
+}
+
+def init_git() {
+  deleteDir()
+  retry(5) {
+    try {
+      timeout(time: 15, unit: 'MINUTES') {
+        checkout scm
+        sh 'git submodule update --init --recursive'
+        sh 'git clean -d -f'
+      }
+    } catch (exc) {
+      deleteDir()
+      error "Failed to fetch source codes with ${exc}"
+      sleep 2
+    }
+  }
+}
+
+def docker_run(platform, function_name, use_nvidia, shared_mem = '500m') {
+  def command = "ci/build.py --docker-registry ${env.DOCKER_CACHE_REGISTRY} 
%USE_NVIDIA% --platform %PLATFORM% --shm-size %SHARED_MEM% 
/work/runtime_functions.sh %FUNCTION_NAME%"
+  command = command.replaceAll('%USE_NVIDIA%', use_nvidia ? '--nvidiadocker' : 
'')
+  command = command.replaceAll('%PLATFORM%', platform)
+  command = command.replaceAll('%FUNCTION_NAME%', function_name)
+  command = command.replaceAll('%SHARED_MEM%', shared_mem)
+
+  sh command
+}
+
+try {
+  stage('NightlyTests'){
+    parallel 'RATCheck: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-RATTest') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_rat_check', false)
+        }
+      }
+    },
+    'CompilationWarnings: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-compilationTest') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_compilation_warning', 
false)
+        }
+      }
+    },
+    'InstallationGuide: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-Installation-cpu') {
+          init_git()
+          docker_run('ubuntu_base_cpu', 'nightly_test_installation 
ubuntu_python_cpu_virtualenv', false)
+          docker_run('ubuntu_base_cpu', 'nightly_test_installation 
ubuntu_python_cpu_pip', false)
+          //Docker Install Test is currently disabled and tracked here: 
https://github.com/apache/incubator-mxnet/issues/11288
+          //docker_run('ubuntu_base_cpu', 'nightly_test_installation 
ubuntu_python_cpu_docker', false)
+          docker_run('ubuntu_base_cpu', 'nightly_test_installation 
ubuntu_python_cpu_source', false)
+        }
+      }
+    },
+    'InstallationGuide: GPU': {
+      node('mxnetlinux-gpu') {
+        ws('workspace/nt-Installation-gpu') {
+          init_git()
+          docker_run('ubuntu_base_gpu', 'nightly_test_installation 
ubuntu_python_gpu_virtualenv', true)
+          docker_run('ubuntu_base_gpu', 'nightly_test_installation 
ubuntu_python_gpu_pip', true)
+          //Docker Install Test is currently disabled and tracked here: 
https://github.com/apache/incubator-mxnet/issues/11288
+          //docker_run('ubuntu_base_gpu', 'nightly_test_installation 
ubuntu_python_gpu_docker', true)
+          docker_run('ubuntu_base_gpu', 'nightly_test_installation 
ubuntu_python_gpu_source', true)
+        }
+      }
+    },
+    'PipTest: GPU': {
+      node('mxnetlinux-gpu') {
+        ws('workspace/nt-pipTest') {
+          init_git()
+        }
+      }
+    },
+    'Amalgamation-atlas: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-amalgamation1') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_amalgamation 
USE_BLAS=atlas', false)
+        }
+      }
+    },
+    'Amalgamation-atlas-min: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-amalgamation2') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_amalgamation 
USE_BLAS=atlas MIN=1', false)
+        }
+      }
+    },
+    'Amalgamation-atlas-mkl: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-amalgamation3') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_amalgamation 
USE_BLAS=atlas MSHADOW_USE_MKL=1', false)
+        }
+      }
+    },
+    'Amalgamation-atlas-cuda: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-amalgamation4') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_amalgamation 
USE_BLAS=atlas MSHADOW_USE_CUDA=1', false)
+        }
+      }
+    },
+    'Amalgamation-atlas-openmp: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-amalgamation5') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_amalgamation 
USE_BLAS=atlas DISABLE_OPENMP=0', false)
+        }
+      }
+    },
+    'MXNetJS: CPU': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/nt-mxnetjs') {
+          init_git()
+          docker_run('ubuntu_nightly_cpu', 'nightly_test_javascript', false)
+        }
+      }
+    }
+  }
+} catch (caughtError) {
+  node("mxnetlinux-cpu") {
+    sh "echo caught ${caughtError}"
+    err = caughtError
+    currentBuild.result = "FAILURE"
+  }
+} finally {
+  node("mxnetlinux-cpu") {
+    // Only send email if nightly test failed
+    if (currentBuild.result == "FAILURE") {
+    emailext body: 'Build for MXNet branch has broken. Please view the build 
at ${BUILD_URL}', replyTo: '${EMAIL}', subject: '[NIGHTLY TEST FAILED] build 
${BUILD_NUMBER}', to: 'meghnabaijal2...@gmail.com, meghnabai...@gmail.com'
+    }
+    // Remember to rethrow so the build is marked as failing
+    if (err) {
+      throw err
+    }
+  }
+}
diff --git a/tests/nightly/JenkinsfileForBinaries 
b/tests/nightly/JenkinsfileForBinaries
new file mode 100755
index 0000000..7c727d6
--- /dev/null
+++ b/tests/nightly/JenkinsfileForBinaries
@@ -0,0 +1,121 @@
+// -*- mode: groovy -*-
+// 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 is a Jenkinsfile for nightly tests. The format and some functions have 
been picked up from the top-level Jenkinsfile
+
+err = null
+mx_lib = 'lib/libmxnet.so, lib/libmxnet.a, 3rdparty/dmlc-core/libdmlc.a, 
3rdparty/tvm/nnvm/lib/libnnvm.a'
+
+// pack libraries for later use
+def pack_lib(name, libs=mx_lib) {
+  sh """
+echo "Packing ${libs} into ${name}"
+echo ${libs} | sed -e 's/,/ /g' | xargs md5sum
+"""
+  stash includes: libs, name: name
+}
+
+// unpack libraries saved before
+def unpack_lib(name, libs=mx_lib) {
+  unstash name
+  sh """
+echo "Unpacked ${libs} from ${name}"
+echo ${libs} | sed -e 's/,/ /g' | xargs md5sum
+"""
+}
+
+def init_git() {
+  deleteDir()
+  retry(5) {
+    try {
+      timeout(time: 15, unit: 'MINUTES') {
+        checkout scm
+        sh 'git submodule update --init --recursive'
+        sh 'git clean -d -f'
+      }
+    } catch (exc) {
+      deleteDir()
+      error "Failed to fetch source codes with ${exc}"
+      sleep 2
+    }
+  }
+}
+
+def docker_run(platform, function_name, use_nvidia, shared_mem = '500m') {
+  def command = "ci/build.py --docker-registry ${env.DOCKER_CACHE_REGISTRY} 
%USE_NVIDIA% --platform %PLATFORM% --shm-size %SHARED_MEM% 
/work/runtime_functions.sh %FUNCTION_NAME%"
+  command = command.replaceAll('%USE_NVIDIA%', use_nvidia ? '--nvidiadocker' : 
'')
+  command = command.replaceAll('%PLATFORM%', platform)
+  command = command.replaceAll('%FUNCTION_NAME%', function_name)
+  command = command.replaceAll('%SHARED_MEM%', shared_mem)
+
+  sh command
+}
+
+try {
+  stage('Build') {
+    parallel 'GPU: CUDA9.1+cuDNN7': {
+      node('mxnetlinux-cpu') {
+        ws('workspace/build-gpu') {
+          init_git()
+          //sh "ci/build.py --platform ubuntu_build_cuda 
/work/runtime_functions.sh build_ubuntu_gpu_cuda91_cudnn7"
+          docker_run('ubuntu_build_cuda', 'build_ubuntu_gpu_cuda91_cudnn7', 
false)
+          pack_lib('gpu', mx_lib)
+        }
+      }
+    }
+  }
+
+  stage('NightlyTests'){
+    parallel 'ImageClassification: GPU': {
+      node('mxnetlinux-gpu') {
+        ws('workspace/nt-ImageClassificationTest') {
+          init_git()
+          unpack_lib('gpu', mx_lib)
+          docker_run('ubuntu_nightly_gpu', 
'nightly_test_image_classification', true)
+        }
+      }
+    },
+    'KVStore_SingleNode: GPU': {
+      node('mxnetlinux-gpu-p3') {
+        ws('workspace/nt-KVStoreTest') {
+          init_git()
+          unpack_lib('gpu', mx_lib)
+          //https://github.com/apache/incubator-mxnet/issues/11289
+          //docker_run('ubuntu_nightly_gpu', 
'nightly_test_KVStore_singleNode', true)
+        }
+      }
+    }
+  }
+} catch (caughtError) {
+  node("mxnetlinux-cpu") {
+    sh "echo caught ${caughtError}"
+    err = caughtError
+    currentBuild.result = "FAILURE"
+  }
+} finally {
+  node("mxnetlinux-cpu") {
+    // Only send email if master failed
+    if (currentBuild.result == "FAILURE") {
+    emailext body: 'Build for MXNet Nightly Test is broken. Please view the 
build at ${BUILD_URL}', replyTo: '${EMAIL}', subject: '[NIGHTLY TEST FAILED] 
Build ${BUILD_NUMBER}', to: 'meghnabaijal2...@gmail.com'
+    }
+    // Remember to rethrow so the build is marked as failing
+    if (err) {
+      throw err
+    }
+  }
+}
diff --git a/tests/nightly/README.md b/tests/nightly/README.md
old mode 100644
new mode 100755
index e1dd148..fa1771a
--- a/tests/nightly/README.md
+++ b/tests/nightly/README.md
@@ -1,18 +1,43 @@
-# Nightly build for mxnet
+# Nightly Tests for MXNet 
 
-This fold contains scripts to test some heavy jobs, often training with 
multiple
-GPUs, to ensure everything is right. Normally it runs everyday.
-The current build server is equipped with Intel i7-4790 and 4 Nvidia GTX
-970 Tis. The build status is available at [ci.dmlc.ml](http://ci.dmlc.ml). We
-thank [Dave Andersen](http://www.cs.cmu.edu/~dga) for providing the build 
machine.
+These are some longer running tests that are scheduled to run every night. 
 
-## How to use
+### Description
+There are two Jenkins pipelines that run these tests - 
+1. Tests on the Source code: 
http://jenkins.mxnet-ci.amazon-ml.com/view/Nightly%20Tests/job/NightlyTests_onSource/
+2. Tests on Built Binaries: 
http://jenkins.mxnet-ci.amazon-ml.com/view/Nightly%20Tests/job/NightlyTests_onBinaries/
 
-### Run locallly
+### Adding a new Nightly Test
+Add your test script to the mxnet repo (preferably)in the tests/nightly folder)
+Make sure to describe in a readme or comments the purpose of the test. 
 
-Run `tests/nightly/test_all.sh 4` if there are 4 GPUs.
+#### Setting up the Docker Container 
+1. Your test must run on the CI slaves only within an official docker 
container available at ci/docker
+2. Make sure your script itself does not install anything on the slaves. All 
dependencies must be added to the dockerfile.
+3. For most tests you should be able to find an existing dockerfile that 
contains all the necessary dependencies - select based on the required os, cpu 
vs gpu, necessary dependencies etc
+4. However, If there is no dockerfile which installs the required dependencies 
do the following - 
+    a. Add your dependencies to a new install script in ci/docker/install
+    b. Now either run this install script within an existing dockerfile or 
create a new dockerfile. 
 
-### Run on Jenkins
+#### Running the test from the Jenkinsfile
+If the test runs on the MXNet source, modify tests/nightly/Jenkinsfile - 
+1. Add a function to ci/docker/runtimefunctions.sh which calls your test 
script. 
+2. In the Jenkinsfile, add a new test similar to existing tests under the 
`NightlyTests` stage. Make sure to call the right runtime function
 
-First merge codes into the master branch, then go to
-http://ci.dmlc.ml/job/mxnet/, click **Build Now**.
+If the test runs on MXNet binaries modify tests/nightly/JenkinsfileForBinaries 
-
+1. Add a function to ci/docker/runtimefunctions.sh which calls your test 
script. 
+2. In the Jenkinsfile, if needed, add a new build similar to existing tests 
under the `Build` stage. 
+3. Add a new test similar to existing tests under the `NightlyTests` stage. 
Make sure to call the right runtime function
+
+### Currently Running Tests
+
+#### Tests on Source
+1. Amalgamation Tests
+2. Compilation Warnings
+3. Installation Guide
+4. MXNet Javascript Test
+5. Apache RAT check
+
+#### Tests on Binaries
+1. Image Classification Test
+2. Single Node KVStore 
diff --git a/tests/nightly/apache_rat_license_check/README.md 
b/tests/nightly/apache_rat_license_check/README.md
old mode 100644
new mode 100755
index b040882..477db37
--- a/tests/nightly/apache_rat_license_check/README.md
+++ b/tests/nightly/apache_rat_license_check/README.md
@@ -7,7 +7,7 @@ This file lists all the files, directories and file formats 
that are excluded fr
 If you think something is wrong, feel free to change!
 
 ### Nightly test script for license check
-Coming soon...
+The license check script called by the Jenkinsfile
 
 ### How to run the RAT check locally
 The following commands can be used to run a Apache RAT check locally - 
diff --git a/tests/nightly/apache_rat_license_check/license_check.sh 
b/tests/nightly/apache_rat_license_check/license_check.sh
new file mode 100755
index 0000000..84accf9
--- /dev/null
+++ b/tests/nightly/apache_rat_license_check/license_check.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env 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.
+
+
+#mvn and svn are installed in the docker container via the nghtly test script
+
+echo "download RAT"
+svn co http://svn.apache.org/repos/asf/creadur/rat/trunk/ #>/dev/null
+
+echo "cd into directory"
+cd trunk
+
+echo "mvn install"
+mvn -Dmaven.test.skip=true install #>/dev/null
+
+echo "build success, cd into target"
+cd apache-rat/target
+
+
+echo "-------Run Apache RAT check on MXNet-------"
+
+#Command has been run twice, once for the logs and once to store in the 
variable to parse.
+java -jar apache-rat-0.13-SNAPSHOT.jar -E 
/work/mxnet/tests/nightly/apache_rat_license_check/rat-excludes -d /work/mxnet
+OUTPUT="$(java -jar apache-rat-0.13-SNAPSHOT.jar -E 
/work/mxnet/tests/nightly/apache_rat_license_check/rat-excludes -d /work/mxnet)"
+SOURCE="^0 Unknown Licenses"
+
+
+echo "-------Process The Output-------"
+
+if [[ "$OUTPUT" =~ "$SOURCE" ]]; then
+      echo "SUCCESS: There are no files with an Unknown License.";
+else
+      echo "ERROR: RAT Check detected files with unknown licenses. Please fix 
and run test again!";
+      exit 1
+fi
\ No newline at end of file
diff --git a/tests/nightly/apache_rat_license_check/.rat-excludes 
b/tests/nightly/apache_rat_license_check/rat-excludes
old mode 100644
new mode 100755
similarity index 94%
rename from tests/nightly/apache_rat_license_check/.rat-excludes
rename to tests/nightly/apache_rat_license_check/rat-excludes
index 885b131..ddcaec1
--- a/tests/nightly/apache_rat_license_check/.rat-excludes
+++ b/tests/nightly/apache_rat_license_check/rat-excludes
@@ -53,3 +53,5 @@ dataset.cPickle
 
 rcnn/*
 image-classification/*
+rat-excludes
+apache-rat-tasks/*
diff --git a/tests/nightly/compilation_warnings/compilation_warnings.sh 
b/tests/nightly/compilation_warnings/compilation_warnings.sh
old mode 100644
new mode 100755
index a6c4863..0e39424
--- a/tests/nightly/compilation_warnings/compilation_warnings.sh
+++ b/tests/nightly/compilation_warnings/compilation_warnings.sh
@@ -31,9 +31,7 @@ runme() {
        fi
 }
 
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-sudo apt-get update
-sudo apt-get -y install time g++-5
+# g++-5 is installed in ci/docker/install/ubuntu_nightly_tests.sh
 runme make clean >/dev/null
 runme mkdir build
 echo "Starting make"
diff --git a/tests/nightly/compilation_warnings/process_output.py 
b/tests/nightly/compilation_warnings/process_output.py
old mode 100644
new mode 100755
diff --git a/tests/nightly/test_image_classification.sh 
b/tests/nightly/test_image_classification.sh
index b4b4dca..1e4508f 100755
--- a/tests/nightly/test_image_classification.sh
+++ b/tests/nightly/test_image_classification.sh
@@ -18,17 +18,6 @@
 # under the License.
 
 
-# setup
-export LD_LIBRARY_PATH=`pwd`/`dirname 
$0`/lib:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
-export PYTHONPATH=`pwd`/`dirname $0`/python
-# bc is required by sh2ju.sh
-apt-get install bc
-cd `pwd`/`dirname $0`
-. sh2ju.sh
-
-## clean last build log
-juLogClean
-
 if [ -f $(which nvidia-smi) ]; then
     if [ $# -eq 1 ]; then
         num_gpus=$1
@@ -41,34 +30,17 @@ else
     device_arg=""
 fi
 
-# build
-build() {
-    make -C ../.. clean
-    make -C ../.. -j8
-    return $?
-}
-
-cp ../../make/config.mk ../..
-cat >>../../config.mk <<EOF
-USE_CUDA=1
-USE_CUDA_PATH=/usr/local/cuda
-USE_CUDNN=1
-USE_DIST_KVSTORE=1
-EOF
-
-juLog -name=Build -error=Error build
-
 # check if the final evaluation accuracy exceed the threshold
 check_val() {
     expected=$1
     pass="Final validation >= $expected, PASS"
     fail="Final validation < $expected, FAIL"
-    python ../../tools/parse_log.py log --format none | tail -n1 | \
+    python tools/parse_log.py log --format none | tail -n1 | \
         awk "{ if (\$3~/^[.0-9]+$/ && \$3 > $expected) print \"$pass\"; else 
print \"$fail\"}"
     rm -f log
 }
 
-example_dir=../../example/image-classification
+example_dir=example/image-classification
 # python: lenet + mnist
 test_lenet() {
     optimizers="adam sgd adagrad"
@@ -89,6 +61,7 @@ test_lenet() {
        check_val $desired_accuracy
     done
 }
-juLog -name=Python.Lenet.Mnist -error=FAIL test_lenet
+
+test_lenet
 
 exit $errors

Reply via email to