Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte Adaptée aux débutants
#242 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
62/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
bash, github-actions, python, yaml
Domaine
ci-cd, release

Piste de recherche

Commence par .github/workflows/publish.yml : le job verify-built-dist comporte deux étapes (Publish package to TestPyPI et Check uploaded package) conditionnées par github.event_name == 'push', alors que le workflow ne se déclenche que sur release et workflow_dispatch. Confirme que ces étapes sont ignorées à chaque exécution, puis corrige la ligne d'installation qui nomme le mauvais paquet ('de' au lieu de xarray-sql). C'est terminé lorsque la condition est corrigée ou que les étapes sont remplacées par une installation locale du wheel et une vérification d'import, et que le job exécute réellement cette vérification.

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

Description

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.

Langage dominant
Python
Étoiles
142
Forks
19
Merge moyen
1 j 9 h
PR mergées (30 j)
9

Préparer son environnement

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.

Autres issues de xqlsystems/xarray-sql

Toutes les issues de xqlsystems/xarray-sql

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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