        run: |
          ${{ env.RUN }} "mkdir -p selfdrive/test/out && \
                          scons -j$(nproc) && \
                          cd selfdrive/test/longitudinal_maneuvers && \
                          ./test_longitudinal.py"
      - uses: actions/upload-artifact@v2
        if: always()
        continue-on-error: true
        with:
          name: longitudinal
 
</s> remove                         FILEREADER_CACHE=1 CI=1 coverage run selfdrive/test/process_replay/test_processes.py"
    - name: Upload coverage to Codecov
      run: bash <(curl -s https://codecov.io/bash) -v -F process_replay
 </s> add                         FILEREADER_CACHE=1 CI=1 coverage run selfdrive/test/process_replay/test_processes.py && \
                        coverage xml"
    - name: "Upload coverage to Codecov"
      uses: codecov/codecov-action@v2 </s> remove                         FILEREADER_CACHE=1 pytest selfdrive/test/test_models.py && \
 </s> add                         FILEREADER_CACHE=1 coverage run -m pytest selfdrive/test/test_models.py && \
                        coverage xml && \ </s> remove                         ./selfdrive/camerad/test/ae_gray_test"
    - name: Upload coverage to Codecov
      run: bash <(curl -s https://codecov.io/bash) -v -F unit_tests
 </s> add                         ./selfdrive/camerad/test/ae_gray_test && \
                        coverage xml"
    - name: "Upload coverage to Codecov"
      uses: codecov/codecov-action@v2 </s> remove     - name: Upload coverage to Codecov
      run: bash <(curl -s https://codecov.io/bash) -v -F test_car_models
 </s> add     - name: "Upload coverage to Codecov"
      uses: codecov/codecov-action@v2
                        coverage run ./test_longitudinal.py && \
                        coverage xml"
    - name: "Upload coverage to Codecov"
      uses: codecov/codecov-action@v2
        run: |
          ${{ env.RUN }} "mkdir -p selfdrive/test/out && \
                          scons -j$(nproc) && \
                          cd selfdrive/test/longitudinal_maneuvers && \
                        coverage run ./test_longitudinal.py && \
                        coverage xml"
    - name: "Upload coverage to Codecov"
      uses: codecov/codecov-action@v2
      - uses: actions/upload-artifact@v2
        if: always()
        continue-on-error: true
        with:
          name: longitudinal
keep keep keep keep replace keep keep keep keep keep
 use codecov action (#23618)

* use codecov action

* convert to xml

* also coverage in longitudinal test

* fix typo 
.github/workflows/selfdrive_tests.yaml