Sfoglia il codice sorgente

setup从tag中自动获取版本号

赵小蒙 1 anno fa
parent
commit
a706743372
2 ha cambiato i file con 25 aggiunte e 3 eliminazioni
  1. 9 1
      .github/workflows/python-package.yml
  2. 16 2
      setup.py

+ 9 - 1
.github/workflows/python-package.yml

@@ -20,21 +20,29 @@ jobs:
         python-version: ["3.10"]
 
     steps:
-    - uses: actions/checkout@v4
+    - name: Checkout code
+      uses: actions/checkout@v4
+      with:
+        fetch-depth: 0
+
     - name: Set up Python ${{ matrix.python-version }}
       uses: actions/setup-python@v5
       with:
         python-version: ${{ matrix.python-version }}
+
     - name: Install dependencies
       run: |
         python -m pip install --upgrade pip
         if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
+
     - name: Install wheel
       run: |
         python -m pip install wheel
+
     - name: Build wheel
       run: |
         python setup.py bdist_wheel
+
     - name: Upload artifact
       uses: actions/upload-artifact@v4
       with:

+ 16 - 2
setup.py

@@ -1,5 +1,5 @@
 from setuptools import setup, find_packages
-
+import subprocess
 def parse_requirements(filename):
     with open(filename) as f:
         lines = f.read().splitlines()
@@ -15,12 +15,26 @@ 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-<version>-released.")
+    except Exception as e:
+        print(e)
+        return "0.0.0"
+
 
 requires = parse_requirements('requirements.txt')
 
 setup(
     name="magic_pdf",  # 项目名
-    version="0.1.3",  # 版本号
+    # version="0.1.3",  # 版本号
+    version=get_version(),  # 自动从tag中获取版本号
     packages=find_packages(),  # 包含所有的包
     install_requires=requires,  # 项目依赖的第三方库
     python_requires=">=3.9",  # 项目依赖的 Python 版本