-
Notifications
You must be signed in to change notification settings - Fork 27.4k
Provide download of releases with all submodules #62708
Description
🚀 Feature
Add tarballs to Github releases which contain the current source code and all submodules, i.e. the result of a recursive clone/checkout bundles as a tarball.
Motivation
The current Github releases contain only the default github tarballs, which is basically a shallow checkout of the repository. This means it is basically useless for building PyTorch from source.
It would be a lot easier for consumers/sys admins if there was a single, tagged and checksummable tarball for each release which one can simply download and unpack.
This works very well for all github repos by default, unless they contain submodules.
The common approach followed by others already is to provide explicit tarballs which include the submodules in the releases.
This can be done in a fully automated way using github actions.
Bonus: It avoids issues such as #62657 as people can just download that one file.
Pitch
- Add github action which runs on tag or release (depending on your workflow)
- Recursively checkout the tag for that release (make sure it is a tag and not a branch, but the GHA checkout action will do that already)
- Create a tarball and add it to the release
Example of such a CD action is e.g. at https://github.com/Return-To-The-Roots/s25client/blob/a24429ffa9426557304144d523729013da3799f4/.github/workflows/release.yml which creates a release automatically on each tag push.
Final note: Please name the tarballs in a quasi standard way %(name)s-%(version)s.tar.gz, e.g. pytorch-1.9.0.tar.gz. Lot's of other software does this and it simplifies maintainers jobs :)
cc @ezyang @gchanan @zou3519 @bdhirsh @jbschlosser @anjali411 @seemethere @malfet @walterddr