@ -3,8 +3,10 @@ on: [push, pull_request] 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					env:  
					 
					 
					 
					env:  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					   RUN :   docker run --shm-size 1G --rm tmppilot /bin/sh -c  
					 
					 
					 
					   RUN :   docker run --shm-size 1G --rm tmppilot /bin/sh -c  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					   PERSIST :   docker run --shm-size 1G --name tmppilot tmppilot /bin/sh -c  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					   LOAD :   docker load -i tmppilot.tar.gz/tmppilot.tar.gz  
					 
					 
					 
					   LOAD :   docker load -i tmppilot.tar.gz/tmppilot.tar.gz  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					   UNIT_TEST :   cd /tmp/openpilot && python -m unittest discover  
					 
					 
					 
					   CI_RUN :   docker run -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID --rm tmppilotci /bin/bash -c  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					   UNIT_TEST :   coverage run --append -m unittest discover  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					jobs:  
					 
					 
					 
					jobs:  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					   build:  
					 
					 
					 
					   build:  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -72,16 +74,21 @@ jobs: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   $LOAD  
					 
					 
					 
					         run :   $LOAD  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Run unit tests  
					 
					 
					 
					       - name :   Run unit tests  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   |  
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN /tmp/openpilot/selfdrive/test/test_fingerprints.py  
					 
					 
					 
					           $PERSIST "cd /tmp/openpilot && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST common"  
					 
					 
					 
					                     coverage run selfdrive/test/test_fingerprints.py && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST opendbc/can"  
					 
					 
					 
					                     $UNIT_TEST common && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST selfdrive/boardd"  
					 
					 
					 
					                     $UNIT_TEST opendbc/can && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST selfdrive/controls"  
					 
					 
					 
					                     $UNIT_TEST selfdrive/boardd && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST selfdrive/loggerd"  
					 
					 
					 
					                     $UNIT_TEST selfdrive/controls && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST selfdrive/car"  
					 
					 
					 
					                     $UNIT_TEST selfdrive/loggerd && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST selfdrive/locationd"  
					 
					 
					 
					                     $UNIT_TEST selfdrive/car && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST selfdrive/athena"  
					 
					 
					 
					                     $UNIT_TEST selfdrive/locationd && \  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           $RUN "$UNIT_TEST tools/lib/tests"  
					 
					 
					 
					                     $UNIT_TEST selfdrive/athena && \  
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                     $UNIT_TEST tools/lib/tests"  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					       - name :   Upload coverage to Codecov  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           docker commit tmppilot tmppilotci  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           $CI_RUN "cd /tmp/openpilot && bash <(curl -s https://codecov.io/bash) -Z -F unit_tests"  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					   process_replay:  
					 
					 
					 
					   process_replay:  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					     name :   process replay  
					 
					 
					 
					     name :   process replay  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -96,14 +103,15 @@ jobs: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   $LOAD  
					 
					 
					 
					         run :   $LOAD  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Run replay  
					 
					 
					 
					       - name :   Run replay  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   |  
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           CONTAINER_NAME="tmppilot_${GITHUB_SHA}"  
					 
					 
					 
					           $PERSIST "cd /tmp/openpilot && CI=1 coverage run selfdrive/test/process_replay/test_processes.py"  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           docker run --shm-size 1G --name ${CONTAINER_NAME} tmppilot /bin/sh -c "cd /tmp/openpilot/selfdrive/test/process_replay && CI=1 ./test_processes.py"  
					 
					 
					 
					       - name :   Upload coverage to Codecov  
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           docker commit tmppilot tmppilotci  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           $CI_RUN "cd /tmp/openpilot && bash <(curl -s https://codecov.io/bash) -Z -F process_replay"  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Copy diff  
					 
					 
					 
					       - name :   Copy diff  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         if :   always()  
					 
					 
					 
					         if :   always()  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   |  
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           CONTAINER_NAME="tmppilot_${GITHUB_SHA}"  
					 
					 
					 
					           docker cp tmppilot:/tmp/openpilot/selfdrive/test/process_replay/diff.txt diff.txt  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           docker cp $CONTAINER_NAME:/tmp/openpilot/selfdrive/test/process_replay/diff.txt diff.txt  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           docker rm $CONTAINER_NAME  
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Print diff  
					 
					 
					 
					       - name :   Print diff  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         if :   always()  
					 
					 
					 
					         if :   always()  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   cat diff.txt  
					 
					 
					 
					         run :   cat diff.txt  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -126,15 +134,12 @@ jobs: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   $LOAD  
					 
					 
					 
					         run :   $LOAD  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Test longitudinal  
					 
					 
					 
					       - name :   Test longitudinal  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   |  
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           CONTAINER_NAME="tmppilot_${GITHUB_SHA}"  
					 
					 
					 
					           $PERSIST "cd /tmp/openpilot/selfdrive/test/longitudinal_maneuvers && OPTEST=1 ./test_longitudinal.py"  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           docker run --shm-size 1G --name ${CONTAINER_NAME} tmppilot /bin/sh -c "cd /tmp/openpilot/selfdrive/test/longitudinal_maneuvers && OPTEST=1 ./test_longitudinal.py"  
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Copy artifacts  
					 
					 
					 
					       - name :   Copy artifacts  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         if :   always()  
					 
					 
					 
					         if :   always()  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   |  
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           CONTAINER_NAME="tmppilot_${GITHUB_SHA}"  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           mkdir out  
					 
					 
					 
					           mkdir out  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					           docker cp $CONTAINER_NAME:/tmp/openpilot/selfdrive/test/longitudinal_maneuvers/out/longitudinal/ out/  
					 
					 
					 
					           docker cp tmppilot:/tmp/openpilot/selfdrive/test/longitudinal_maneuvers/out/longitudinal/ out/  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					           docker rm $CONTAINER_NAME  
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					       - uses :   actions/upload-artifact@v1  
					 
					 
					 
					       - uses :   actions/upload-artifact@v1  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         if :   always()  
					 
					 
					 
					         if :   always()  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         with:  
					 
					 
					 
					         with:  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -153,4 +158,10 @@ jobs: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Load image  
					 
					 
					 
					       - name :   Load image  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   $LOAD  
					 
					 
					 
					         run :   $LOAD  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					       - name :   Test car models  
					 
					 
					 
					       - name :   Test car models  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					         run :   $RUN "mkdir -p /data/params && cd /tmp/openpilot/selfdrive/test/ && ./test_car_models.py"  
					 
					 
					 
					         run :   |  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           $PERSIST "mkdir -p /data/params && cd /tmp/openpilot && coverage run --parallel-mode --concurrency=multiprocessing --rcfile=./.coveragerc-app selfdrive/test/test_car_models.py && coverage combine"  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					       - name :   Upload coverage to Codecov  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					         run :   |  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           docker commit tmppilot tmppilotci  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					           $CI_RUN "cd /tmp/openpilot && bash <(curl -s https://codecov.io/bash) -Z -F test_car_models"