提交测试

This commit is contained in:
2024-01-16 17:22:21 +08:00
parent 92862c0372
commit 73635fda01
654 changed files with 178015 additions and 2 deletions

View File

@@ -0,0 +1,297 @@
#!/usr/bin/env groovy
docker_registry_server = ImageTag.split(':')[0..1].join(':')
currentBuild.displayName = ImageTag.split(':')[2] + "-${arch}"
currentBuild.description = sourceBranch + ": " + commitHash
// to manage image secrets:
// 1) log into docker
// docker login gitlab-master.nvidia.com:5005
// 2) create secret
// kubectl create secret docker-registry test-secret -n kaolin --docker-server=gitlab-master.nvidia.com:5005 --docker-username azook --docker-password XXX
// 3) add to service account
// https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account
// kubectl patch kaolin-sa default -p '{"imagePullSecrets": [{"name": "myregistrykey"}]}'
// 4) add to pod template
gitlabCommitStatus("test-${configName}-${arch}") {
podTemplate(cloud:'sc-ipp-blossom-prod',
slaveConnectTimeout: 4000,
yaml: """
apiVersion: v1
kind: Pod
spec:
volumes:
- name: pvc-mount
persistentVolumeClaim:
claimName: 'kaolin-pvc'
containers:
- name: jnlp
image: jenkins/jnlp-agent:latest-windows
env:
- name: JENKINS_AGENT_WORKDIR
value: C:/Jenkins/agent
- name: windows
image: ${imageTag}
resources:
limits:
nvidia.com/gpu: 1
restartPolicy: Never
backoffLimit: 4
tty: true
volumeMounts:
- mountPath: c:/mnt
name: pvc-mount
imagePullSecrets:
- name: gitlabcred
nodeSelector:
kubernetes.io/os: windows
nvidia.com/node_type: ${arch}
"""
)
{
node(POD_LABEL) {
container("windows") {
if (testWheel.toBoolean()) {
stage('Test') {
powershell '''
python -c "import kaolin; print(kaolin.__version__)"
python -c "import torch; print(torch.__version__)"
'''
}
stage('Move wheels') {
powersheel '''
cudaTag = cudaVer.split('\\.')[0..<2].join('')
/tmp/kaolin-*.whl
'''
}
//mv /tmp/mount_binaries/tmp/torch-${torchVer}+cu${cudaTag}
} else {
stage('Enable cuda') {
powershell '''
$Env:driver_store=$(ls $($($(Get-WmiObject Win32_VideoController).InstalledDisplayDrivers | sort -Unique).ToString().Split(',')| sort -Unique).ToString().Replace("\\DriverStore\\", "\\HostDriverStore\\")).Directory.FullName
cp "$Env:driver_store\\nvcuda64.dll" C:\\Windows\\System32\\nvcuda.dll
cp "$Env:driver_store\\nvapi64.dll" C:\\Windows\\System32\\nvapi64.dll
'''
}
stage("Check cuda") {
powershell '''
dir c:\\
dir c:\\kaolin
dir c:\\data
'''
powershell '''
c:\\data\\deviceQuery.exe
c:\\data\\bandwidthTest.exe
'''
}
stage("Check mount") {
catchError(stageResult: "failure") {
powershell '''
dir c:\\
dir c:\\mnt
'''
}
}
stage("Fix paging memory") {
// addresses this error on Windows with pytorch consuming too much paging memory: https://stackoverflow.com/a/69489193
powershell '''
python c:\\data\\fixNvPe.py --input=C:\\Users\\Administrator\\miniconda3\\Lib\\site-packages\\torch\\lib\\*.dll
'''
}
stage("Prepare data") {
powershell '''
python --version
Expand-Archive c:\\kaolin\\examples\\samples\\rendered_clock.zip c:\\kaolin\\examples\\samples
'''
}
stage("DIB-R Tutorial") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\tutorial
ipython dibr_tutorial.ipynb
'''
}
}
stage("DMTet Tutorial") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\tutorial
ipython dmtet_tutorial.ipynb
'''
}
}
stage("Understanding SPCs Tutorial") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\tutorial
ipython understanding_spcs_tutorial.ipynb --matplotlib
'''
}
}
stage("Diffuse lighting Tutorial") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\tutorial
ipython diffuse_lighting.ipynb
'''
}
}
stage("Spherical Gaussian lighting Tutorial") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\tutorial
ipython sg_specular_lighting.ipynb
'''
}
}
// requires nvdiffrast. not currently supported on Windows
// stage("Camera and Rasterization Tutorial") {
// catchError(stageResult: "failure") {
// powershell '''
// cd c:\\kaolin\\examples\\tutorial
// ipython camera_and_rasterization.ipynb
// '''
// }
// }
stage("SPC from Pointcloud Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\dataload
python spc_from_pointcloud.py
'''
}
}
stage("SPC Basics Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\spc
python spc_basics.py
'''
}
}
stage("Occupancy Sampling Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\preprocess
python occupancy_sampling.py
'''
}
}
stage("Fast Mesh Sampling Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\preprocess
python fast_mesh_sampling.py --shapenet-dir=c:/mnt/data/ci_shapenetv2/
'''
}
}
stage("SPC Dual Octree Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\spc
python spc_dual_octree.py
'''
}
}
stage("SPC Trilinear Interpolation Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\spc
python spc_trilinear_interp.py
'''
}
}
stage("SPC Convolution 3D Recipe") {
catchError(stageResult: "failure") {
powershell '''
cd c:\\kaolin\\examples\\recipes\\spc
python spc_conv3d_example.py
'''
}
}
stage("Run pytest - io") {
catchError(stageResult: "failure") {
timeout(time: 5, unit: "MINUTES") {
powershell '''
set CI=true
pytest -s /kaolin/tests/python/kaolin/io
'''
}
}
}
stage("Run pytest - metrics") {
catchError(stageResult: "failure") {
timeout(time: 5, unit: "MINUTES") {
powershell '''
set CI=true
pytest -s /kaolin/tests/python/kaolin/metrics
'''
}
}
}
stage("Run pytest - ops") {
catchError(stageResult: "failure") {
timeout(time: 50, unit: "MINUTES") {
powershell '''
set CI=true
pytest -s /kaolin/tests/python/kaolin/ops
'''
}
}
}
stage("Run pytest - render") {
catchError(stageResult: "failure") {
timeout(time: 50, unit: "MINUTES") {
powershell '''
set CI=true
set KAOLIN_TEST_NVDIFFRAST=0
pytest -s /kaolin/tests/python/kaolin/render
'''
}
}
}
stage("Run pytest - rep") {
catchError(stageResult: "failure") {
timeout(time: 5, unit: "MINUTES") {
powershell '''
set CI=true
pytest -s /kaolin/tests/python/kaolin/rep
'''
}
}
}
stage("Run pytest - utils") {
catchError(stageResult: "failure") {
timeout(time: 5, unit: "MINUTES") {
powershell '''
set CI=true
pytest -s /kaolin/tests/python/kaolin/utils
'''
}
}
}
stage("Run pytest - visualize") {
catchError(stageResult: "failure") {
timeout(time: 5, unit: "MINUTES") {
powershell '''
set CI=true
pytest -s /kaolin/tests/python/kaolin/visualize
'''
}
}
}
stage("Update build status") {
// update build result gitlab status
// catchError only updates the pipeline
if (currentBuild.getCurrentResult() == "FAILURE") {
error "Build failed. See logs..."
}
}
}
}
}
}
} // gitlabCommitStatus