Skip to content

Provide download of releases with all submodules #62708

@Flamefire

Description

@Flamefire

🚀 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    high prioritymodule: binariesAnything related to official binaries that we release to usersoncall: relengIn support of CI and Release EngineeringtriagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate module

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions