diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 4da02771..b5b8cf37 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -11,6 +11,35 @@ on: jobs: + + update-version: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Update version.py + run: | + python update_version.py + + - name: Commit changes + run: | + git config --local user.email "moe@myhloli.com" + git config --local user.name "myhloli" + git add version.py + git commit -m "Update version.py with new version" + + - name: Push changes + env: + GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} + run: | + git push build: runs-on: ubuntu-latest diff --git a/setup.py b/setup.py index 7fda79d1..449362ef 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ import subprocess from setuptools import setup, find_packages +from magic_pdf.libs.version import __version__ def parse_requirements(filename): @@ -20,32 +21,10 @@ def parse_requirements(filename): return requires -def get_version(): - command = ["git", "describe", "--tags"] - try: - version = subprocess.check_output(command).decode().strip() - version_parts = version.split("-") - if len(version_parts) > 1 and version_parts[0].startswith("magic_pdf"): - return version_parts[1] - else: - raise ValueError(f"Invalid version tag {version}. Expected format is magic_pdf--released.") - except Exception as e: - print(e) - return "0.0.0" - - -def write_version_to_commons(version): - commons_path = os.path.join(os.path.dirname(__file__), 'magic_pdf', 'libs', 'version.py') - with open(commons_path, 'w') as f: - f.write(f'__version__ = "{version}"\n') - - if __name__ == '__main__': - version_name = get_version() - write_version_to_commons(version_name) setup( name="magic_pdf", # 项目名 - version=version_name, # 自动从tag中获取版本号 + version=__version__, # 自动从tag中获取版本号 packages=find_packages(), # 包含所有的包 install_requires=parse_requirements('requirements.txt'), # 项目依赖的第三方库 python_requires=">=3.9", # 项目依赖的 Python 版本 diff --git a/update_version.py b/update_version.py new file mode 100644 index 00000000..b5a2dcb3 --- /dev/null +++ b/update_version.py @@ -0,0 +1,22 @@ +import os +import subprocess + + +def get_version(): + command = ["git", "describe", "--tags"] + try: + version = subprocess.check_output(command).decode().strip() + version_parts = version.split("-") + if len(version_parts) > 1 and version_parts[0].startswith("magic_pdf"): + return version_parts[1] + else: + raise ValueError(f"Invalid version tag {version}. Expected format is magic_pdf--released.") + except Exception as e: + print(e) + return "0.0.0" + + +def write_version_to_commons(version): + commons_path = os.path.join(os.path.dirname(__file__), 'magic_pdf', 'libs', 'version.py') + with open(commons_path, 'w') as f: + f.write(f'__version__ = "{version}"\n') \ No newline at end of file