#!/usr/bin/env groovy docker_registry_server = ImageTag.split(':')[0..1].join(':') currentBuild.displayName = ImageTag.split(':')[2] 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}") { podTemplate(cloud:'sc-ipp-blossom-116', slaveConnectTimeout: 4000, yaml: """ apiVersion: v1 kind: Pod spec: volumes: - name: pvc-mount persistentVolumeClaim: claimName: 'kaolin-pvc' containers: - name: jnlp image: urm.nvidia.com/sw-ipp-blossom-sre-docker-local/jnlp-agent:jdk11-windows env: - name: JENKINS_AGENT_WORKDIR value: C:/Jenkins/agent - name: windows image: ${imageTag} restartPolicy: Never backoffLimit: 4 tty: true volumeMounts: - mountPath: c:/mnt name: pvc-mount imagePullSecrets: - name: gitlabcred nodeSelector: kubernetes.io/os: windows """ ) { node(POD_LABEL) { container("windows") { stage("Basic test") { powershell ''' python --version python -c "import kaolin; print(kaolin.__version__)" python -c "import torch; print(torch.__version__)" ''' } if (currentBuild.getCurrentResult() != "FAILURE") { stage("Push wheels on volume") { def cudaTag = cudaVer.split('\\.')[0..<2].join('') withEnv(["cudaTag=$cudaTag"]) { powershell ''' New-Item -Path /mnt/whl/torch-"$env:torchVer"_cu"$env:cudaTag" -ItemType "directory" -Force ''' powershell ''' cp /kaolin/kaolin-*.whl /mnt/whl/torch-"$env:torchVer"_cu"$env:cudaTag"/ ''' } } stage("Push wheels on artifacts") { // archiveArtifacts only take relative path, and the working directory doesn't work in jenkins // So we copy from /kaolin to current dir powershell ''' cp /kaolin/kaolin-*.whl . ''' archiveArtifacts artifacts: "kaolin-*.whl" } } } } } } // gitlabCommitStatus