Я пытался отправить пакет из CI напрямую в pypi после успешной сборки. Я пробовал несколько инструментов, скажем "setuptools-scm", все работает хорошо, и я получаю автоматическое изменение версии на основе моих тегов, таких как package-0.0.2.post11-py3-none-any.whl
в моем локальном.
Когда я нажимаю тот же код как часть действий github (команда Run python3 setup.py sdist bdist_wheel
), я не вижу, чтобы версии обновлялись, и всегда получаю package-0.0.0-py3-none-any.whl
Ниже приведен фрагмент setup.py
setuptools.setup(
name="package",
use_scm_version=True,
setup_requires=['setuptools_scm']
Ymlfile:
publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install scm version
run: >-
python -m
pip install
setuptools-scm==4.1.2
- name: Install wheel
run: >-
python -m
pip install
wheel==0.34.2
- name: Build a binary wheel and a source tarball
run: >-
python3 setup.py sdist bdist_wheel
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.test_pypi_password }}
repository_url: https://test.pypi.org/legacy/
- name: Publish distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.pypi_password }}
Pyproject.toml
# pyproject.toml
[build-system]
requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4"]
[tool.setuptools_scm]
write_to = "pkg/version.py"
Я не понимаю, что я здесь делаю не так. Может ли кто-нибудь помочь исправить это?
Благодарность
1 ответ
Действие - uses: actions/checkout@v2
не извлекает теги при оформлении заказа. Пришлось дополнительно добавить строки ниже для извлечения тегов из git
publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install scm version
run: >-
python -m
pip install
versiontag
- name: Install wheel
run: >-
python -m
pip install
wheel==0.34.2
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.