On Sun, 8 Sep 2024, Christoph M. Becker wrote:
> On 08.09.2024 at 16:58, Derick Rethans wrote:
>
> > 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.
>
> This is not about *how* to serve files, but rather *which* files to
> serve; for instance, I'm currently working on updating libpng, where
> we still ship v1.6.34 from Sep 29, 2017.
Ok, but I still don't see why you need an RFC for this? :-)
>
> Anyhow, coming back to my list of problems:
>
> (1) only few people can do these uploads
> (2) the process is not transparent
> (3) there is no history of the series
> (4) the process is prone to error
>
> If we only had the series files in a Github repository, (2) and (3)
> would be solved, and (4) at least partially.
>
> The workflow for updating a dependency might then look like:
>
> * someone submits a PR with updates to the series files and a link to
> the new dependency build on winlibs/winlib-builder (a PR template might
> be useful)
> * after some basic CI had been run, a notification is sent to those who
> can do the uploads to downloads.php.net (or to the rsync server)
> * one of these people can then check the PR, and if okay, upload the
> dependency builds
> * afterwards the PR is merged, and synced with the server
> * archiving no longer needed dependencies could be done on the server (a
> simple script should do; and it's not a very important task anyway, and
> maybe it shouldn't be done at all, so that older Git revisions of the
> series are still useable)
>
> While that would not solve problem (1), it would at least avoid having
> to ping some "random" people ("can you please upload?"), and if there is
> an appropriate PR template, some further issues with problem (4) could
> be resolved (e.g. do the series files refer to existing files?)
I know Shivam (https://github.com/php/web-downloads) has also been
working on doing automatic pulls of PECL builds onto the "downloads"
server.
The idea was to trigger a GitHub action to call to this API to then
download file file. Ideally the downloads server *pulls* files, as
uploading *to* it can't work through GHA as we require 2FA through a
jump host.
We'll have to have multiple Git repositories, and perhaps subdomain
names to make this all work.
The downloads.php.net site currently doesn't have any code yet, as I am
waiting for this 404 ErrorHandler to be included in it:
<?php
if (preg_match('/Win32-vc/', $_SERVER['REQUEST_URI'])) {
$fixed = str_replace( 'Win32-vc', 'Win32-VC',
$_SERVER['REQUEST_URI'] );
header("Location: $fixed", true, 301);
exit();
}
header('Location: /', true, 404);
Ideally, instead of having downloads.php.net/~windows, we have
downloads.php.net/windows which is a Git repository for the series
files, but it is probably better if it's all in that same web-downloads
repository.
cheers,
Derick
--
https://derickrethans.nl | https://xdebug.org | https://dram.io
Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/support
mastodon: @[email protected] @[email protected]