Skip to content

Commit 0091f42

Browse files
authored
Merge pull request #127 from polywrap/dev
prep 0.1.0a17 (attempt y) | /workflows/release-pr
2 parents 03acde4 + 13322bc commit 0091f42

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

scripts/publish_packages.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import os
77
from pathlib import Path
88
import subprocess
9-
import logging
109
from time import sleep
1110
import tomlkit
1211
from utils import is_package_published
@@ -43,7 +42,7 @@ def patch_version_with_retries(version: str, retries: int = 30):
4342
sleep(10)
4443

4544

46-
def wait_for_package_publish(package: str, version: str) -> None:
45+
def wait_for_pypi_publish(package: str, version: str) -> None:
4746
seconds = 0
4847
increment = 5
4948
while seconds < 600: # Wait for 10 minutes
@@ -58,6 +57,24 @@ def wait_for_package_publish(package: str, version: str) -> None:
5857
raise TimeoutError(f"Package {package} with version {version} is not published after 10 minutes")
5958

6059

60+
def wait_for_poetry_available(package: str, version: str) -> None:
61+
seconds = 0
62+
increment = 5
63+
while seconds < 600: # Wait for 10 minutes
64+
try:
65+
pacver = subprocess.check_output(["poetry", "search", f"{package}@{version}", "|", "grep", package], encoding="utf-8")
66+
if version in pacver:
67+
logger.info(f"{package} with version {version} is available with poetry.")
68+
break
69+
except subprocess.CalledProcessError:
70+
sleep(increment)
71+
seconds += increment
72+
logger.info(f"Waiting for poetry to be available for {seconds} seconds")
73+
74+
if seconds == 600:
75+
raise TimeoutError(f"Package {package} with version {version} is not available on poetry after 10 minutes")
76+
77+
6178
def publish_package(package: str, version: str) -> None:
6279
if is_package_published(package, version):
6380
logger.warning(f"Skip publish: Package {package} with version {version} is already published")
@@ -71,7 +88,8 @@ def publish_package(package: str, version: str) -> None:
7188
except subprocess.CalledProcessError:
7289
logger.error(f"Failed to publish {package}")
7390

74-
wait_for_package_publish(package, version)
91+
wait_for_pypi_publish(package, version)
92+
wait_for_poetry_available(package, version)
7593

7694

7795
if __name__ == "__main__":

0 commit comments

Comments
 (0)