ha(ci): pre-check simple-индекса Gitea вместо --skip-existing (twine 7)

twine 7 запрещает --skip-existing для не-PyPI репозиториев
(UnsupportedConfiguration); workflow проверяет наличие версии в
simple-индексе и пропускает повторную публикацию.
This commit is contained in:
2026-09-29 16:00:13 +03:00
parent 24ada01ceb
commit 8a073d96a6
2 changed files with 14 additions and 4 deletions
+10 -1
View File
@@ -99,11 +99,20 @@ jobs:
OWNER="${REPO%%/*}"
GITEA_USER="${PYPI_USER:-${GITHUB_ACTOR:-git}}"
pip install --upgrade twine
# twine 7 не поддерживает --skip-existing для не-PyPI репозиториев,
# поэтому проверяем simple-индекс Gitea сами.
VERSION="$(basename "$(ls dist/pyfglair-*.tar.gz | head -1)" | sed -E 's/^pyfglair-(.+)\.tar\.gz$/\1/')"
INDEX="$SERVER/api/packages/$OWNER/pypi/simple/pyfglair/"
if curl -fsS -u "$GITEA_USER:$TOKEN" "$INDEX" | grep -q "pyfglair-${VERSION}-"; then
echo "Версия $VERSION уже опубликована — пропуск загрузки."
exit 0
fi
python -m twine upload \
--repository-url "$SERVER/api/packages/$OWNER/pypi" \
--username "$GITEA_USER" \
--password "$TOKEN" \
--skip-existing \
--non-interactive \
dist/*
echo "Опубликовано: $SERVER/api/packages/$OWNER/pypi/simple/pyfglair/"