Opened 16 months ago

Closed 4 months ago

#70606 closed enhancement (fixed)

Automatically publish base source releases to distfiles server

Reported by: jmroot (Joshua Root) Owned by: admin@…
Priority: Normal Milestone:
Component: server/hosting Version:
Keywords: Cc:
Port:

Description

Similar to #70365, downloading the source tarball for selfupdate from GitHub is not always possible. Older systems currently have to use the rsync fallback, so we'll need to ensure that new releases become available via plain HTTP in a timely fashion before we can remove that fallback.

Change History (5)

comment:1 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)

Yes I agree with mirroring these files automatically but I would like to mirror all of the release assets not just the source tarball.

For alpha/beta/rc releases the files should go in the testing folder.

comment:2 in reply to:  1 Changed 16 months ago by jmroot (Joshua Root)

Replying to ryandesign:

Yes I agree with mirroring these files automatically but I would like to mirror all of the release assets not just the source tarball.

That's fine of course. :)

comment:3 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)

I've put the 2.10.0 and 2.10.1 files on the distfiles server manually for now.

comment:4 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

The 2.10.2 files went up last month. The 2.10.3 and 2.10.4 files went up today.

To document the process I currently do manually:

In a web browser, visit https://github.com/macports/macports-base/releases. Click "Show All Assets". For each asset (except the two "Source Code" links at the bottom which are automatically generated by GitHub), click the asset to download it.

Find the date and time of the release. For example, to the left of the 2.10.4 release it currently says "yesterday". Mousing over "yesterday" reveals the actual release date in my local time, Oct 31, 2024, 6:41 PM CDT.

In the Terminal, go to the Downloads folder:

cd ~/Downloads

Delete the com.apple.quarantine and other extended attributes the browser added:

xattr -c MacPorts-*

The modification time of the files will have been set to the download time. Change it to the time the release was created:

touch -t 202410311841 MacPorts-*

Copy the files to the server:

scp -Cpr MacPorts-* xxx@build:/tmp

ssh to the server:

ssh xxx@build

Go to the /tmp directory:

cd /tmp

Change the ownership of the files to the buildbot user:

sudo chown buildbot:buildbot MacPorts-*

Move the files to the right directory:

sudo mv -v MacPorts-* /Volumes/RAID/opt/local/var/rsync/macports/distfiles/MacPorts/

comment:5 Changed 4 months ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

This is implemented and seems to be working: https://github.com/macports/macports-base/blob/master/.github/workflows/mirror.yml

I'll close the ticket, though the results won't be visible until we switch the rsync origin over to the new server.

Note: See TracTickets for help on using tickets.