python / python/cpython

Dual declaration of directories in Makefile is a foot gun

Ouverte
#102,031 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

build type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner le Makefile et les builds buildbot "installed" ou les vérifications de source-bundle mentionnés dans l’issue. Déterminez si le build peut découvrir automatiquement de nouveaux répertoires ou si CI peut détecter les répertoires absents du build, puis vérifiez l’approche choisie avec un répertoire nouvellement introduit.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system, ci-cd
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.