github.com/datadog/cilium@v1.6.12/jenkinsfiles/flannel.Jenkinsfile (about) 1 @Library('cilium') _ 2 3 pipeline { 4 agent { 5 label 'baremetal' 6 } 7 8 environment { 9 PROJ_PATH = "src/github.com/cilium/cilium" 10 TESTDIR = "${WORKSPACE}/${PROJ_PATH}/" 11 MEMORY = "4096" 12 SERVER_BOX = "cilium/ubuntu" 13 NETNEXT=setIfLabel("ci/net-next", "true", "false") 14 CNI_INTEGRATION="flannel" 15 GINKGO_TIMEOUT="73m" 16 } 17 18 options { 19 timeout(time: 240, unit: 'MINUTES') 20 timestamps() 21 ansiColor('xterm') 22 } 23 24 stages { 25 stage('Checkout') { 26 options { 27 timeout(time: 20, unit: 'MINUTES') 28 } 29 30 steps { 31 Status("PENDING", "${env.JOB_NAME}") 32 sh 'env' 33 sh 'rm -rf src; mkdir -p src/github.com/cilium' 34 sh 'ln -s $WORKSPACE src/github.com/cilium/cilium' 35 checkout scm 36 sh '/usr/local/bin/cleanup || true' 37 } 38 } 39 stage('Preload vagrant boxes') { 40 steps { 41 sh '/usr/local/bin/add_vagrant_box ${WORKSPACE}/${PROJ_PATH}/vagrant_box_defaults.rb' 42 } 43 post { 44 unsuccessful { 45 script { 46 if (!currentBuild.displayName.contains('fail')) { 47 currentBuild.displayName = 'preload vagrant boxes fail' + currentBuild.displayName 48 } 49 } 50 } 51 } 52 } 53 stage('Boot VMs'){ 54 options { 55 timeout(time: 60, unit: 'MINUTES') 56 } 57 environment { 58 TESTDIR="${WORKSPACE}/${PROJ_PATH}/test" 59 } 60 steps { 61 retry(3){ 62 sh 'cd ${TESTDIR}; K8S_VERSION=1.10 vagrant destroy --force' 63 sh 'cd ${TESTDIR}; K8S_VERSION=1.13 vagrant destroy --force' 64 sh 'cd ${TESTDIR}; K8S_VERSION=1.10 vagrant up --no-provision' 65 sh 'cd ${TESTDIR}; K8S_VERSION=1.13 vagrant up --no-provision' 66 } 67 } 68 } 69 stage('BDD-Test-PR') { 70 environment { 71 GOPATH="${WORKSPACE}" 72 TESTDIR="${WORKSPACE}/${PROJ_PATH}/test" 73 FAILFAST=setIfLabel("ci/fail-fast", "true", "false") 74 CONTAINER_RUNTIME=setIfLabel("area/containerd", "containerd", "docker") 75 76 } 77 78 options { 79 timeout(time: 75, unit: 'MINUTES') 80 } 81 82 steps { 83 script { 84 parallel( 85 "K8s-1.10":{ 86 sh 'cd ${TESTDIR}; K8S_VERSION=1.10 vagrant provision k8s1-1.10; K8S_VERSION=1.10 vagrant provision k8s2-1.10' 87 sh 'cd ${TESTDIR}; K8S_VERSION=1.10 ginkgo --focus=" K8s*" -v --failFast=${FAILFAST} -- -cilium.provision=false -cilium.timeout=${GINKGO_TIMEOUT}' 88 }, 89 "K8s-1.13":{ 90 sh 'cd ${TESTDIR}; K8S_VERSION=1.13 vagrant provision k8s1-1.13; K8S_VERSION=1.13 vagrant provision k8s2-1.13' 91 sh 'cd ${TESTDIR}; K8S_VERSION=1.13 ginkgo --focus=" K8s*" -v --failFast=${FAILFAST} -- -cilium.provision=false -cilium.timeout=${GINKGO_TIMEOUT}' 92 }, 93 failFast: "${FAILFAST}".toBoolean() 94 ) 95 } 96 } 97 post { 98 always { 99 // Temporary workaround to test cleanup 100 // rm -rf ${GOPATH}/src/github.com/cilium/cilium 101 sh 'cd test/; ./post_build_agent.sh || true' 102 sh 'cd test/; ./archive_test_results.sh || true' 103 archiveArtifacts artifacts: '*.zip' 104 junit testDataPublishers: [[$class: 'AttachmentPublisher']], testResults: 'test/*.xml' 105 } 106 } 107 } 108 } 109 post { 110 always { 111 sh 'cd ${TESTDIR}/test/; K8S_VERSION=1.10 vagrant destroy -f || true' 112 sh 'cd ${TESTDIR}/test/; K8S_VERSION=1.13 vagrant destroy -f || true' 113 cleanWs() 114 sh '/usr/local/bin/cleanup || true' 115 } 116 success { 117 Status("SUCCESS", "$JOB_BASE_NAME") 118 } 119 failure { 120 Status("FAILURE", "$JOB_BASE_NAME") 121 } 122 } 123 }