ci: update structure of wheel storage #3591
Open
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.
Overview
Previously, wheels were stored in AWS S3 as:
s3://bucket/builds/$COMMIT_HASH/$WHEEL_NAME
. The wheel name would be some name following the PEP 427 standard. You can have multiple wheels stored inside of/builds/$COMMIT_HASH
.Having multiple wheels stored inside of the
/builds/$COMMIT_HASH
meant that you would need to employ some additional logic to figure out:I.e., I'm running on Ubuntu 22.04 with glibc-v2.34, on an x86 machine. Therefore, I need to find a wheel inside of
/builds/$COMMIT_HASH
that hasx86
andmanylinux_2_34
in it.). This logic can be cumbersome.This PR proposes a new structure:
s3://bucket-name/builds/$COMMIT_HASH/$GHA_RUN_ID_$GHA_RUN_ATTEMPT/$WHEEL_NAME
. Inside of/builds/$COMMIT_HASH/$GHA_RUN_ID_$GHU_RUN_ATTEMPT
, there will always be at most 1 wheel. Using this new structure, you will not need to know the wheel-name; if you know the$COMMIT_HASH
, the$GHA_RUN_ID
and the$GHA_RUN_ATTEMPT
, you will always be able to locate the wheel (without having to perform any wheel-name logic).Note
This is a non-breaking change. Other workflows only grab the URL of a wheel, they don't observe the structure. Therefore, updating the structure should not affect the other workflows.