Skip to content

Modify get_externals.py to download binary dependencies from GitHub Releases #137604

@emmatyping

Description

@emmatyping

Feature or enhancement

Currently, upgrading the JIT build to LLVM 20 (#136895) is blocked on Windows because a file is too large to be checked in to cpython-bin-deps as it exceeds GitHub per-file limits.

As a workaround, I propose we upload the binaries to the GitHub Releases of cpython-bin-deps, and update get_externals.py to download binary dependencies from release assets. Sources will continue to be downloaded via git.

I have a proof of concept working in a branch main...emmatyping:cpython:windeps-via-releases, which uses the GitHub API to download the files. It downloads the assets from the releases I've uploaded here: https://github.com/emmatyping/cpython-bin-deps/releases. I'm going to wait to open a PR as I want to get some initial feedback on the idea and before CI builds will pass, the binaries would need to uploaded to the main cpython-bin-deps releases.

Note: this change is independent of https://discuss.python.org/t/pre-pep-redesigning-cpython-source-binary-dependencies/101824 and is a shorter term solution to unblock #136895

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-windowsbuildThe build process and cross-buildtype-featureA feature request or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions