You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by ns...@apache.org on 2017/07/28 23:22:33 UTC
[incubator-mxnet] branch master updated: Add post-build email
notification & fix Windows CPU build (#7225)
This is an automated email from the ASF dual-hosted git repository.
nswamy 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 eb23742 Add post-build email notification & fix Windows CPU build (#7225)
eb23742 is described below
commit eb2374215de684b918df9e42a997f243a98a3707
Author: lxn2 <lx...@users.noreply.github.com>
AuthorDate: Fri Jul 28 16:22:31 2017 -0700
Add post-build email notification & fix Windows CPU build (#7225)
* Add post-build email to Jenkinsfile (#7207)
Add post-build action to email if build failed. This branch will be used to test this Jenkinsfile.
* Add post-build email notification & fix Windows CPU build (#7212)
* Add post-build email to Jenkinsfile
* Add post-build email notification & fix Windows CPU build
* Add new variables to Jenkinsfile (#7220)
* Add post-build email to Jenkinsfile
* Add post-build email notification & fix Windows CPU build
* Add variable definitions
---
Jenkinsfile | 596 +++++++++++++++++++++++++++++++-----------------------------
1 file changed, 309 insertions(+), 287 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 26a96a4..613b88c 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,6 +8,10 @@ mx_lib = 'lib/libmxnet.so, lib/libmxnet.a, dmlc-core/libdmlc.a, nnvm/lib/libnnvm
docker_run = 'tests/ci_build/ci_build.sh'
// timeout in minutes
max_time = 60
+// assign any caught errors here
+err = null
+// set build status to success by default
+currentBuild.result = "SUCCESS"
// initialize source codes
def init_git() {
@@ -38,18 +42,6 @@ def init_git_win() {
}
}
-stage("Sanity Check") {
- timeout(time: max_time, unit: 'MINUTES') {
- node('mxnetlinux') {
- ws('workspace/sanity') {
- init_git()
- make('lint', 'cpplint rcpplint jnilint')
- make('lint', 'pylint')
- }
- }
- }
-}
-
// Run make. First try to do an incremental make from a previous workspace in hope to
// accelerate the compilation. If something wrong, clean the workspace and then
// build from scratch.
@@ -84,134 +76,6 @@ echo ${libs} | sed -e 's/,/ /g' | xargs md5sum
"""
}
-stage('Build') {
- parallel 'CPU: Openblas': {
- node('mxnetlinux') {
- ws('workspace/build-cpu') {
- init_git()
- def flag = """ \
-DEV=1 \
-USE_PROFILER=1 \
-USE_CPP_PACKAGE=1 \
-USE_BLAS=openblas \
--j\$(nproc)
-"""
- make("cpu", flag)
- pack_lib('cpu')
- }
- }
- },
- 'GPU: CUDA7.5+cuDNN5': {
- node('mxnetlinux') {
- ws('workspace/build-gpu') {
- init_git()
- def flag = """ \
-DEV=1 \
-USE_PROFILER=1 \
-USE_BLAS=openblas \
-USE_CUDA=1 \
-USE_CUDA_PATH=/usr/local/cuda \
-USE_CUDNN=1 \
-USE_CPP_PACKAGE=1 \
--j\$(nproc)
-"""
- make('gpu', flag)
- pack_lib('gpu')
- stash includes: 'build/cpp-package/example/test_score', name: 'cpp_test_score'
- }
- }
- },
- 'Amalgamation': {
- node('mxnetlinux') {
- ws('workspace/amalgamation') {
- init_git()
- make('cpu', '-C amalgamation/ USE_BLAS=openblas MIN=1')
- }
- }
- },
- 'GPU: MKLML': {
- node('mxnetlinux') {
- ws('workspace/build-mklml') {
- init_git()
- def flag = """ \
-DEV=1 \
-USE_PROFILER=1 \
-USE_BLAS=openblas \
-USE_MKL2017=1 \
-USE_MKL2017_EXPERIMENTAL=1 \
-USE_CUDA=1 \
-USE_CUDA_PATH=/usr/local/cuda \
-USE_CUDNN=1 \
-USE_CPP_PACKAGE=1 \
--j\$(nproc)
-"""
- make('mklml_gpu', flag)
- pack_lib('mklml')
- }
- }
- },
- 'CPU windows':{
- node('mxnetwindows') {
- ws('workspace/build-cpu') {
- withEnv(['OpenBLAS_HOME=C:\\mxnet\\openblas', 'OpenCV_DIR=C:\\mxnet\\opencv_vc14', 'CUDA_PATH=C:\\CUDA\\v8.0']) {
- init_git_win()
- bat """mkdir build_vc14_cpu
-cd build_vc14_cpu
-cmake -G \"Visual Studio 14 2015 Win64\" -DUSE_CUDA=0 -DUSE_CUDNN=0 -DUSE_NVRTC=0 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_PROFILER=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 ${env.WORKSPACE}"""
- bat 'C:\\mxnet\\build_vc14_cpu.bat'
-
- bat '''rmdir /s/q pkg_vc14_gpu
-mkdir pkg_vc14_cpu\\lib
-mkdir pkg_vc14_cpu\\python
-mkdir pkg_vc14_cpu\\include
-mkdir pkg_vc14_cpu\\build
-copy build_vc14_cpu\\Release\\libmxnet.lib pkg_vc14_cpu\\lib
-copy build_vc14_cpu\\Release\\libmxnet.dll pkg_vc14_cpu\\build
-xcopy python pkg_vc14_cpu\\python /E /I /Y
-xcopy include pkg_vc14_cpu\\include /E /I /Y
-xcopy dmlc-core\\include pkg_vc14_cpu\\include /E /I /Y
-xcopy mshadow\\mshadow pkg_vc14_cpu\\include\\mshadow /E /I /Y
-xcopy nnvm\\include pkg_vc14_cpu\\nnvm\\include /E /I /Y
-del /Q *.7z
-7z.exe a vc14_cpu.7z pkg_vc14_cpu\\
-'''
- stash includes: 'vc14_cpu.7z', name: 'vc14_cpu'
- }
- }
- }
- },
- 'GPU windows':{
- node('mxnetwindows') {
- ws('workspace/build-gpu') {
- withEnv(['OpenBLAS_HOME=C:\\mxnet\\openblas', 'OpenCV_DIR=C:\\mxnet\\opencv_vc14', 'CUDA_PATH=C:\\CUDA\\v8.0']) {
- init_git_win()
- bat """mkdir build_vc14_gpu
-call "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\x86_amd64\\vcvarsx86_amd64.bat"
-cd build_vc14_gpu
-cmake -G \"NMake Makefiles JOM\" -DUSE_CUDA=1 -DUSE_CUDNN=1 -DUSE_NVRTC=1 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_PROFILER=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_NAME=All -DCMAKE_CXX_FLAGS_RELEASE="/FS /MD /O2 /Ob2 /DNDEBUG" -DCMAKE_BUILD_TYPE=Release ${env.WORKSPACE}"""
- bat 'C:\\mxnet\\build_vc14_gpu.bat'
- bat '''rmdir /s/q pkg_vc14_gpu
-mkdir pkg_vc14_gpu\\lib
-mkdir pkg_vc14_gpu\\python
-mkdir pkg_vc14_gpu\\include
-mkdir pkg_vc14_gpu\\build
-copy build_vc14_gpu\\libmxnet.lib pkg_vc14_gpu\\lib
-copy build_vc14_gpu\\libmxnet.dll pkg_vc14_gpu\\build
-xcopy python pkg_vc14_gpu\\python /E /I /Y
-xcopy include pkg_vc14_gpu\\include /E /I /Y
-xcopy dmlc-core\\include pkg_vc14_gpu\\include /E /I /Y
-xcopy mshadow\\mshadow pkg_vc14_gpu\\include\\mshadow /E /I /Y
-xcopy nnvm\\include pkg_vc14_gpu\\nnvm\\include /E /I /Y
-del /Q *.7z
-7z.exe a vc14_gpu.7z pkg_vc14_gpu\\
-'''
- stash includes: 'vc14_gpu.7z', name: 'vc14_gpu'
- }
- }
- }
- }
-}
-
// Python unittest for CPU
def python_ut(docker_type) {
timeout(time: max_time, unit: 'MINUTES') {
@@ -234,168 +98,326 @@ def python_gpu_ut(docker_type) {
}
}
-stage('Unit Test') {
- parallel 'Python2/3: CPU': {
- node('mxnetlinux') {
- ws('workspace/ut-python-cpu') {
- init_git()
- unpack_lib('cpu')
- python_ut('cpu')
- }
- }
- },
- 'Python2/3: GPU': {
- node('mxnetlinux') {
- ws('workspace/ut-python-gpu') {
- init_git()
- unpack_lib('gpu', mx_lib)
- python_gpu_ut('gpu')
- }
- }
- },
- 'Python2/3: MKLML': {
- node('mxnetlinux') {
- ws('workspace/ut-python-mklml') {
- init_git()
- unpack_lib('mklml')
- python_ut('mklml_gpu')
- python_gpu_ut('mklml_gpu')
- }
- }
- },
- 'Scala: CPU': {
- node('mxnetlinux') {
- ws('workspace/ut-scala-cpu') {
- init_git()
- unpack_lib('cpu')
- timeout(time: max_time, unit: 'MINUTES') {
- sh "${docker_run} cpu make scalapkg USE_BLAS=openblas"
- sh "${docker_run} cpu make scalatest USE_BLAS=openblas"
+try {
+ stage("Sanity Check") {
+ timeout(time: max_time, unit: 'MINUTES') {
+ node('mxnetlinux') {
+ ws('workspace/sanity') {
+ init_git()
+ make('lint', 'cpplint rcpplint jnilint')
+ make('lint', 'pylint')
+ }
}
}
}
- },
- 'R: CPU': {
- node('mxnetlinux') {
- ws('workspace/ut-r-cpu') {
- init_git()
- unpack_lib('cpu')
- timeout(time: max_time, unit: 'MINUTES') {
- sh "${docker_run} cpu rm -rf .Renviron"
- sh "${docker_run} cpu mkdir -p /workspace/ut-r-cpu/site-library"
- sh "${docker_run} cpu make rpkg USE_BLAS=openblas R_LIBS=/workspace/ut-r-cpu/site-library"
- sh "${docker_run} cpu R CMD INSTALL --library=/workspace/ut-r-cpu/site-library mxnet_current_r.tar.gz"
- sh "${docker_run} cpu make rpkgtest R_LIBS=/workspace/ut-r-cpu/site-library"
+
+ stage('Build') {
+ parallel 'CPU: Openblas': {
+ node('mxnetlinux') {
+ ws('workspace/build-cpu') {
+ init_git()
+ def flag = """ \
+ DEV=1 \
+ USE_PROFILER=1 \
+ USE_CPP_PACKAGE=1 \
+ USE_BLAS=openblas \
+ -j\$(nproc)
+ """
+ make("cpu", flag)
+ pack_lib('cpu')
+ }
}
- }
- }
- },
- 'R: GPU': {
- node('mxnetlinux') {
- ws('workspace/ut-r-gpu') {
- init_git()
- unpack_lib('gpu')
- timeout(time: max_time, unit: 'MINUTES') {
- sh "${docker_run} cpu rm -rf .Renviron"
- sh "${docker_run} gpu mkdir -p /workspace/ut-r-gpu/site-library"
- sh "${docker_run} gpu make rpkg USE_BLAS=openblas R_LIBS=/workspace/ut-r-gpu/site-library"
- sh "${docker_run} gpu R CMD INSTALL --library=/workspace/ut-r-gpu/site-library mxnet_current_r.tar.gz"
- sh "${docker_run} gpu make rpkgtest R_LIBS=/workspace/ut-r-gpu/site-library"
+ },
+ 'GPU: CUDA7.5+cuDNN5': {
+ node('mxnetlinux') {
+ ws('workspace/build-gpu') {
+ init_git()
+ def flag = """ \
+ DEV=1 \
+ USE_PROFILER=1 \
+ USE_BLAS=openblas \
+ USE_CUDA=1 \
+ USE_CUDA_PATH=/usr/local/cuda \
+ USE_CUDNN=1 \
+ USE_CPP_PACKAGE=1 \
+ -j\$(nproc)
+ """
+ make('gpu', flag)
+ pack_lib('gpu')
+ stash includes: 'build/cpp-package/example/test_score', name: 'cpp_test_score'
+ }
+ }
+ },
+ 'Amalgamation': {
+ node('mxnetlinux') {
+ ws('workspace/amalgamation') {
+ init_git()
+ make('cpu', '-C amalgamation/ USE_BLAS=openblas MIN=1')
+ }
}
+ },
+ 'GPU: MKLML': {
+ node('mxnetlinux') {
+ ws('workspace/build-mklml') {
+ init_git()
+ def flag = """ \
+ DEV=1 \
+ USE_PROFILER=1 \
+ USE_BLAS=openblas \
+ USE_MKL2017=1 \
+ USE_MKL2017_EXPERIMENTAL=1 \
+ USE_CUDA=1 \
+ USE_CUDA_PATH=/usr/local/cuda \
+ USE_CUDNN=1 \
+ USE_CPP_PACKAGE=1 \
+ -j\$(nproc)
+ """
+ make('mklml_gpu', flag)
+ pack_lib('mklml')
+ }
+ }
+ },
+ 'CPU windows':{
+ node('mxnetwindows') {
+ ws('workspace/build-cpu') {
+ withEnv(['OpenBLAS_HOME=C:\\mxnet\\openblas', 'OpenCV_DIR=C:\\mxnet\\opencv_vc14', 'CUDA_PATH=C:\\CUDA\\v8.0']) {
+ init_git_win()
+ bat """mkdir build_vc14_cpu
+ cd build_vc14_cpu
+ cmake -G \"Visual Studio 14 2015 Win64\" -DUSE_CUDA=0 -DUSE_CUDNN=0 -DUSE_NVRTC=0 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_PROFILER=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 ${env.WORKSPACE}"""
+ bat 'C:\\mxnet\\build_vc14_cpu.bat'
+
+ bat '''rmdir /s/q pkg_vc14_cpu
+ mkdir pkg_vc14_cpu\\lib
+ mkdir pkg_vc14_cpu\\python
+ mkdir pkg_vc14_cpu\\include
+ mkdir pkg_vc14_cpu\\build
+ copy build_vc14_cpu\\Release\\libmxnet.lib pkg_vc14_cpu\\lib
+ copy build_vc14_cpu\\Release\\libmxnet.dll pkg_vc14_cpu\\build
+ xcopy python pkg_vc14_cpu\\python /E /I /Y
+ xcopy include pkg_vc14_cpu\\include /E /I /Y
+ xcopy dmlc-core\\include pkg_vc14_cpu\\include /E /I /Y
+ xcopy mshadow\\mshadow pkg_vc14_cpu\\include\\mshadow /E /I /Y
+ xcopy nnvm\\include pkg_vc14_cpu\\nnvm\\include /E /I /Y
+ del /Q *.7z
+ 7z.exe a vc14_cpu.7z pkg_vc14_cpu\\
+ '''
+ stash includes: 'vc14_cpu.7z', name: 'vc14_cpu'
+ }
+ }
+ }
+ },
+ 'GPU windows':{
+ node('mxnetwindows') {
+ ws('workspace/build-gpu') {
+ withEnv(['OpenBLAS_HOME=C:\\mxnet\\openblas', 'OpenCV_DIR=C:\\mxnet\\opencv_vc14', 'CUDA_PATH=C:\\CUDA\\v8.0']) {
+ init_git_win()
+ bat """mkdir build_vc14_gpu
+ call "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\x86_amd64\\vcvarsx86_amd64.bat"
+ cd build_vc14_gpu
+ cmake -G \"NMake Makefiles JOM\" -DUSE_CUDA=1 -DUSE_CUDNN=1 -DUSE_NVRTC=1 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_PROFILER=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_NAME=All -DCMAKE_CXX_FLAGS_RELEASE="/FS /MD /O2 /Ob2 /DNDEBUG" -DCMAKE_BUILD_TYPE=Release ${env.WORKSPACE}"""
+ bat 'C:\\mxnet\\build_vc14_gpu.bat'
+ bat '''rmdir /s/q pkg_vc14_gpu
+ mkdir pkg_vc14_gpu\\lib
+ mkdir pkg_vc14_gpu\\python
+ mkdir pkg_vc14_gpu\\include
+ mkdir pkg_vc14_gpu\\build
+ copy build_vc14_gpu\\libmxnet.lib pkg_vc14_gpu\\lib
+ copy build_vc14_gpu\\libmxnet.dll pkg_vc14_gpu\\build
+ xcopy python pkg_vc14_gpu\\python /E /I /Y
+ xcopy include pkg_vc14_gpu\\include /E /I /Y
+ xcopy dmlc-core\\include pkg_vc14_gpu\\include /E /I /Y
+ xcopy mshadow\\mshadow pkg_vc14_gpu\\include\\mshadow /E /I /Y
+ xcopy nnvm\\include pkg_vc14_gpu\\nnvm\\include /E /I /Y
+ del /Q *.7z
+ 7z.exe a vc14_gpu.7z pkg_vc14_gpu\\
+ '''
+ stash includes: 'vc14_gpu.7z', name: 'vc14_gpu'
+ }
+ }
+ }
}
}
- },
- 'Python2/3: CPU Win':{
- node('mxnetwindows') {
- ws('workspace/ut-python-cpu') {
- init_git_win()
- unstash 'vc14_cpu'
- bat '''rmdir /s/q pkg_vc14_cpu
-7z x -y vc14_cpu.7z'''
- bat """xcopy C:\\mxnet\\data data /E /I /Y
-xcopy C:\\mxnet\\model model /E /I /Y
-call activate py3
-set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_cpu\\python
-del /S /Q ${env.WORKSPACE}\\pkg_vc14_cpu\\python\\*.pyc
-C:\\mxnet\\test_cpu.bat"""
- bat """xcopy C:\\mxnet\\data data /E /I /Y
-xcopy C:\\mxnet\\model model /E /I /Y
-call activate py2
-set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_cpu\\python
-del /S /Q ${env.WORKSPACE}\\pkg_vc14_cpu\\python\\*.pyc
-C:\\mxnet\\test_cpu.bat"""
- }
- }
- },
- 'Python2/3: GPU Win':{
- node('mxnetwindows') {
- ws('workspace/ut-python-gpu') {
- init_git_win()
- unstash 'vc14_gpu'
- bat '''rmdir /s/q pkg_vc14_gpu
-7z x -y vc14_gpu.7z'''
- bat """xcopy C:\\mxnet\\data data /E /I /Y
-xcopy C:\\mxnet\\model model /E /I /Y
-call activate py3
-set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_gpu\\python
-del /S /Q ${env.WORKSPACE}\\pkg_vc14_gpu\\python\\*.pyc
-C:\\mxnet\\test_gpu.bat"""
- bat """xcopy C:\\mxnet\\data data /E /I /Y
-xcopy C:\\mxnet\\model model /E /I /Y
-call activate py2
-set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_gpu\\python
-del /S /Q ${env.WORKSPACE}\\pkg_vc14_gpu\\python\\*.pyc
-C:\\mxnet\\test_gpu.bat"""
- }
- }
- }
-}
-
-stage('Integration Test') {
- parallel 'Python': {
- node('mxnetlinux') {
- ws('workspace/it-python-gpu') {
- init_git()
- unpack_lib('gpu')
- timeout(time: max_time, unit: 'MINUTES') {
- sh "${docker_run} gpu PYTHONPATH=./python/ python example/image-classification/test_score.py"
+ stage('Unit Test') {
+ parallel 'Python2/3: CPU': {
+ node('mxnetlinux') {
+ ws('workspace/ut-python-cpu') {
+ init_git()
+ unpack_lib('cpu')
+ python_ut('cpu')
+ }
}
- }
- }
- },
- 'Caffe': {
- node('mxnetlinux') {
- ws('workspace/it-caffe') {
- init_git()
- unpack_lib('gpu')
- timeout(time: max_time, unit: 'MINUTES') {
- sh "${docker_run} caffe_gpu PYTHONPATH=/caffe/python:./python python tools/caffe_converter/test_converter.py"
+ },
+ 'Python2/3: GPU': {
+ node('mxnetlinux') {
+ ws('workspace/ut-python-gpu') {
+ init_git()
+ unpack_lib('gpu', mx_lib)
+ python_gpu_ut('gpu')
+ }
}
- }
+ },
+ 'Python2/3: MKLML': {
+ node('mxnetlinux') {
+ ws('workspace/ut-python-mklml') {
+ init_git()
+ unpack_lib('mklml')
+ python_ut('mklml_gpu')
+ python_gpu_ut('mklml_gpu')
+ }
+ }
+ },
+ 'Scala: CPU': {
+ node('mxnetlinux') {
+ ws('workspace/ut-scala-cpu') {
+ init_git()
+ unpack_lib('cpu')
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} cpu make scalapkg USE_BLAS=openblas"
+ sh "${docker_run} cpu make scalatest USE_BLAS=openblas"
+ }
+ }
+ }
+ },
+ 'R: CPU': {
+ node('mxnetlinux') {
+ ws('workspace/ut-r-cpu') {
+ init_git()
+ unpack_lib('cpu')
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} cpu rm -rf .Renviron"
+ sh "${docker_run} cpu mkdir -p /workspace/ut-r-cpu/site-library"
+ sh "${docker_run} cpu make rpkg USE_BLAS=openblas R_LIBS=/workspace/ut-r-cpu/site-library"
+ sh "${docker_run} cpu R CMD INSTALL --library=/workspace/ut-r-cpu/site-library mxnet_current_r.tar.gz"
+ sh "${docker_run} cpu make rpkgtest R_LIBS=/workspace/ut-r-cpu/site-library"
+ }
+ }
+ }
+ },
+ 'R: GPU': {
+ node('mxnetlinux') {
+ ws('workspace/ut-r-gpu') {
+ init_git()
+ unpack_lib('gpu')
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} cpu rm -rf .Renviron"
+ sh "${docker_run} gpu mkdir -p /workspace/ut-r-gpu/site-library"
+ sh "${docker_run} gpu make rpkg USE_BLAS=openblas R_LIBS=/workspace/ut-r-gpu/site-library"
+ sh "${docker_run} gpu R CMD INSTALL --library=/workspace/ut-r-gpu/site-library mxnet_current_r.tar.gz"
+ sh "${docker_run} gpu make rpkgtest R_LIBS=/workspace/ut-r-gpu/site-library"
+ }
+ }
+ }
+ },
+ 'Python2/3: CPU Win':{
+ node('mxnetwindows') {
+ ws('workspace/ut-python-cpu') {
+ init_git_win()
+ unstash 'vc14_cpu'
+ bat '''rmdir /s/q pkg_vc14_cpu
+ 7z x -y vc14_cpu.7z'''
+ bat """xcopy C:\\mxnet\\data data /E /I /Y
+ xcopy C:\\mxnet\\model model /E /I /Y
+ call activate py3
+ set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_cpu\\python
+ del /S /Q ${env.WORKSPACE}\\pkg_vc14_cpu\\python\\*.pyc
+ C:\\mxnet\\test_cpu.bat"""
+ bat """xcopy C:\\mxnet\\data data /E /I /Y
+ xcopy C:\\mxnet\\model model /E /I /Y
+ call activate py2
+ set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_cpu\\python
+ del /S /Q ${env.WORKSPACE}\\pkg_vc14_cpu\\python\\*.pyc
+ C:\\mxnet\\test_cpu.bat"""
+ }
+ }
+ },
+ 'Python2/3: GPU Win':{
+ node('mxnetwindows') {
+ ws('workspace/ut-python-gpu') {
+ init_git_win()
+ unstash 'vc14_gpu'
+ bat '''rmdir /s/q pkg_vc14_gpu
+ 7z x -y vc14_gpu.7z'''
+ bat """xcopy C:\\mxnet\\data data /E /I /Y
+ xcopy C:\\mxnet\\model model /E /I /Y
+ call activate py3
+ set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_gpu\\python
+ del /S /Q ${env.WORKSPACE}\\pkg_vc14_gpu\\python\\*.pyc
+ C:\\mxnet\\test_gpu.bat"""
+ bat """xcopy C:\\mxnet\\data data /E /I /Y
+ xcopy C:\\mxnet\\model model /E /I /Y
+ call activate py2
+ set PYTHONPATH=${env.WORKSPACE}\\pkg_vc14_gpu\\python
+ del /S /Q ${env.WORKSPACE}\\pkg_vc14_gpu\\python\\*.pyc
+ C:\\mxnet\\test_gpu.bat"""
+ }
+ }
+ }
}
- },
- 'cpp-package': {
- node('mxnetlinux') {
- ws('workspace/it-cpp-package') {
- init_git()
- unpack_lib('gpu')
- unstash 'cpp_test_score'
- timeout(time: max_time, unit: 'MINUTES') {
- sh "${docker_run} gpu cpp-package/tests/ci_test.sh"
+
+ stage('Integration Test') {
+ parallel 'Python': {
+ node('mxnetlinux') {
+ ws('workspace/it-python-gpu') {
+ init_git()
+ unpack_lib('gpu')
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} gpu PYTHONPATH=./python/ python example/image-classification/test_score.py"
+ }
+ }
+ }
+ },
+ 'Caffe': {
+ node('mxnetlinux') {
+ ws('workspace/it-caffe') {
+ init_git()
+ unpack_lib('gpu')
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} caffe_gpu PYTHONPATH=/caffe/python:./python python tools/caffe_converter/test_converter.py"
+ }
+ }
+ }
+ },
+ 'cpp-package': {
+ node('mxnetlinux') {
+ ws('workspace/it-cpp-package') {
+ init_git()
+ unpack_lib('gpu')
+ unstash 'cpp_test_score'
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} gpu cpp-package/tests/ci_test.sh"
+ }
+ }
}
}
}
- }
-}
-stage('Deploy') {
- node('mxnetlinux') {
- ws('workspace/docs') {
- if (env.BRANCH_NAME == "master") {
- init_git()
- sh "make docs"
+ stage('Deploy') {
+ node('mxnetlinux') {
+ ws('workspace/docs') {
+ if (env.BRANCH_NAME == "master") {
+ init_git()
+ sh "make docs"
+ }
+ }
}
}
- }
+} catch (caughtError) {
+ node("mxnetlinux") {
+ sh "echo caught error"
+ err = caughtError
+ currentBuild.result = "FAILURE"
+ }
+} finally {
+ node("mxnetlinux") {
+ // Only send email if master failed
+ if (currentBuild.result == "FAILURE" && env.BRANCH_NAME == "master") {
+ emailext body: 'Build for MXNet branch ${BRANCH_NAME} has broken. Please view the build at ${BUILD_URL}', replyTo: '${EMAIL}', subject: '[BUILD FAILED] Branch ${BRANCH_NAME} build ${BUILD_NUMBER}', to: '${EMAIL}'
+ }
+ // Remember to rethrow so the build is marked as failing
+ if (err) {
+ throw err
+ }
+ }
}
--
To stop receiving notification emails like this one, please contact
['"commits@mxnet.apache.org" <co...@mxnet.apache.org>'].