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.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							2.5 KiB
						
					
					
				| pipeline {
 | |
|   agent {
 | |
|     docker {
 | |
|       image 'python:3.7.3'
 | |
|       args '--user=root'
 | |
|     }
 | |
|   }
 | |
|   environment {
 | |
|     COMMA_JWT = credentials('athena-test-jwt')
 | |
|   }
 | |
| 
 | |
|   stages {
 | |
| 
 | |
|     stage('Release Build') {
 | |
|       when {
 | |
|         branch 'devel-staging'
 | |
|       }
 | |
|       steps {
 | |
|         lock(resource: "", label: 'eon-build', inversePrecedence: true, variable: 'eon_ip', quantity: 1){
 | |
|           timeout(time: 60, unit: 'MINUTES') {
 | |
|             dir(path: 'selfdrive/test') {
 | |
|               sh 'pip install paramiko'
 | |
|               sh 'python phone_ci.py "cd release && PUSH=1 ./build_release2.sh"'
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     stage('On-device Tests') {
 | |
|       when {
 | |
|         not {
 | |
|           anyOf {
 | |
|             branch 'master-ci'; branch 'devel'; branch 'devel-staging'; branch 'release2'; branch 'release2-staging'; branch 'dashcam'; branch 'dashcam-staging'
 | |
|           }
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       parallel {
 | |
| 
 | |
|         stage('Build') {
 | |
|           environment {
 | |
|             CI_PUSH = "${env.BRANCH_NAME == 'master' ? 'master-ci' : ''}"
 | |
|           }
 | |
| 
 | |
|           steps {
 | |
|             lock(resource: "", label: 'eon', inversePrecedence: true, variable: 'eon_ip', quantity: 1){
 | |
|               timeout(time: 60, unit: 'MINUTES') {
 | |
|                 dir(path: 'selfdrive/test') {
 | |
|                   sh 'pip install paramiko'
 | |
|                   sh 'python phone_ci.py "cd release && ./build_devel.sh"'
 | |
|                 }
 | |
|               }
 | |
|             }
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         stage('Replay Tests') {
 | |
|           steps {
 | |
|             lock(resource: "", label: 'eon2', inversePrecedence: true, variable: 'eon_ip', quantity: 1){
 | |
|               timeout(time: 60, unit: 'MINUTES') {
 | |
|                 dir(path: 'selfdrive/test') {
 | |
|                   sh 'pip install paramiko'
 | |
|                   sh 'python phone_ci.py "cd selfdrive/test/process_replay && ./camera_replay.py"'
 | |
|                 }
 | |
|               }
 | |
|             }
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         stage('HW Tests') {
 | |
|           steps {
 | |
|             lock(resource: "", label: 'eon', inversePrecedence: true, variable: 'eon_ip', quantity: 1){
 | |
|               timeout(time: 60, unit: 'MINUTES') {
 | |
|                 dir(path: 'selfdrive/test') {
 | |
|                   sh 'pip install paramiko'
 | |
|                   sh 'python phone_ci.py "SCONS_CACHE=1 scons -j3 cereal/ && \
 | |
|                                           nosetests -s selfdrive/test/test_sounds.py && \
 | |
|                                           nosetests -s selfdrive/boardd/tests/test_boardd_loopback.py"'
 | |
|                 }
 | |
|               }
 | |
|             }
 | |
|           }
 | |
|         }
 | |
| 
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 |