python / python/cpython

Dual declaration of directories in Makefile is a foot gun

Aberta
#102,031 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

build type-bug
Linguagem predominante
Python
Estrelas
77.2k
Forks
36k
Merge médio
1d 9h
PRs com merge (30d)
558

Descrição

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.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece examinando o Makefile e os builds "installed" do buildbot ou as verificações de source-bundle mencionados na issue. Determine se o build pode descobrir novos diretórios automaticamente ou se o CI pode detectar diretórios ausentes no build e, em seguida, verifique a abordagem escolhida com um diretório recém-introduzido.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
build-system, ci-cd
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.