python / python/cpython

Dual declaration of directories in Makefile is a foot gun

Abierto
#102,031 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

build type-bug
Lenguaje dominante
Python
Estrellas
77.2k
Forks
36k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

I'd estimate that 90% of the times that I introduce a new directory to the Python project, I forget that Python requires a two-phase operation to add new directories:

  • Add the directory and files to the Git repo.
  • Add a reference to the new directory to the Makefile.

If one completes only the first step, the tests will pass locally and in CI, but will fail in buildbots after merging. See https://github.com/python/cpython/pull/102010 for the most recent example.

Ideally, the build system should be reconfigured such that only one phase is required to add a new directory to the build.

Short of that, the CI builds should somehow check that the introduction of a new directory either triggers the buildbot "installed" builds or otherwise checks that the new directories are included in any source bundle.

It should not be a common occurrence to introduce a directory, pass CI, and then fail buildbots.

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

Comienza examinando el Makefile y las compilaciones de buildbot "installed" o las comprobaciones de source-bundle mencionadas en el issue. Determina si la compilación puede descubrir automáticamente directorios nuevos o si CI puede detectar directorios que faltan en la compilación; después, verifica el enfoque elegido con un directorio recién introducido.

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

Evaluación

Stack tecnológico
python
Área
build-system, ci-cd
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.