OmniGibson/Jenkinsfile

84 lines
3.0 KiB
Groovy

pipeline {
agent {
docker {
image 'gibsonchallenge/gibsonv2:jenkins'
args '--runtime=nvidia -u root:root -v ${WORKSPACE}/../ig_dataset:${WORKSPACE}/gibson2/ig_dataset'
}
}
stages {
stage('Build') {
steps {
sh 'nvidia-smi'
sh 'pwd'
sh 'printenv'
sh 'pip install -e .'
sh 'ls gibson2/ig_dataset'
}
}
stage('Build Docs') {
steps {
sh 'sphinx-build -b html docs _sites'
}
}
stage('Test') {
steps {
sh 'mkdir result'
sh 'pytest test/test_binding.py --junitxml=test_result/test_binding.py.xml'
sh 'pytest test/test_render.py --junitxml=test_result/test_render.py.xml'
sh 'pytest test/test_pbr.py --junitxml=test_result/test_pbr.py.xml'
sh 'pytest test/test_object.py --junitxml=test_result/test_object.py.xml'
sh 'pytest test/test_simulator.py --junitxml=test_result/test_simulator.py.xml'
sh 'pytest test/test_navigate_env.py --junitxml=test_result/test_navigate_env.py.xml'
sh 'pytest test/test_scene_importing.py --junitxml=test_result/test_scene_importing.py.xml'
sh 'pytest test/test_robot.py --junitxml=test_result/test_robot.py.xml'
sh 'pytest test/test_igsdf_scene_importing.py --junitxml=test_result/test_igsdf_scene_importing.py.xml'
}
}
stage('Benchmark') {
steps {
sh 'python test/benchmark/benchmark_static_scene.py'
sh 'python test/benchmark/benchmark_interactive_scene.py'
}
}
}
post {
always {
junit 'test_result/*.xml'
archiveArtifacts artifacts: 'test_result/*.xml', fingerprint: true
archiveArtifacts artifacts: '*.pdf'
archiveArtifacts artifacts: '*.png'
publishHTML (target: [
allowMissing: true,
alwaysLinkToLastBuild: false,
keepAll: true,
reportDir: '_sites',
reportFiles: 'index.html',
includes: '**/*',
reportName: "iGibson docs"
])
cleanWs()
}
failure {
script {
// Send an email only if the build status has changed from green/unstable to red
emailext subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT',
recipientProviders: [
[$class: 'CulpritsRecipientProvider'],
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']
],
replyTo: '$DEFAULT_REPLYTO',
to: '$DEFAULT_RECIPIENTS'
}
}
}
}