Skip to content

Commit 80b05e7

Browse files
committed
aws_ensure.sh: Setup $PATH/$MANPATH on macOS builders robustly
1 parent 636a4ce commit 80b05e7

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

ci/release/builders/aws_ensure.sh

+22-3
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,29 @@ init_remote_macos() {
250250
fi
251251
sleep 5
252252
done
253+
253254
sh_c ssh "$REMOTE_HOST" '"/bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""'
254-
sh_c ssh "$REMOTE_HOST" 'PATH="/usr/local/bin:/opt/homebrew/bin:\$PATH" brew update'
255-
sh_c ssh "$REMOTE_HOST" 'PATH="/usr/local/bin:/opt/homebrew/bin:\$PATH" brew upgrade'
256-
sh_c ssh "$REMOTE_HOST" 'PATH="/usr/local/bin:/opt/homebrew/bin:\$PATH" brew install go rsync'
255+
256+
if sh_c ssh "$REMOTE_HOST" uname -m | grep -qF arm64; then
257+
shellenv=$(sh_c ssh "$REMOTE_HOST" /opt/homebrew/bin/brew shellenv)
258+
else
259+
shellenv=$(sh_c ssh "$REMOTE_HOST" /usr/local/bin/brew shellenv)
260+
fi
261+
if ! echo "$shellenv" | sh_c ssh "$REMOTE_HOST" "IFS= read -r regex\; \"grep -qF \\\"\\\$regex\\\" ~/.zshrc\""; then
262+
echo "$shellenv" | sh_c ssh "$REMOTE_HOST" "\"(echo && cat) >> ~/.zshrc\""
263+
fi
264+
265+
# macOS is a joke.
266+
sh_c ssh "$REMOTE_HOST" '"rm -f ~/.ssh/environment"'
267+
sh_c ssh "$REMOTE_HOST" '"echo PATH=\$HOME/.local/bin:\$(. ~/.zshrc && echo "\$PATH") >\$HOME/.ssh/environment"'
268+
sh_c ssh "$REMOTE_HOST" '"echo MANPATH=\$HOME/.local/share/man:\$(. ~/.zshrc && echo "\$MANPATH") >>\$HOME/.ssh/environment"'
269+
270+
sh_c ssh "$REMOTE_HOST" "sudo sed -i.bak '\"s/#PermitUserEnvironment no/PermitUserEnvironment yes/\"' /etc/ssh/sshd_config"
271+
sh_c ssh "$REMOTE_HOST" "sudo launchctl stop com.openssh.sshd"
272+
273+
sh_c ssh "$REMOTE_HOST" brew update
274+
sh_c ssh "$REMOTE_HOST" brew upgrade
275+
sh_c ssh "$REMOTE_HOST" brew install go rsync
257276
}
258277

259278
main "$@"

ci/sub

0 commit comments

Comments
 (0)