|  |  | @ -75,7 +75,7 @@ jobs: | 
			
		
	
		
		
			
				
					
					|  |  |  |            ((github.repository == 'commaai/openpilot') && |  |  |  |            ((github.repository == 'commaai/openpilot') && | 
			
		
	
		
		
			
				
					
					|  |  |  |               ((github.event_name != 'pull_request') ||  |  |  |  |               ((github.event_name != 'pull_request') ||  | 
			
		
	
		
		
			
				
					
					|  |  |  |                (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && '["x86_64", "aarch64"]' || '["x86_64"]' ) }} |  |  |  |                (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && '["x86_64", "aarch64"]' || '["x86_64"]' ) }} | 
			
		
	
		
		
			
				
					
					|  |  |  |     runs-on: ${{ (matrix.arch == 'aarch64') && 'buildjet-2vcpu-ubuntu-2204-arm' || 'ubuntu-20.04' }} |  |  |  |     runs-on: ${{ (matrix.arch == 'aarch64') && 'namespace-profile-arm64-2x8' || 'ubuntu-20.04' }} | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     steps: |  |  |  |     steps: | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: actions/checkout@v4 |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
		
			
				
					
					|  |  |  |       with: |  |  |  |       with: | 
			
		
	
	
		
		
			
				
					|  |  | @ -83,18 +83,15 @@ jobs: | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: ./.github/workflows/setup-with-retry |  |  |  |     - uses: ./.github/workflows/setup-with-retry | 
			
		
	
		
		
			
				
					
					|  |  |  |       with: |  |  |  |       with: | 
			
		
	
		
		
			
				
					
					|  |  |  |         docker_hub_pat: ${{ secrets.DOCKER_HUB_PAT }} |  |  |  |         docker_hub_pat: ${{ secrets.DOCKER_HUB_PAT }} | 
			
		
	
		
		
			
				
					
					|  |  |  |         cache_key_prefix: scons_${{ matrix.arch }} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: ./.github/workflows/compile-openpilot |  |  |  |     - uses: ./.github/workflows/compile-openpilot | 
			
		
	
		
		
			
				
					
					|  |  |  |       timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 15 || 30) }} # allow more time when we missed the scons cache |  |  |  |       timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 15 || 30) }} # allow more time when we missed the scons cache | 
			
		
	
		
		
			
				
					
					|  |  |  |       with: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         cache_key_prefix: scons_${{ matrix.arch }} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   docker_push: |  |  |  |   docker_push: | 
			
		
	
		
		
			
				
					
					|  |  |  |     name: docker push |  |  |  |     name: docker push | 
			
		
	
		
		
			
				
					
					|  |  |  |     strategy: |  |  |  |     strategy: | 
			
		
	
		
		
			
				
					
					|  |  |  |       matrix: |  |  |  |       matrix: | 
			
		
	
		
		
			
				
					
					|  |  |  |         arch: ${{ fromJson( (github.repository == 'commaai/openpilot') && '["x86_64", "aarch64"]' || '["x86_64"]' ) }} |  |  |  |         arch: ${{ fromJson( (github.repository == 'commaai/openpilot') && '["x86_64", "aarch64"]' || '["x86_64"]' ) }} | 
			
		
	
		
		
			
				
					
					|  |  |  |     runs-on: ${{ (matrix.arch == 'aarch64') && 'buildjet-2vcpu-ubuntu-2204-arm' || 'ubuntu-20.04' }} |  |  |  |     runs-on: ${{ (matrix.arch == 'aarch64') && 'namespace-profile-arm64-2x8' || 'ubuntu-20.04' }} | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && github.repository == 'commaai/openpilot' |  |  |  |     if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && github.repository == 'commaai/openpilot' | 
			
		
	
		
		
			
				
					
					|  |  |  |     steps: |  |  |  |     steps: | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: actions/checkout@v4 |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
	
		
		
			
				
					|  |  | @ -133,7 +130,9 @@ jobs: | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   static_analysis: |  |  |  |   static_analysis: | 
			
		
	
		
		
			
				
					
					|  |  |  |     name: static analysis |  |  |  |     name: static analysis | 
			
		
	
		
		
			
				
					
					|  |  |  |     runs-on: ubuntu-20.04 |  |  |  |     runs-on: ${{ ((github.repository == 'commaai/openpilot') && | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                    ((github.event_name != 'pull_request') ||  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-amd64-8x16' || 'ubuntu-20.04' }} | 
			
		
	
		
		
			
				
					
					|  |  |  |     steps: |  |  |  |     steps: | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: actions/checkout@v4 |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
		
			
				
					
					|  |  |  |       with: |  |  |  |       with: | 
			
		
	
	
		
		
			
				
					|  |  | @ -165,7 +164,7 @@ jobs: | 
			
		
	
		
		
			
				
					
					|  |  |  |     name: unit tests |  |  |  |     name: unit tests | 
			
		
	
		
		
			
				
					
					|  |  |  |     runs-on: ${{ ((github.repository == 'commaai/openpilot') && |  |  |  |     runs-on: ${{ ((github.repository == 'commaai/openpilot') && | 
			
		
	
		
		
			
				
					
					|  |  |  |                    ((github.event_name != 'pull_request') ||  |  |  |  |                    ((github.event_name != 'pull_request') ||  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'buildjet-8vcpu-ubuntu-2004' || 'ubuntu-20.04' }} |  |  |  |                     (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-amd64-8x16' || 'ubuntu-20.04' }} | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     steps: |  |  |  |     steps: | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: actions/checkout@v4 |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
		
			
				
					
					|  |  |  |       with: |  |  |  |       with: | 
			
		
	
	
		
		
			
				
					|  |  | @ -181,7 +180,7 @@ jobs: | 
			
		
	
		
		
			
				
					
					|  |  |  |       run: | |  |  |  |       run: | | 
			
		
	
		
		
			
				
					
					|  |  |  |         ${{ env.RUN }} "source selfdrive/test/setup_xvfb.sh && \ |  |  |  |         ${{ env.RUN }} "source selfdrive/test/setup_xvfb.sh && \ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         export MAPBOX_TOKEN='pk.eyJ1Ijoiam5ld2IiLCJhIjoiY2xxNW8zZXprMGw1ZzJwbzZneHd2NHljbSJ9.gV7VPRfbXFetD-1OVF0XZg' && \ |  |  |  |                         export MAPBOX_TOKEN='pk.eyJ1Ijoiam5ld2IiLCJhIjoiY2xxNW8zZXprMGw1ZzJwbzZneHd2NHljbSJ9.gV7VPRfbXFetD-1OVF0XZg' && \ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         $PYTEST --timeout 40 -m 'not slow' && \ |  |  |  |                         $PYTEST --timeout 40 -m 'not slow' -n $(nproc) && \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                         ./selfdrive/ui/tests/create_test_translations.sh && \ |  |  |  |                         ./selfdrive/ui/tests/create_test_translations.sh && \ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         QT_QPA_PLATFORM=offscreen ./selfdrive/ui/tests/test_translations && \ |  |  |  |                         QT_QPA_PLATFORM=offscreen ./selfdrive/ui/tests/test_translations && \ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         ./selfdrive/ui/tests/test_translations.py" |  |  |  |                         ./selfdrive/ui/tests/test_translations.py" | 
			
		
	
	
		
		
			
				
					|  |  | @ -196,7 +195,7 @@ jobs: | 
			
		
	
		
		
			
				
					
					|  |  |  |     name: process replay |  |  |  |     name: process replay | 
			
		
	
		
		
			
				
					
					|  |  |  |     runs-on: ${{ ((github.repository == 'commaai/openpilot') && |  |  |  |     runs-on: ${{ ((github.repository == 'commaai/openpilot') && | 
			
		
	
		
		
			
				
					
					|  |  |  |                    ((github.event_name != 'pull_request') ||  |  |  |  |                    ((github.event_name != 'pull_request') ||  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'buildjet-8vcpu-ubuntu-2004' || 'ubuntu-20.04' }} |  |  |  |                     (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-amd64-8x16' || 'ubuntu-20.04' }} | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     steps: |  |  |  |     steps: | 
			
		
	
		
		
			
				
					
					|  |  |  |     - uses: actions/checkout@v4 |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
		
			
				
					
					|  |  |  |       with: |  |  |  |       with: | 
			
		
	
	
		
		
			
				
					|  |  | 
 |