Skip to content

Commit 8ead7e2

Browse files
authored
Fix get-pip download where tags may not be available (#23353)
Changes to download get-pip: 1. Get the latest 5 versions of pip 2. Try and download `get-pip` using versions as tags from github 3. If download fails try again with another version.
1 parent 12940e3 commit 8ead7e2

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

python_files/download_get_pip.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,24 @@ def main(root):
3535
data = _get_package_data()
3636

3737
if PIP_VERSION == "latest":
38-
use_version = max(data["releases"].keys(), key=version_parser)
38+
# Pick latest 5 versions to try and get-pip
39+
sorted_versions = sorted(data["releases"].keys(), key=version_parser, reverse=True)[:5]
40+
downloaded = False
41+
while sorted_versions:
42+
use_version = sorted_versions.pop(0)
43+
try:
44+
print(f"Trying version: get-pip == {use_version}")
45+
_download_and_save(root, use_version)
46+
downloaded = True
47+
break
48+
except Exception as e:
49+
print(f"Failed to download get-pip == {use_version}: {e}")
50+
print(f"NExt attempt(s) with versions: {sorted_versions}")
51+
if not downloaded:
52+
raise Exception("Failed to download get-pip.py")
3953
else:
4054
use_version = PIP_VERSION
41-
42-
_download_and_save(root, use_version)
55+
_download_and_save(root, use_version)
4356

4457

4558
if __name__ == "__main__":

0 commit comments

Comments
 (0)