<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch release-2.10
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/39034810492b9cc509cf5a33b972f08ccd2357a1">https://github.com/macports/macports-base/commit/39034810492b9cc509cf5a33b972f08ccd2357a1</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 39034810492b9cc509cf5a33b972f08ccd2357a1
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Mar 27 01:17:46 2025 +1100
<span style='display:block; white-space:pre;color:#404040;'> Actions: mirror improvements
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Mirror all release files.
</span><span style='display:block; white-space:pre;color:#404040;'> Handle prereleases correctly.
</span><span style='display:block; white-space:pre;color:#404040;'> Also deploy RELEASE_URL.
</span>---
.github/workflows/mirror.yml | 45 ++++++++++++++++++++++++++------------------
1 file changed, 27 insertions(+), 18 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/.github/workflows/mirror.yml b/.github/workflows/mirror.yml
</span><span style='display:block; white-space:pre;color:#808080;'>index 43da98a45..4cae51d68 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/.github/workflows/mirror.yml
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/.github/workflows/mirror.yml
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,33 +1,29 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name: "mirror base source"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name: "Mirror base files"
</span>
on:
release:
<span style='display:block; white-space:pre;background:#ffe0e0;'>- types: [released]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ types: [released, edited]
</span>
permissions:
contents: read
jobs:
build:
<span style='display:block; white-space:pre;background:#ffe0e0;'>- name: Mirror base source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name: Mirror base files
</span> concurrency:
group: mirror-${{ github.ref }}
runs-on: ubuntu-latest
steps:
<span style='display:block; white-space:pre;background:#ffe0e0;'>- - name: Fetch release source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- run: |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set -eu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MP_VERS="$(echo "$GITHUB_REF_NAME" | colrm 1 1)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SOURCE_FILE="MacPorts-${MP_VERS}.tar.bz2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SIG_FILE="${SOURCE_FILE}.sig"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DOWNLOAD_BASEURL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases/download/${GITHUB_REF_NAME}/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mkdir -p mpsource
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- curl -fL -o "./mpsource/${SOURCE_FILE}" "${DOWNLOAD_BASEURL}${SOURCE_FILE}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- curl -fL -o "./mpsource/${SIG_FILE}" "${DOWNLOAD_BASEURL}${SIG_FILE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - name: Fetch release files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uses: robinraju/release-downloader@v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fileName: '*'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tarBall: false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ zipBall: false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ out-file-path: 'mpfiles'
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- - name: Deploy release source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - name: Deploy release files
</span> env:
MIRROR_SSH_HOST: ${{ secrets.MIRROR_SSH_HOST }}
MIRROR_SSH_HOSTKEY: ${{ secrets.MIRROR_SSH_HOSTKEY }}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,9 +32,22 @@ jobs:
</span> run: |
set -eu
<span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "Uploading tarball for MacPorts $GITHUB_REF_NAME"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$MIRROR_SSH_KEY" > ssh_key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "Uploading files for MacPorts $GITHUB_REF_NAME"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ chmod -R a+rX mpfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ touch ssh_key
</span> chmod 0600 ssh_key
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$MIRROR_SSH_KEY" > ssh_key
</span> echo "$MIRROR_SSH_HOSTKEY" > ssh_known_hosts
export RSYNC_RSH="ssh -l $MIRROR_SSH_USER -i ssh_key -oUserKnownHostsFile=ssh_known_hosts -p 23"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rsync -av --progress ./mpsource/MacPorts-* "${MIRROR_SSH_HOST}:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$GITHUB_REF_NAME" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-rc*) SUBDIR="/testing" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-beta*) SUBDIR="/testing" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *) SUBDIR="" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rsync -av --progress --delay-updates ./mpfiles/ "${MIRROR_SSH_HOST}:pub/distfiles/MacPorts${SUBDIR}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "Updating RELEASE_URL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ curl -fL -o ./RELEASE_URL https://raw.githubusercontent.com/macports/macports-base/master/config/RELEASE_URL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ chmod a+r ./RELEASE_URL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rsync -av --delay-updates ./RELEASE_URL "${MIRROR_SSH_HOST}:pub/distfiles/MacPorts/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f ssh_key ssh_known_hosts
</span></pre><pre style='margin:0'>
</pre>