| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -11,6 +11,8 @@ concurrency: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  cancel-in-progress: true | 
					 | 
					 | 
					 | 
					  cancel-in-progress: true | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					env: | 
					 | 
					 | 
					 | 
					env: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  PYTHONWARNINGS: error | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  BASE_IMAGE: openpilot-base | 
					 | 
					 | 
					 | 
					  BASE_IMAGE: openpilot-base | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CL_BASE_IMAGE: openpilot-base-cl | 
					 | 
					 | 
					 | 
					  CL_BASE_IMAGE: openpilot-base-cl | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  DOCKER_REGISTRY: ghcr.io/commaai | 
					 | 
					 | 
					 | 
					  DOCKER_REGISTRY: ghcr.io/commaai | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -20,11 +22,11 @@ env: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  BUILD: | | 
					 | 
					 | 
					 | 
					  BUILD: | | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      DOCKER_BUILDKIT=1 docker build --pull --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $DOCKER_REGISTRY/$BASE_IMAGE:latest -t $DOCKER_REGISTRY/$BASE_IMAGE:latest -t $BASE_IMAGE:latest -f Dockerfile.openpilot_base . | 
					 | 
					 | 
					 | 
					      DOCKER_BUILDKIT=1 docker build --pull --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $DOCKER_REGISTRY/$BASE_IMAGE:latest -t $DOCKER_REGISTRY/$BASE_IMAGE:latest -t $BASE_IMAGE:latest -f Dockerfile.openpilot_base . | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  RUN: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v ~/scons_cache:/tmp/scons_cache -v ~/comma_download_cache:/tmp/comma_download_cache -v ~/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/sh -c | 
					 | 
					 | 
					 | 
					  RUN: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONWARNINGS=error -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v ~/scons_cache:/tmp/scons_cache -v ~/comma_download_cache:/tmp/comma_download_cache -v ~/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/sh -c | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  BUILD_CL: | | 
					 | 
					 | 
					 | 
					  BUILD_CL: | | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      DOCKER_BUILDKIT=1 docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $DOCKER_REGISTRY/$CL_BASE_IMAGE:latest -t $DOCKER_REGISTRY/$CL_BASE_IMAGE:latest -t $CL_BASE_IMAGE:latest -f Dockerfile.openpilot_base_cl . | 
					 | 
					 | 
					 | 
					      DOCKER_BUILDKIT=1 docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $DOCKER_REGISTRY/$CL_BASE_IMAGE:latest -t $DOCKER_REGISTRY/$CL_BASE_IMAGE:latest -t $CL_BASE_IMAGE:latest -f Dockerfile.openpilot_base_cl . | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  RUN_CL: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v ~/scons_cache:/tmp/scons_cache -v ~/comma_download_cache:/tmp/comma_download_cache -v ~/openpilot_cache:/tmp/openpilot_cache $CL_BASE_IMAGE /bin/sh -c | 
					 | 
					 | 
					 | 
					  RUN_CL: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONWARNINGS=error -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v ~/scons_cache:/tmp/scons_cache -v ~/comma_download_cache:/tmp/comma_download_cache -v ~/openpilot_cache:/tmp/openpilot_cache $CL_BASE_IMAGE /bin/sh -c | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  UNIT_TEST: coverage run --append -m unittest discover | 
					 | 
					 | 
					 | 
					  UNIT_TEST: coverage run --append -m unittest discover | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -66,7 +68,7 @@ jobs: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        cp pyproject.toml $STRIPPED_DIR | 
					 | 
					 | 
					 | 
					        cp pyproject.toml $STRIPPED_DIR | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        cp poetry.lock $STRIPPED_DIR | 
					 | 
					 | 
					 | 
					        cp poetry.lock $STRIPPED_DIR | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        cd $STRIPPED_DIR | 
					 | 
					 | 
					 | 
					        cd $STRIPPED_DIR | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ${{ env.RUN }} "pre-commit run --all" | 
					 | 
					 | 
					 | 
					        ${{ env.RUN }} "unset PYTHONWARNINGS && pre-commit run --all" | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  build_all: | 
					 | 
					 | 
					 | 
					  build_all: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    name: build all | 
					 | 
					 | 
					 | 
					    name: build all | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -142,6 +144,9 @@ jobs: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: Install dependencies | 
					 | 
					 | 
					 | 
					    - name: Install dependencies | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if: steps.dependency-cache.outputs.cache-hit != 'true' | 
					 | 
					 | 
					 | 
					      if: steps.dependency-cache.outputs.cache-hit != 'true' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: ./tools/mac_setup.sh | 
					 | 
					 | 
					 | 
					      run: ./tools/mac_setup.sh | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      env: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        # package install has DeprecationWarnings | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        PYTHONWARNINGS: default | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: Build openpilot | 
					 | 
					 | 
					 | 
					    - name: Build openpilot | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: | | 
					 | 
					 | 
					 | 
					      run: | | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        source tools/openpilot_env.sh | 
					 | 
					 | 
					 | 
					        source tools/openpilot_env.sh | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -214,7 +219,7 @@ jobs: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: eval "$BUILD" | 
					 | 
					 | 
					 | 
					      run: eval "$BUILD" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: pre-commit | 
					 | 
					 | 
					 | 
					    - name: pre-commit | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      timeout-minutes: 4 | 
					 | 
					 | 
					 | 
					      timeout-minutes: 4 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: ${{ env.RUN }} "pre-commit run --all" | 
					 | 
					 | 
					 | 
					      run: ${{ env.RUN }} "unset PYTHONWARNINGS && pre-commit run --all" | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  valgrind: | 
					 | 
					 | 
					 | 
					  valgrind: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    name: valgrind | 
					 | 
					 | 
					 | 
					    name: valgrind | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -337,15 +342,18 @@ jobs: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: Build openpilot | 
					 | 
					 | 
					 | 
					    - name: Build openpilot | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: | | 
					 | 
					 | 
					 | 
					      run: | | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ${{ env.RUN }} "scons -j$(nproc)" | 
					 | 
					 | 
					 | 
					        ${{ env.RUN }} "scons -j$(nproc)" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    # PYTHONWARNINGS triggers a SyntaxError in onnxruntime | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: Run model replay with ONNX | 
					 | 
					 | 
					 | 
					    - name: Run model replay with ONNX | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      timeout-minutes: 2 | 
					 | 
					 | 
					 | 
					      timeout-minutes: 2 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: | | 
					 | 
					 | 
					 | 
					      run: | | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ${{ env.RUN_CL }} "ONNXCPU=1 CI=1 NO_NAV=1 coverage run selfdrive/test/process_replay/model_replay.py && \ | 
					 | 
					 | 
					 | 
					        ${{ env.RUN_CL }} "unset PYTHONWARNINGS && \ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                           ONNXCPU=1 CI=1 NO_NAV=1 coverage run selfdrive/test/process_replay/model_replay.py && \ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                           coverage xml" | 
					 | 
					 | 
					 | 
					                           coverage xml" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: Run unit tests | 
					 | 
					 | 
					 | 
					    - name: Run unit tests | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      timeout-minutes: 4 | 
					 | 
					 | 
					 | 
					      timeout-minutes: 4 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      run: | | 
					 | 
					 | 
					 | 
					      run: | | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ${{ env.RUN_CL }} "$UNIT_TEST selfdrive/modeld && \ | 
					 | 
					 | 
					 | 
					        ${{ env.RUN_CL }} "unset PYTHONWARNINGS && \ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                           $UNIT_TEST selfdrive/modeld && \ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                           coverage xml" | 
					 | 
					 | 
					 | 
					                           coverage xml" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    - name: "Upload coverage to Codecov" | 
					 | 
					 | 
					 | 
					    - name: "Upload coverage to Codecov" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      uses: codecov/codecov-action@v3 | 
					 | 
					 | 
					 | 
					      uses: codecov/codecov-action@v3 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |