Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Speed up the coverage job (about 25 minutes since coverage became real)

Abierto
#898 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
github-actions, python

Línea de trabajo

Start with the coverage job in ci.yml and inspect its step timings in the run for main, especially the analytic IK tests. Try COVERAGE_CORE=sysmon in the coverage step and compare the reported total with 85.98%. Done means the job runs faster and the coverage change is measured and explained; the issue also lists larger follow-up options if that first trial is insufficient.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

tech-debt

Since #897 made coverage real, the coverage job in ci.yml takes about 25 minutes (1,503 s on the run for main), where the other jobs take 10 to 15. It runs on every pull request and every push to main, since the job has no if:. It is not a required check, so it never blocks a merge, but it is the last job to finish on every run, and the one that tells the Codecov number.

Why it is slow

It runs the whole suite with coverage tracing, including the tests marked slow (the analytic IK tests that compile generated C and C++ code, about 110 s untraced), and it runs them under the default tracing core.

Ideas, cheapest first

  • COVERAGE_CORE=sysmon in the coverage step. Python 3.12 has a lighter tracing core. Try it on the job, and compare the totals with the current 85.98%, since a different core can change which lines count.
  • Do not trace the slow tests: run them in the matrix job on Linux with no coverage, and take coverage from the fast tests only. Check what the analytic IK tests contribute (they exercise about 4,000 lines).
  • Split the job with pytest-xdist and combine the data (coverage combine), as the tests are independent.
  • Run coverage on pushes to main and weekly, not on every PR. The PR would lose its Codecov patch status, which is informational now anyway.
  • Cache what is rebuilt on every run: the package install, robot_descriptions assets (already cached).

Measure first

The job log has the timing for each step. Note the compile-based tests in particular: on the Windows runner they were slow enough to hit the 50 s limit, so a Linux job that traces them may be paying the same cost.

Related: #894 (code-quality follow-ups), petercorke/rvc-ecosystem#26 (the CI audit that found the coverage problem).

Lenguaje dominante
C++
Estrellas
3.6k
Forks
649
Merge medio
1 d 8 h
PR fusionados (30 d)
145

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de petercorke/robotics-toolbox-python

Todos los issues de petercorke/robotics-toolbox-python

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.