我有一个自动化的 Github Actions 工作流,它应该使用发布标签的版本构建并上传到 pypi。
但是,无论标签如何,该操作都会构建版本为 0.0.0 的包 (看跑)
以下是构建文件:
GA 工作流程
name: Upload Python Package
on:
release:
types: [published]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
设置.py
import setuptools
if __name__ == "__main__":
setuptools.setup()
设置.cfg
[metadata]
name = pyenergydiagram
author = Remi Delaporte-Mathurin
author_email = [email protected]
description = Plot potential energy diagram in python
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/RemDelaporteMathurin/pyEnergyDiagram
license = MIT
license_file = LICENSE
classifiers =
Natural Language :: English
Topic :: Scientific/Engineering
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
License :: OSI Approved :: MIT License
Operating System :: OS Independent
project_urls =
Source = https://github.com/RemDelaporteMathurin/pyEnergyDiagram
Tracker = https://github.com/RemDelaporteMathurin/pyEnergyDiagram/issues
[options]
packages = find:
python_requires= >=3.6
install_requires =
numpy >= 1.22
matplotlib >= 3.5.1
scipy >= 1.8
[options.extras_require]
tests =
pytest >= 5.4.3
项目.toml
[build-system]
requires = [
"setuptools >= 45",
"wheel",
"setuptools_scm[toml] >= 6.2",
"setuptools_scm_git_archive",
]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
write_to = "pyenergydiagram/_version.py"
在此先感谢您的帮助!
我对此很陌生,但基于这篇文章: https://medium.com/@VersuS_/automate-pypi-releases-with-github-actions-4c5a9cfe947d
可能更改您的 setup.py 以包括:
if __name__ == "__main__":
setuptools.setup(version={{VERSION_PLACEHOLDER}})
然后编辑您的 GA 以包括:
- name: Extract tag name
id: tag
run: echo ::set-output name=TAG_NAME::$(echo $GITHUB_REF | cut -d / -f 3)
- name: Update version in setup.py
run: >-
sed -i "s/{{VERSION_PLACEHOLDER}}/${{ steps.tag.outputs.TAG_NAME }}/g" setup.py
希望有帮助!