Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

publish.yml: the TestPyPI verification step is unreachable (and installs the wrong package name)

Aberta Para iniciantes
#242 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
62/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Pouca atividade
Stack de tecnologia
bash, github-actions, python, yaml
Domínio
ci-cd, release

Direção de pesquisa

Comece em .github/workflows/publish.yml: o job verify-built-dist tem duas etapas (Publish package to TestPyPI e Check uploaded package) condicionadas a github.event_name == 'push', enquanto o workflow só é acionado por release e workflow_dispatch. Confirme que as etapas são ignoradas em todas as execuções e, em seguida, corrija a linha de instalação que indica o pacote errado ('de' em vez de xarray-sql). Está concluído quando a condição estiver corrigida ou as etapas forem substituídas por uma instalação local do wheel e uma verificação de importação, e o job realmente executar essa verificação.

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

Descrição

Found while modelling ddx's PyPI publish workflow on this one — thanks for the reference implementation, it was genuinely useful. Two things in publish.yml that look unintended.

The TestPyPI verification never runs

publish.yml triggers on:

on:
  release:
    types: [published]
  workflow_dispatch:

but both steps in verify-built-dist are gated on a push:

      - name: Publish package to TestPyPI
        if: github.event_name == 'push'          # L186
      - name: Check uploaded package
        if: github.event_name == 'push'          # L190

github.event_name can only ever be release or workflow_dispatch here, so both steps are skipped on every run. The job succeeds without doing anything, which means the whole verify-before-publish safety net is quietly absent — the first real exercise of a wheel is when a user installs it from PyPI.

The install check names the wrong package

Line 193, inside that same (unreachable) step:

uv pip install --extra-index-url https://test.pypi.org/simple --upgrade de

de looks like a truncated xarray-sql. So even once the gate is fixed, the check would install some unrelated package and the import xarray_sql on the next line would pass or fail for reasons unconnected to the build.

Suggestion

Either drop the TestPyPI round trip, or make it reachable — and consider verifying the artifact locally instead, which needs no second index and no token:

      - name: Install the built wheel and exercise it
        run: |
          uv venv --python 3.10
          uv pip install --no-index --find-links dist xarray-sql
          uv run python -c "import xarray_sql; print(xarray_sql.__version__)"

That runs on every trigger, catches a wheel that builds but does not import, and cannot be skipped by a stale event-name condition. A bad PyPI release can only be yanked, never replaced, so this is the last cheap place to catch one.

Happy to send a PR if useful.

Linguagem predominante
Python
Estrelas
142
Forks
19
Merge médio
1d 9h
PRs com merge (30d)
9

Preparar o ambiente

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.

Mais de xqlsystems/xarray-sql

Todas as issues de xqlsystems/xarray-sql

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

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