Skip to content

Commit 29d269e

Browse files
committed
Merge remote-tracking branch 'Mixxxdj/2.6' into Merge2.6into2.7
2 parents aecdb15 + b5d87eb commit 29d269e

File tree

2 files changed

+16
-24
lines changed

2 files changed

+16
-24
lines changed

.github/deploy.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#!/bin/bash
1+
#!/usr/bin/env bash
22
#
33
# Deploy artifacts (e.g. dmg, deb files) built by CI to downloads.mixxx.org.
44

5-
set -eu -o pipefail
5+
set -Eeuo pipefail
66

77
[ -z "${SSH_HOST}" ] && echo "Please set the SSH_HOST env var." >&2 && exit 1
88
[ -z "${SSH_KEY}" ] && echo "Please set the SSH_KEY env var." >&2 && exit 1
@@ -15,15 +15,19 @@ set -eu -o pipefail
1515
SSH="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
1616
GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)"
1717
DEST_PATH="${DESTDIR}/${GIT_BRANCH}/${OS}"
18-
TMP_PATH="${DESTDIR}/.tmp/${UPLOAD_ID}"
18+
TMP_PATH="../../.tmp/${UPLOAD_ID}"
1919

20-
echo "Deploying to $TMP_PATH, then to $DEST_PATH."
20+
echo "Deploying to ${TMP_PATH}, then to ${DEST_PATH}."
2121

22-
# Start SSH agent
23-
ssh-agent -a ${SSH_AUTH_SOCK} > /dev/null
22+
eval "$(ssh-agent -s)" >/dev/null
23+
24+
cleanup() {
25+
eval "$(ssh-agent -k)" >/dev/null
26+
}
27+
trap cleanup EXIT
2428

2529
# Add private key to SSH agent
26-
ssh-add - <<< "${SSH_KEY}"
30+
ssh-add - <<< "${SSH_KEY}" >/dev/null
2731

2832
# realpath does not exist on macOS
2933
command -v realpath >/dev/null 2>&1 || realpath() {
@@ -50,13 +54,9 @@ do
5054
popd
5155

5256
FILEEXT="${FILENAME##*.}"
57+
58+
# Ensure directories exist
59+
${SSH} "${SSH_USER}@${SSH_HOST}" "mkdir -p '${DEST_PATH}' '${DEST_PATH}/${TMP_PATH}'"
5360

54-
rsync -e "${SSH}" --rsync-path="mkdir -p ${TMP_PATH} && rsync" -r --delete-after "${FILEPATH}" "${FILEPATH_HASH}" "${SSH_USER}@${SSH_HOST}:${TMP_PATH}"
55-
56-
# Move from the temporary path to the final destination.
57-
${SSH} "${SSH_USER}@${SSH_HOST}" << EOF
58-
trap 'rm -rf "${TMP_PATH}"' EXIT
59-
mkdir -p "${DEST_PATH}" &&
60-
mv "${TMP_PATH}/${FILENAME}" "${TMP_PATH}/${FILENAME_HASH}" "${DEST_PATH}"
61-
EOF
61+
rsync -e "${SSH}" --partial --partial-dir="${TMP_PATH}" --delay-updates -r "${FILEPATH}" "${FILEPATH_HASH}" "${SSH_USER}@${SSH_HOST}:${DEST_PATH}"
6262
done

.github/workflows/build.yml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
- name: "[macOS] Install dependencies for nuget & vcpkg"
9797
if: runner.os == 'macOS'
9898
run: |
99-
brew update && brew install automake nasm autoconf-archive nuget ${{ matrix.brew_extra }}
99+
brew update-if-needed && brew install automake nasm autoconf-archive nuget ${{ matrix.brew_extra }}
100100
sudo xcode-select --switch "$DEVELOPER_DIR"
101101
xcrun --show-sdk-version
102102
@@ -280,23 +280,15 @@ jobs:
280280
# Use retry loop to work around intermittent transfer issue
281281
uses: nick-fields/retry@9417ab499314dfe692edb043ded2ff9b3f5f0a68 # v3
282282
with:
283-
shell: bash
284283
max_attempts: 10
285284
timeout_minutes: 20
286285
retry_wait_seconds: 5
287286
command: |
288287
cd ${{ matrix.vcpkg_path }}
289288
.github/deploy.sh ${{ env.DEPS_BASE_NAME }}-${{ env.MIXXX_VERSION }}-${{ matrix.deps_name }}-${{ steps.vars.outputs.sha_short }}.zip
290-
on_retry_command: |
291-
if [[ "$RUNNER_OS" == "Windows" ]]; then
292-
powershell -Command "Get-Process ssh-agent -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue"
293-
else
294-
killall ssh-agent || true
295-
fi
296289
env:
297290
DESTDIR: public_html/downloads/dependencies
298291
OS: ${{ runner.os }}
299-
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
300292
SSH_HOST: downloads-hostgator.mixxx.org
301293
SSH_KEY: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY }}
302294
SSH_PASSWORD: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD }}

0 commit comments

Comments
 (0)