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: @derickr@phpc.social @xdebug@phpc.social

Reply via email to