You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					74 lines
				
				2.6 KiB
			
		
		
			
		
	
	
					74 lines
				
				2.6 KiB
			| 
								 
											6 years ago
										 
									 | 
							
								pipeline {
							 | 
						||
| 
								 | 
							
								  agent any
							 | 
						||
| 
								 | 
							
								  environment {
							 | 
						||
| 
								 | 
							
								    AUTHOR = """${sh(
							 | 
						||
| 
								 | 
							
								                returnStdout: true,
							 | 
						||
| 
								 | 
							
								                script: "git --no-pager show -s --format='%an' ${GIT_COMMIT}"
							 | 
						||
| 
								 | 
							
								             ).trim()}"""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    DOCKER_IMAGE_TAG = "panda:build-${env.GIT_COMMIT}"
							 | 
						||
| 
								 | 
							
								    DOCKER_NAME = "panda-test-${env.GIT_COMMIT}"
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  stages {
							 | 
						||
| 
								 | 
							
								    stage('Build Docker Image') {
							 | 
						||
| 
								 | 
							
								      steps {
							 | 
						||
| 
								 | 
							
								        timeout(time: 60, unit: 'MINUTES') {
							 | 
						||
| 
								 | 
							
								          script {
							 | 
						||
| 
								 | 
							
								            sh 'git archive -v -o panda.tar.gz --format=tar.gz HEAD'
							 | 
						||
| 
								 | 
							
								            dockerImage = docker.build("${env.DOCKER_IMAGE_TAG}")
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								    stage('Test Dev Build (no WIFI)') {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								      steps {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								        lock(resource: "Pandas", inversePrecedence: true, quantity: 1){
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								          timeout(time: 60, unit: 'MINUTES') {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								            script {
							 | 
						||
| 
								 | 
							
								              sh "docker run --name ${env.DOCKER_NAME} --privileged --volume /dev/bus/usb:/dev/bus/usb --volume /var/run/dbus:/var/run/dbus --net host ${env.DOCKER_IMAGE_TAG} bash -c 'cd /tmp/panda; SKIPWIFI=1 ./run_automated_tests.sh'"
							 | 
						||
| 
								 | 
							
								              sh "docker cp ${env.DOCKER_NAME}:/tmp/panda/nosetests.xml test_results_dev_nowifi.xml"
							 | 
						||
| 
								 | 
							
								              sh "docker rm ${env.DOCKER_NAME}"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								          }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    stage('Test EON Build') {
							 | 
						||
| 
								 | 
							
								      steps {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								        lock(resource: "Pandas", inversePrecedence: true, quantity: 1){
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								          timeout(time: 60, unit: 'MINUTES') {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								            script {
							 | 
						||
| 
								 | 
							
								              sh "docker run --name ${env.DOCKER_NAME} --privileged --volume /dev/bus/usb:/dev/bus/usb --volume /var/run/dbus:/var/run/dbus --net host ${env.DOCKER_IMAGE_TAG} bash -c 'touch /EON; cd /tmp/panda; ./run_automated_tests.sh'"
							 | 
						||
| 
								 | 
							
								              sh "docker cp ${env.DOCKER_NAME}:/tmp/panda/nosetests.xml test_results_eon.xml"
							 | 
						||
| 
								 | 
							
								              sh "docker rm ${env.DOCKER_NAME}"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    stage('Test Dev Build (WIFI)') {
							 | 
						||
| 
								 | 
							
								      steps {
							 | 
						||
| 
								 | 
							
								        lock(resource: "Pandas", inversePrecedence: true, quantity: 1){
							 | 
						||
| 
								 | 
							
								          timeout(time: 60, unit: 'MINUTES') {
							 | 
						||
| 
								 | 
							
								            script {
							 | 
						||
| 
								 | 
							
								              sh "docker run --name ${env.DOCKER_NAME} --privileged --volume /dev/bus/usb:/dev/bus/usb --volume /var/run/dbus:/var/run/dbus --net host ${env.DOCKER_IMAGE_TAG} bash -c 'cd /tmp/panda; ./run_automated_tests.sh'"
							 | 
						||
| 
								 | 
							
								              sh "docker cp ${env.DOCKER_NAME}:/tmp/panda/nosetests.xml test_results_dev.xml"
							 | 
						||
| 
								 | 
							
								              sh "docker rm ${env.DOCKER_NAME}"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								          }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  post {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								    failure {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								      script {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								        sh "docker rm ${env.DOCKER_NAME} || true"
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								      }
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    always {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								      junit "test_results*.xml"
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								}
							 |