Speeding up CI
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
CI is currently pretty slow. In particular, if there are several PRs in quick succession, we'll run out of CI capacity. A reasonable medium-term goal might to get CI builds finish in 10 minutes in typical cases. I'm not sure if that is realistic, however.
Here are some ideas about how to make things better:
- Drop appveyor (it seems redundant now) [done]
- Run selected slow tests only after a PR has been merged
- Alternatively, only run them once per PR iteration, and run on all platforms and Python versions after merge
- If a PR only touches mypyc, don't run non-compiled mypy tests
- Remove some slow tests from CI if they don't bring much value
- Run more tests in incremental mode
- If a PR only touches docs, don't run all tests
- Test fewer platform / Python version combinations (possibly only in PR builds)
- Speed up individual tests somehow
- Somehow get more CI capacity
Can anybody suggest more things that could help, or which of the above things would be worth pursuing first?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
El issue no menciona archivos, pruebas ni puntos de entrada de CI, y presenta varias alternativas en lugar de una tarea seleccionada. Empieza por identificar la configuración de CI y medir una compilación típica; se consideraría terminado cuando hubiera una optimización acordada con pruebas de que CI es más rápida.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- ci-cd, developer-experience
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100