CI: publish to PyPI with trusted publishing instead of pinned flit and a long-lived token
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 65/100
Direzione di ricerca
Start with the publish job in .github/workflows/ci.yml and review how it depends on the test matrix and the manual tag dispatch path from #974. Confirm the PyPI publisher registration, then run the workflow through a release path using python -m build and pypa/gh-action-pypi-publish. Done means a tagged release publishes successfully through trusted publishing and PYPI_TOKEN is removed.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The v0.12.0 publish failed on its first attempt (run 35960284940): the job installs flit~=3.6, which resolves to flit 3.12.0, and that release only requires flit_core>=3.12.0 with no upper bound, so pip paired it with flit_core 4.1.0 (the 4.x series started in August 2026), which dropped the gen_setup_py argument flit 3.x still passes. #974 pinned both to the 3.12 series and added a workflow_dispatch path that publishes an existing tag, and a manual dispatch (run 35970324623) got 0.12.0 out. The job still depends on version pins that will need attention again, and on the long-lived PYPI_TOKEN repository secret.
Proposal. Build with python -m build and upload with pypa/gh-action-pypi-publish using PyPI trusted publishing (OIDC). That removes the flit pins, retires the token, and the id-token: write permission makes it explicit which job may publish. The manual dispatch path from #974 should be kept: it checks out refs/tags/<input>, so only an existing tag can be published.
Steps.
- On the PyPI project, register a GitHub publisher: owner
QuantEcon, repositoryQuantEcon.py, workflowci.yml, optionally apypienvironment if we want an approval gate before upload. This needs a PyPI project owner. - In
.github/workflows/ci.yml, give the publish jobpermissions: id-token: write(andcontents: read), replace the "Install flit" and "Build and publish" steps withpip install build,python -m build, and thepypa/gh-action-pypi-publishaction. - After the next release has gone through the new path, delete
PYPI_TOKENfrom the repository secrets.
The publish job is gated on the test matrix (needs: [tests]) and that should stay as it is.
- Lingua principale
- Python
- Stelle
- 2.4k
- Fork
- 2.3k
- Merge medio
- 1g 2h
- PR unite (30g)
- 10
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di QuantEcon/QuantEcon.py
-
TST: seed the starting point in test_rotated_hyper_ellipsoidForse già presa @jadhavgaurav l’ha presa 14 giorni fa. Apertatests
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 94/100
QuantEcon/QuantEcon.py#993 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
QuantEcon/QuantEcon.py#988 ·
I maintainer di solito rispondono entro 1 giorno
-
BUG: solve_discrete_riccati_system returns NaN instead of raising when the iteration overflowsForse già presa @mayuriphad l’ha presa 17 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
QuantEcon/QuantEcon.py#986 ·
I maintainer di solito rispondono entro 1 giorno
-
DOC: Document the commit-message prefix conventionForse già presa @nicolasdmolina l’ha presa 54 giorni fa. Apertadocumentation good first issue low-priority
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
QuantEcon/QuantEcon.py#902 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
documentation security
Difficoltà 2/5 1-2 giorni Idoneità per principianti 68/100
QuantEcon/QuantEcon.py#891 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di QuantEcon/QuantEcon.py
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
elviskahoro/sdk-python-attio#144 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
RenyiELBO raises TypeError when model has no sample sitesForse già presa @alibb007 l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno