Github Actions 不会发生 Python 自动版本控制

问题描述 投票:0回答:1

我有一个自动化的 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"

在此先感谢您的帮助!

python github-actions pypi
1个回答
0
投票

我对此很陌生,但基于这篇文章: 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

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.