Browse Source

Fix 'Build and release one taipy sub-package' - attempt 1

Fabien Lelaquais 2 months ago
parent
commit
93e98a4fa0

+ 1 - 14
.github/workflows/build-and-release-single-package.yml

@@ -142,25 +142,12 @@ jobs:
       - name: Build Package Structure
       - name: Build Package Structure
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         run: |
         run: |
-          python tools/release/build_package_structure.py  ${{ github.event.inputs.target_package }}
-
-      - name: Copy Taipy Logger
-        if: github.event.inputs.target_package == 'common'
-        run: |
-          cp -r taipy/logger/. ${{ steps.set-variables.outputs.package_dir }}/taipy/logger
-
-      - name: Copy _cli folder
-        run: |
-          cp -r taipy/_cli/. ${{ steps.set-variables.outputs.package_dir }}/taipy/_cli
+          python tools/release/build_package_structure.py ${{ github.event.inputs.target_package }}
 
 
       - name: Build package
       - name: Build package
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         run: |
         run: |
           python -m build
           python -m build
-
-      - name: Rename files
-        working-directory: ${{ steps.set-variables.outputs.package_dir }}
-        run: |
           for file in ./dist/*; do mv "$file" "${file//_/-}"; done
           for file in ./dist/*; do mv "$file" "${file//_/-}"; done
 
 
       - name: Create tag and release
       - name: Create tag and release

+ 21 - 10
tools/release/fetch_latest_versions.py

@@ -42,32 +42,43 @@ def fetch_latest_releases_from_github(dev=False, target_version="", target_packa
 
 
 
 
 def fetch_latest_releases_from_pypi(dev=False, target_version="", target_package=""):
 def fetch_latest_releases_from_pypi(dev=False, target_version="", target_package=""):
-    releases = {}
-
-    for pkg in ["common", "core", "gui", "rest", "templates"]:
-        url = f"https://pypi.org/pypi/taipy-{pkg}/json"
+    def retrieve_package_version(package: str, dev: bool) -> str:
+        url = f"https://pypi.org/pypi/{package}/json"
         response = requests.get(url)
         response = requests.get(url)
         resp_json = response.json()
         resp_json = response.json()
         versions = list(resp_json["releases"].keys())
         versions = list(resp_json["releases"].keys())
         versions.reverse()
         versions.reverse()
+        return next(v for v in versions if dev or ".dev" not in v)
 
 
-        for ver in versions:
-            if not dev and ".dev" in ver:
-                continue
-            releases[pkg] = ver
-            break
+    releases = {
+        pkg: retrieve_package_version(f"taipy-{pkg}", dev) for pkg in ["common", "core", "gui", "rest", "templates"]
+    }
+    releases["taipy"] = retrieve_package_version("taipy", dev)
     releases[target_package] = target_version
     releases[target_package] = target_version
     return releases
     return releases
 
 
 
 
+def usage() -> None:
+    print(f"Usage: {sys.argv[0]} <dev_version> <is_pypi> <target_version> <target_package>")  # noqa: T201
+    print("   <release_type> must be one of 'dev' or 'production'")  # noqa: T201
+    print("   <from_pypi> must be 'true' or 'false', indicating if dependencies should be pulled out from Pypi")  # noqa: T201
+    print("   <target_version> must of the form: <Maj>.<Min>.<Tech>[.dev*]. Target package version")  # noqa: T201
+    print("   <target_package> must be a Taipy package name")  # noqa: T201
+
+
 if __name__ == "__main__":
 if __name__ == "__main__":
+    if len(sys.argv) < 5:
+        usage()
+        raise ValueError("Version does not contain suffix .dev")
     is_dev_version = sys.argv[1] == "dev"
     is_dev_version = sys.argv[1] == "dev"
     is_pypi = sys.argv[2] == "true"
     is_pypi = sys.argv[2] == "true"
     target_version = sys.argv[3]
     target_version = sys.argv[3]
     target_package = sys.argv[4]
     target_package = sys.argv[4]
+    if target_package.startswith("taipy-"):
+        target_package = target_package[6:]
 
 
     if is_dev_version and ".dev" not in target_version:
     if is_dev_version and ".dev" not in target_version:
-        raise Exception("Version does not contain suffix .dev")
+        raise ValueError("Version does not contain suffix .dev")
 
 
     versions = {}
     versions = {}