Нажатие на pypi через действия github: как управлять изменениями без обновления номера версии?

Можно использовать действия github для публикации в PyPI каждый раз, когда в основной ветке происходит обновление.

Например, можно использовать: https://github.com/marketplace/actions/publish-python-poetry-package

По уважительным причинам публикация на PyPI не удастся, если номер версии не будет обновлен («Ошибка HTTP 400: файл уже существует».). (уважительные причины объясняются здесь: https://pypi.org/help/#file-name-reuse)

Тем не менее, содержимое ветки master иногда может обновляться способами, которые не оправдывают обновления номера версии (например, если обновляются действия github, а не программное обеспечение).

Какой рекомендуемый способ справиться с этим и как это можно реализовать? Например, можно ли запустить действие github для публикации только в том случае, если есть обновление версии? или только если исходный код был обновлен? Или есть способ игнорировать ошибку Http 400 (т. е. не получать значок отказа, если эта ошибка возникает)?

🤔 А знаете ли вы, что...
Python используется в разработке игр с помощью библиотеки Pygame.


63
1

Ответ:

Решено

Как предложил @sinoroc, кажется подходящим для публикации в новом теге.

---
name: pypi_publish
on:
  push:
    tags:
      - '**'
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Build and publish to pypi
        uses: JRubics/[email protected]
        with:
          pypi_token: ${{ secrets.PYPI_TOKEN }}