python / python/mypy

Speeding up CI

Abierto
#8,783 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

needs discussion topic-tests
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

Abrir la guía de contribución

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.

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.