On Sun, 8 Sep 2024, Christoph M. Becker wrote:
All these problems could be solved, or at least mitigated, by setting
up a Github repository for the dependency builds and the series files.
The upload could be as simple as a cron'd `git pull` on the server.
All our websites, including PHP downloads, use the rsync server for
this. That server has a GIT checkout, and then the Web servers rsync
from there. This is superior because it means the *web servers* never
need the GIT checkout, solving duplication and permission issues. It
also means it is easy to set up mirrors (unofficial).
The only potential drawback I see would be the size of the repository.
This is already a major issue for the normal PHP downloads, which
currently sits at 15 GB.
While I believe the new repo would be way smaller than our
distribution repo[1], and we might exclude vc11 and vc15 builds, it
may still be too large for practical handling.
But in this case we can consider using Git LFS[2] which has been
developed to address this issue.
Github LFS isn't free though, once you get to large storage sizes (over
1GB) [1]. I also found it really fiddly when using it. As it's not free,
I don't think it qould qualify as something for using in an Open Source
project.
I don't believe GIT is a good fit for versioning binaries. Not for this,
nor the PHP distributions. I understand the history aspects are useful,
but it's never been designed for keeping binaries. It's not a file
management tool, but a source code tracking solution.
I also don't think Git LFS has been created for this either. It is
useful for *large files* in a repository, not *large repositories*.
Files can be maximum 2GB, which is plenty for DLLs and our releases.
[1] About billing for Git Large File Storage - GitHub Docs
What do you think? Would this require the RFC process?
I think it needs some good thinking through first. I also don't believe
the RFC system is something we need to use for deciding how to serve
files.
cheers,
Derick
--
https://derickrethans.nl | https://xdebug.org | https://dram.io
Author of Xdebug. Like it? Consider supporting me: Xdebug: Support
mastodon: @derickr@phpc.social @xdebug@phpc.social