Publish wheels to halide/pypi instead of pypi.halide-lang.org - #1
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
twine uploadtopypi.halide-lang.orgwithgh release create/uploadagainsthalide/pypi, taggedhalide-llvm@<version>.checkjob now looks for existing wheel filenames amonghalide/pypi'shalide-llvm@*release assets instead of scraping the old PyPI simple-index HTML page (same substring-match logic, different source).manifest.jsonsidecar (filename -> sha256) to each release so the generated index can include integrity hashes without downloading multi-hundred-MB wheels just to hash them.halide/pypi'srebuild-index.ymlafter publishing (no implicit webhook — see that repo's README for why).Why
pypi.halide-lang.orgis hosted on an MIT-operated OpenStack VM that turned out to be subject to intermittent, unpredictable border-security IP quarantines (confirmed via MIT CSAIL InfoSec: shared Azure/GitHub-Actions egress IPs occasionally get quarantined for unrelated scanning activity from other tenants, and MIT has no exception mechanism). Measured ~10% of CI runs hitting this over a 3-week audit.halide/pypimoves both the index and the actual files onto GitHub's own infrastructure (Releases + Pages), which CI already trusts and depends on.Test plan
halide/halide-wheel-deps(a smaller, fully-controlled repo) before writing this PR: releases created correctly,manifest.jsonhashes correct, generated index verified from the actual Pages artifact, explicit dispatch trigger confirmed working.workflow_dispatchrun on this branch against a cheap ref before merging, to confirm the full 8-platform matrix + version-tag extraction works for actualhalide-llvmwheels rather than just the smaller test package's wheels.pypi.halide-lang.orgDNS still points at the old MIT server (NameCheap cutover not yet done), so this only writes tohalide/pypifor now -- no production traffic is affected until DNS is switched over.