ha(ci): pre-check simple-индекса Gitea вместо --skip-existing (twine 7)
twine 7 запрещает --skip-existing для не-PyPI репозиториев (UnsupportedConfiguration); workflow проверяет наличие версии в simple-индексе и пропускает повторную публикацию.
This commit is contained in:
@@ -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/"
|
||||
|
||||
Reference in New Issue
Block a user