dmlc--dgl
75e2af7993
* Jenkins build & test on Windows * oops * still running nohup on Windows slaves * ooops again * squishing vcvars and cmake * another try * reverting back * --user * switching to msbuild * made the graph size in cache testing bigger * put commands into script files * oooops
211 行
5.1 KiB
Groovy
211 行
5.1 KiB
Groovy
#!/usr/bin/env groovy
|
|
|
|
def init_git_submodule() {
|
|
sh "git submodule init"
|
|
sh "git submodule update"
|
|
}
|
|
|
|
def init_git_submodule_win64() {
|
|
bat "git submodule init"
|
|
bat "git submodule update"
|
|
}
|
|
|
|
def build_dgl() {
|
|
sh "bash tests/scripts/build_dgl.sh"
|
|
}
|
|
|
|
def build_dgl_win64() {
|
|
/* Assuming that Windows slaves are already configured with MSBuild VS2017,
|
|
* CMake and Python/pip/setuptools etc. */
|
|
bat "CALL tests\\scripts\\build_dgl.bat"
|
|
}
|
|
|
|
def unit_test(backend, dev) {
|
|
withEnv(["DGL_LIBRARY_PATH=${env.WORKSPACE}/build", "PYTHONPATH=${env.WORKSPACE}/python", "DGLBACKEND=${backend}"]) {
|
|
sh "bash tests/scripts/task_unit_test.sh ${backend}"
|
|
}
|
|
}
|
|
|
|
def unit_test_win64(backend, dev) {
|
|
withEnv(["DGL_LIBRARY_PATH=${env.WORKSPACE}\\build", "PYTHONPATH=${env.WORKSPACE}\\python", "DGLBACKEND=${backend}"]) {
|
|
bat "CALL tests\\scripts\\task_unit_test.bat ${backend}"
|
|
}
|
|
}
|
|
|
|
def example_test(backend, dev) {
|
|
withEnv(["DGL_LIBRARY_PATH=${env.WORKSPACE}/build", "PYTHONPATH=${env.WORKSPACE}/python", "DGLBACKEND=${backend}"]) {
|
|
dir ("tests/scripts") {
|
|
sh "bash task_example_test.sh ${dev}"
|
|
}
|
|
}
|
|
}
|
|
|
|
def example_test_win64(backend, dev) {
|
|
withEnv(["DGL_LIBRARY_PATH=${env.WORKSPACE}\\build", "PYTHONPATH=${env.WORKSPACE}\\python", "DGLBACKEND=${backend}"]) {
|
|
dir ("tests\\scripts") {
|
|
bat "CALL task_example_test ${dev}"
|
|
}
|
|
}
|
|
}
|
|
|
|
def pytorch_tutorials() {
|
|
withEnv(["DGL_LIBRARY_PATH=${env.WORKSPACE}/build", "PYTHONPATH=${env.WORKSPACE}/python"]) {
|
|
dir ("tests/scripts") {
|
|
sh "bash task_pytorch_tutorial_test.sh"
|
|
}
|
|
}
|
|
}
|
|
|
|
def mxnet_tutorials() {
|
|
withEnv(["DGL_LIBRARY_PATH=${env.WORKSPACE}/build", "PYTHONPATH=${env.WORKSPACE}/python", "DGLBACKEND=mxnet"]) {
|
|
dir("tests/scripts") {
|
|
sh "bash task_mxnet_tutorial_test.sh"
|
|
}
|
|
}
|
|
}
|
|
pipeline {
|
|
agent none
|
|
stages {
|
|
stage("Lint Check") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-lint" }
|
|
}
|
|
steps {
|
|
init_git_submodule()
|
|
sh "bash tests/scripts/task_lint.sh"
|
|
}
|
|
}
|
|
stage("Build") {
|
|
parallel {
|
|
stage("CPU Build") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-cpu" }
|
|
}
|
|
steps {
|
|
init_git_submodule()
|
|
build_dgl()
|
|
}
|
|
}
|
|
stage("GPU Build") {
|
|
agent {
|
|
docker {
|
|
image "dgllib/dgl-ci-gpu"
|
|
args "--runtime nvidia"
|
|
}
|
|
}
|
|
steps {
|
|
init_git_submodule()
|
|
build_dgl()
|
|
}
|
|
}
|
|
stage("MXNet CPU Build (temp)") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-mxnet-cpu" }
|
|
}
|
|
steps {
|
|
init_git_submodule()
|
|
build_dgl()
|
|
}
|
|
}
|
|
stage("CPU Build (Win64/PyTorch)") {
|
|
agent {
|
|
label "windows"
|
|
}
|
|
steps {
|
|
init_git_submodule_win64()
|
|
build_dgl_win64()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage("Test") {
|
|
parallel {
|
|
stage("Pytorch CPU") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-cpu" }
|
|
}
|
|
stages {
|
|
stage("TH CPU unittest") {
|
|
steps { unit_test("pytorch", "CPU") }
|
|
}
|
|
stage("TH CPU example test") {
|
|
steps { example_test("pytorch", "CPU") }
|
|
}
|
|
}
|
|
post {
|
|
always { junit "*.xml" }
|
|
}
|
|
}
|
|
stage("Pytorch CPU (Windows)") {
|
|
agent { label "windows" }
|
|
stages {
|
|
stage("TH CPU Win64 unittest") {
|
|
steps { unit_test_win64("pytorch", "CPU") }
|
|
}
|
|
stage("TH CPU Win64 example test") {
|
|
steps { example_test_win64("pytorch", "CPU") }
|
|
}
|
|
}
|
|
post {
|
|
always { junit "*.xml" }
|
|
}
|
|
}
|
|
stage("Pytorch GPU") {
|
|
agent {
|
|
docker {
|
|
image "dgllib/dgl-ci-gpu"
|
|
args "--runtime nvidia"
|
|
}
|
|
}
|
|
stages {
|
|
// TODO: have GPU unittest
|
|
//stage("TH GPU unittest") {
|
|
// steps { pytorch_unit_test("GPU") }
|
|
//}
|
|
stage("TH GPU example test") {
|
|
steps { example_test("pytorch", "GPU") }
|
|
}
|
|
}
|
|
// TODO: have GPU unittest
|
|
//post {
|
|
// always { junit "*.xml" }
|
|
//}
|
|
}
|
|
stage("MXNet CPU") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-mxnet-cpu" }
|
|
}
|
|
stages {
|
|
stage("MX Unittest") {
|
|
steps { unit_test("mxnet", "CPU") }
|
|
}
|
|
}
|
|
post {
|
|
always { junit "*.xml" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage("Doc") {
|
|
parallel {
|
|
stage("TH Tutorial") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-cpu" }
|
|
}
|
|
steps {
|
|
pytorch_tutorials()
|
|
}
|
|
}
|
|
stage("MX Tutorial") {
|
|
agent {
|
|
docker { image "dgllib/dgl-ci-mxnet-cpu" }
|
|
}
|
|
steps {
|
|
mxnet_tutorials()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|