Replies: 3 comments
-
I agree. This also effects build scripts that download the source from the repository but then fail to build because the submodules are not included with the release. The only other work around is for the build script to download the submodules during the build process. This should be at least documented or a warning when publishing releases to have this added to the repository maintainers build script. |
Beta Was this translation helpful? Give feedback.
-
Also, as the time goes more and more of github releases in the current form will become broken. It's naive to assume that the referenced dependencies somehow will always be around. |
Beta Was this translation helpful? Give feedback.
-
The new PHP Extension Installer relies on GitHub-generated Zip archive to download the source and compile locally. This already works very well for PHP package ( An issue is that some extensions relies on git submodules to include other C libraries. This is the case of the MongoDB PHP Driver. I would like to have an option to include submodules in ZIP archives, that would solve the problem mentioned here: php/pie#39 |
Beta Was this translation helpful? Give feedback.
-
Feature Request: Releases should include necessary submodules by default (Fix or document)
Going back to at least 2012, and continuing today, people complain and are surprised to discover that generating an ordinary GitHub "Release" fails to include necessary submodules which are clearly present in the repository. This defeats the purpose of a release being something people can download and run pretty simply. (Releases from repos without submodules can be downloaded, unzipped, and immediately work as intended.)
So either the end user has to be given additional complex instructions (which they may not be sophisticated enough to follow), or else the maintainer has to build a complete zip manually (or cobble together some automation) and then add it to the release.
The normal 'release' process should just include the content of submodules by default.
People have long been surprised and annoyed by this in their various projects:
2012 - https://blogs.harvard.edu/acts/2012/10/18/github-zip-doesnt-include-submodules/#comment-975
2014 - adobe/brackets#9068
2019 - GitHub release tarballs do not include submodules Goddard-Fortran-Ecosystem/pFUnit#101
2021 - Provide download of releases with all submodules pytorch/pytorch#62708
Either Fix this -- so a release with submodules is Complete by Default -- or at least (worse-case) Document the reasons why "releases" aren't and should not be complete. Explain it on the main documentation pages like https://docs.github.com/en/repositories/releasing-projects-on-github.
And explain workarounds, such as...
"...manually create a complete .zip yourself on your own computer, then 'Edit' your release, and upload your complete .zip back into the release."
Or perhaps... "use an Action such as ..." and provide a (simple!) example of how to do it.
(I think "complete by default" is best.)
Thanks!
Similar discussion: This recent discussion https://github.com/orgs/community/discussions/20797 sounds similar, but I think he is referring to the "Download ZIP" option under the regular 'Code' dropdown, whereas I am referring to the automatic .zip created during the default 'Release' process. They might have the same underlying implementation, so perhaps fixing one would fix both problems.
Beta Was this translation helpful? Give feedback.
All reactions