CI: publish faalt — wheel sha256 mismatch voor reeds gepubliceerde 0.2.0 #70
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Samenvatting
De
publish-workflow faalt in de stap "Publish to Gitea PyPI registry" met een sha256-mismatch op een versie die al in de registry staat:(De stap "Upload build artifacts" daarvoor faalt ook, maar die staat op
continue-on-error: trueen is dus niet de oorzaak van de job-failure — de echte failure is de publish-stap.)Root cause
In
.gitea/workflows/publish.ymlgebruikt de publish-stap:De bedoeling (zie comment):
--check-urllaat uv bestanden die al in de registry staan overslaan, zodat een main-push zónder versie-bump een schone no-op is i.p.v. een 409.Maar
--check-urlslaat een bestand alleen over als het byte-identiek is. Versie0.2.0is al een keer gepubliceerd, en deze run heeft0.2.0opnieuw gebouwd met een andere sha256. Python-wheels zijn standaard niet reproduceerbaar (o.a. zip-timestamps/metadata-volgorde), dus een rebuild van dezelfde versie levert een ander artifact op. uv ziet "zelfde bestandsnaam, andere hash" → weigert te skippen én weigert te overschrijven → exit 2.Kortom: zodra
mainopnieuw wordt gepusht zonder versie-bump, faalt de release gegarandeerd zolang de build niet reproduceerbaar is.Mogelijke fixes (in volgorde van voorkeur)
X.Y.Zopnieuw. Eventueel een guard toevoegen die de publish-stap faalt/skipt als de versie al in de registry bestaat (expliciete check vóóruv build), met een duidelijke melding "bump de versie".--check-url. Query de simple-index opaegis-gitea-mcp/0.2.0; bestaat die al → skip de publish als clean no-op (exit 0), in plaats van uv op de hash te laten klappen.SOURCE_DATE_EPOCHzetten (+ deterministische wheel-build) zodat een rebuild van dezelfde versie wél byte-identiek is en--check-urlz'n werk kan doen. Lost de directe symptoom op maar is fragieler dan optie 1/2.Acceptatiecriteria
Aangemaakt via de aegis-gitea MCP.