<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/830bb6183eaeb53cbce2cb9ca3b4cc4285db2960">https://github.com/macports/macports-base/commit/830bb6183eaeb53cbce2cb9ca3b4cc4285db2960</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 830bb6183eaeb53cbce2cb9ca3b4cc4285db2960
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Mar 24 03:10:52 2025 +1100
<span style='display:block; white-space:pre;color:#404040;'> CI: add job to deploy release sources to mirror
</span>---
.github/workflows/mirror.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/.github/workflows/mirror.yml b/.github/workflows/mirror.yml
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 000000000..43da98a45
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,44 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name: "mirror base source"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+on:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ release:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ types: [released]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+permissions:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ contents: read
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+jobs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name: Mirror base source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ concurrency:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ group: mirror-${{ github.ref }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ runs-on: ubuntu-latest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ steps:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - name: Fetch release source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ run: |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set -eu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MP_VERS="$(echo "$GITHUB_REF_NAME" | colrm 1 1)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SOURCE_FILE="MacPorts-${MP_VERS}.tar.bz2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SIG_FILE="${SOURCE_FILE}.sig"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DOWNLOAD_BASEURL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases/download/${GITHUB_REF_NAME}/"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkdir -p mpsource
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ curl -fL -o "./mpsource/${SOURCE_FILE}" "${DOWNLOAD_BASEURL}${SOURCE_FILE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ curl -fL -o "./mpsource/${SIG_FILE}" "${DOWNLOAD_BASEURL}${SIG_FILE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - name: Deploy release source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ env:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MIRROR_SSH_HOST: ${{ secrets.MIRROR_SSH_HOST }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MIRROR_SSH_HOSTKEY: ${{ secrets.MIRROR_SSH_HOSTKEY }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MIRROR_SSH_USER: ${{ secrets.MIRROR_SSH_USER }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ run: |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set -eu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "Uploading tarball for MacPorts $GITHUB_REF_NAME"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$MIRROR_SSH_KEY" > ssh_key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ chmod 0600 ssh_key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$MIRROR_SSH_HOSTKEY" > ssh_known_hosts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ export RSYNC_RSH="ssh -l $MIRROR_SSH_USER -i ssh_key -oUserKnownHostsFile=ssh_known_hosts -p 23"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rsync -av --progress ./mpsource/MacPorts-* "${MIRROR_SSH_HOST}:"
</span></pre><pre style='margin:0'>
</pre>