Commit 07f6c497 authored by 赵小蒙's avatar 赵小蒙

chanage update version logic

parent 1de37e4c
...@@ -11,6 +11,35 @@ on: ...@@ -11,6 +11,35 @@ on:
jobs: 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: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
......
...@@ -2,6 +2,7 @@ import os ...@@ -2,6 +2,7 @@ import os
import subprocess import subprocess
from setuptools import setup, find_packages from setuptools import setup, find_packages
from magic_pdf.libs.version import __version__
def parse_requirements(filename): def parse_requirements(filename):
...@@ -20,32 +21,10 @@ def parse_requirements(filename): ...@@ -20,32 +21,10 @@ def parse_requirements(filename):
return requires 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-<version>-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__': if __name__ == '__main__':
version_name = get_version()
write_version_to_commons(version_name)
setup( setup(
name="magic_pdf", # 项目名 name="magic_pdf", # 项目名
version=version_name, # 自动从tag中获取版本号 version=__version__, # 自动从tag中获取版本号
packages=find_packages(), # 包含所有的包 packages=find_packages(), # 包含所有的包
install_requires=parse_requirements('requirements.txt'), # 项目依赖的第三方库 install_requires=parse_requirements('requirements.txt'), # 项目依赖的第三方库
python_requires=">=3.9", # 项目依赖的 Python 版本 python_requires=">=3.9", # 项目依赖的 Python 版本
......
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-<version>-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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment