|  |  |  | @ -216,96 +216,6 @@ jobs: | 
			
		
	
		
			
				
					|  |  |  |  |         ${{ env.RUN }} "ONNXCPU=1 $PYTEST selfdrive/test/process_replay/test_regen.py && \ | 
			
		
	
		
			
				
					|  |  |  |  |                         chmod -R 777 /tmp/comma_download_cache" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   test_cars: | 
			
		
	
		
			
				
					|  |  |  |  |     name: cars | 
			
		
	
		
			
				
					|  |  |  |  |     runs-on: ${{ | 
			
		
	
		
			
				
					|  |  |  |  |       (github.repository == 'commaai/openpilot') && | 
			
		
	
		
			
				
					|  |  |  |  |       ((github.event_name != 'pull_request') || | 
			
		
	
		
			
				
					|  |  |  |  |       (github.event.pull_request.head.repo.full_name == 'commaai/openpilot')) | 
			
		
	
		
			
				
					|  |  |  |  |       && fromJSON('["namespace-profile-amd64-8x16", "namespace-experiments:docker.builds.local-cache=separate"]') | 
			
		
	
		
			
				
					|  |  |  |  |       || fromJSON('["ubuntu-24.04"]') }} | 
			
		
	
		
			
				
					|  |  |  |  |     strategy: | 
			
		
	
		
			
				
					|  |  |  |  |       fail-fast: false | 
			
		
	
		
			
				
					|  |  |  |  |       matrix: | 
			
		
	
		
			
				
					|  |  |  |  |         job: [0, 1, 2, 3] | 
			
		
	
		
			
				
					|  |  |  |  |     steps: | 
			
		
	
		
			
				
					|  |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
			
				
					|  |  |  |  |       with: | 
			
		
	
		
			
				
					|  |  |  |  |         submodules: true | 
			
		
	
		
			
				
					|  |  |  |  |     - uses: ./.github/workflows/setup-with-retry | 
			
		
	
		
			
				
					|  |  |  |  |       id: setup-step | 
			
		
	
		
			
				
					|  |  |  |  |     - name: Cache test routes | 
			
		
	
		
			
				
					|  |  |  |  |       id: routes-cache | 
			
		
	
		
			
				
					|  |  |  |  |       uses: actions/cache@v4 | 
			
		
	
		
			
				
					|  |  |  |  |       with: | 
			
		
	
		
			
				
					|  |  |  |  |         path: .ci_cache/comma_download_cache | 
			
		
	
		
			
				
					|  |  |  |  |         key: car_models-${{ hashFiles('selfdrive/car/tests/test_models.py', 'opendbc/car/tests/routes.py') }}-${{ matrix.job }} | 
			
		
	
		
			
				
					|  |  |  |  |     - name: Build openpilot | 
			
		
	
		
			
				
					|  |  |  |  |       run: ${{ env.RUN }} "scons -j$(nproc)" | 
			
		
	
		
			
				
					|  |  |  |  |     - name: Test car models | 
			
		
	
		
			
				
					|  |  |  |  |       timeout-minutes: ${{ contains(runner.name, 'nsc') && (steps.routes-cache.outputs.cache-hit == 'true') && ((steps.setup-step.outputs.duration < 18) && 1 || 2) || 6 }} | 
			
		
	
		
			
				
					|  |  |  |  |       run: | | 
			
		
	
		
			
				
					|  |  |  |  |         ${{ env.RUN }} "MAX_EXAMPLES=1 $PYTEST selfdrive/car/tests/test_models.py && \ | 
			
		
	
		
			
				
					|  |  |  |  |                         chmod -R 777 /tmp/comma_download_cache" | 
			
		
	
		
			
				
					|  |  |  |  |       env: | 
			
		
	
		
			
				
					|  |  |  |  |         NUM_JOBS: 4 | 
			
		
	
		
			
				
					|  |  |  |  |         JOB_ID: ${{ matrix.job }} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   car_docs_diff: | 
			
		
	
		
			
				
					|  |  |  |  |     name: PR comments | 
			
		
	
		
			
				
					|  |  |  |  |     runs-on: ubuntu-latest | 
			
		
	
		
			
				
					|  |  |  |  |     #if: github.event_name == 'pull_request' | 
			
		
	
		
			
				
					|  |  |  |  |     if: false  # TODO: run this in opendbc? | 
			
		
	
		
			
				
					|  |  |  |  |     steps: | 
			
		
	
		
			
				
					|  |  |  |  |       - uses: actions/checkout@v4 | 
			
		
	
		
			
				
					|  |  |  |  |         with: | 
			
		
	
		
			
				
					|  |  |  |  |           submodules: true | 
			
		
	
		
			
				
					|  |  |  |  |           ref: ${{ github.event.pull_request.base.ref }} | 
			
		
	
		
			
				
					|  |  |  |  |       - run: git lfs pull | 
			
		
	
		
			
				
					|  |  |  |  |       - uses: ./.github/workflows/setup-with-retry | 
			
		
	
		
			
				
					|  |  |  |  |       - name: Get base car info | 
			
		
	
		
			
				
					|  |  |  |  |         run: | | 
			
		
	
		
			
				
					|  |  |  |  |           ${{ env.RUN }} "scons -j$(nproc) && python3 selfdrive/debug/dump_car_docs.py --path /tmp/openpilot_cache/base_car_docs" | 
			
		
	
		
			
				
					|  |  |  |  |           sudo chown -R $USER:$USER ${{ github.workspace }} | 
			
		
	
		
			
				
					|  |  |  |  |       - uses: actions/checkout@v4 | 
			
		
	
		
			
				
					|  |  |  |  |         with: | 
			
		
	
		
			
				
					|  |  |  |  |           submodules: true | 
			
		
	
		
			
				
					|  |  |  |  |           path: current | 
			
		
	
		
			
				
					|  |  |  |  |       - run: cd current && git lfs pull | 
			
		
	
		
			
				
					|  |  |  |  |       - name: Save car docs diff | 
			
		
	
		
			
				
					|  |  |  |  |         id: save_diff | 
			
		
	
		
			
				
					|  |  |  |  |         run: | | 
			
		
	
		
			
				
					|  |  |  |  |           cd current | 
			
		
	
		
			
				
					|  |  |  |  |           ${{ env.RUN }} "scons -j$(nproc)" | 
			
		
	
		
			
				
					|  |  |  |  |           output=$(${{ env.RUN }} "python3 selfdrive/debug/print_docs_diff.py --path /tmp/openpilot_cache/base_car_docs") | 
			
		
	
		
			
				
					|  |  |  |  |           output="${output//$'\n'/'%0A'}" | 
			
		
	
		
			
				
					|  |  |  |  |           echo "::set-output name=diff::$output" | 
			
		
	
		
			
				
					|  |  |  |  |       - name: Find comment | 
			
		
	
		
			
				
					|  |  |  |  |         if: ${{ env.AZURE_TOKEN != '' }} | 
			
		
	
		
			
				
					|  |  |  |  |         uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e | 
			
		
	
		
			
				
					|  |  |  |  |         id: fc | 
			
		
	
		
			
				
					|  |  |  |  |         with: | 
			
		
	
		
			
				
					|  |  |  |  |           issue-number: ${{ github.event.pull_request.number }} | 
			
		
	
		
			
				
					|  |  |  |  |           body-includes: This PR makes changes to | 
			
		
	
		
			
				
					|  |  |  |  |       - name: Update comment | 
			
		
	
		
			
				
					|  |  |  |  |         if: ${{ steps.save_diff.outputs.diff != '' && env.AZURE_TOKEN != '' }} | 
			
		
	
		
			
				
					|  |  |  |  |         uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 | 
			
		
	
		
			
				
					|  |  |  |  |         with: | 
			
		
	
		
			
				
					|  |  |  |  |           comment-id: ${{ steps.fc.outputs.comment-id }} | 
			
		
	
		
			
				
					|  |  |  |  |           issue-number: ${{ github.event.pull_request.number }} | 
			
		
	
		
			
				
					|  |  |  |  |           body: "${{ steps.save_diff.outputs.diff }}" | 
			
		
	
		
			
				
					|  |  |  |  |           edit-mode: replace | 
			
		
	
		
			
				
					|  |  |  |  |       - name: Delete comment | 
			
		
	
		
			
				
					|  |  |  |  |         if: ${{ steps.fc.outputs.comment-id != '' && steps.save_diff.outputs.diff == '' && env.AZURE_TOKEN != '' }} | 
			
		
	
		
			
				
					|  |  |  |  |         uses: actions/github-script@v7 | 
			
		
	
		
			
				
					|  |  |  |  |         with: | 
			
		
	
		
			
				
					|  |  |  |  |           script: | | 
			
		
	
		
			
				
					|  |  |  |  |             github.rest.issues.deleteComment({ | 
			
		
	
		
			
				
					|  |  |  |  |               owner: context.repo.owner, | 
			
		
	
		
			
				
					|  |  |  |  |               repo: context.repo.repo, | 
			
		
	
		
			
				
					|  |  |  |  |               comment_id: ${{ steps.fc.outputs.comment-id }} | 
			
		
	
		
			
				
					|  |  |  |  |             }) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   simulator_driving: | 
			
		
	
		
			
				
					|  |  |  |  |     name: simulator driving | 
			
		
	
		
			
				
					|  |  |  |  |     runs-on: ${{ | 
			
		
	
	
		
			
				
					|  |  |  | 
 |