fix: entrypoint.sh is not executable, every run fails with exit 126 #1
2 changed files with 15 additions and 9 deletions
|
|
@ -41,7 +41,7 @@ runs:
|
||||||
fi
|
fi
|
||||||
- name: Deploy
|
- name: Deploy
|
||||||
shell: sh
|
shell: sh
|
||||||
run: ${{ github.action_path }}/entrypoint.sh
|
run: sh "${{ github.action_path }}/entrypoint.sh"
|
||||||
env:
|
env:
|
||||||
INPUT_HOST: ${{ inputs.host }}
|
INPUT_HOST: ${{ inputs.host }}
|
||||||
INPUT_PORT: ${{ inputs.port }}
|
INPUT_PORT: ${{ inputs.port }}
|
||||||
|
|
|
||||||
22
entrypoint.sh
Normal file → Executable file
22
entrypoint.sh
Normal file → Executable file
|
|
@ -24,20 +24,26 @@ fi
|
||||||
SSH_PORT="${INPUT_PORT:-22}"
|
SSH_PORT="${INPUT_PORT:-22}"
|
||||||
SOURCE="${INPUT_SOURCE:-.}"
|
SOURCE="${INPUT_SOURCE:-.}"
|
||||||
|
|
||||||
mkdir -p ~/.ssh
|
# ssh expands ~ from the passwd database rather than $HOME, so the two disagree
|
||||||
chmod 700 ~/.ssh
|
# whenever a container sets HOME elsewhere. Pass absolute paths instead.
|
||||||
|
SSH_DIR="$HOME/.ssh"
|
||||||
|
KEY_FILE="$SSH_DIR/deploy_key"
|
||||||
|
KNOWN_HOSTS="$SSH_DIR/known_hosts"
|
||||||
|
|
||||||
echo "$INPUT_KEY" > ~/.ssh/deploy_key
|
mkdir -p "$SSH_DIR"
|
||||||
chmod 600 ~/.ssh/deploy_key
|
chmod 700 "$SSH_DIR"
|
||||||
|
|
||||||
ssh-keyscan -p "$SSH_PORT" -H "$INPUT_HOST" >> ~/.ssh/known_hosts 2>/dev/null
|
trap 'rm -f "$KEY_FILE"' EXIT
|
||||||
|
|
||||||
|
echo "$INPUT_KEY" > "$KEY_FILE"
|
||||||
|
chmod 600 "$KEY_FILE"
|
||||||
|
|
||||||
|
ssh-keyscan -p "$SSH_PORT" -H "$INPUT_HOST" >> "$KNOWN_HOSTS" 2>/dev/null
|
||||||
|
|
||||||
rsync -avz \
|
rsync -avz \
|
||||||
-e "ssh -i ~/.ssh/deploy_key -p $SSH_PORT -o ConnectTimeout=30" \
|
-e "ssh -i $KEY_FILE -o UserKnownHostsFile=$KNOWN_HOSTS -p $SSH_PORT -o ConnectTimeout=30" \
|
||||||
$INPUT_ARGS \
|
$INPUT_ARGS \
|
||||||
"${SOURCE}/" \
|
"${SOURCE}/" \
|
||||||
"${INPUT_USERNAME}@${INPUT_HOST}:${INPUT_TARGET}/"
|
"${INPUT_USERNAME}@${INPUT_HOST}:${INPUT_TARGET}/"
|
||||||
|
|
||||||
rm -f ~/.ssh/deploy_key
|
|
||||||
|
|
||||||
echo "Deployed ${SOURCE} to ${INPUT_HOST}:${INPUT_TARGET}"
|
echo "Deployed ${SOURCE} to ${INPUT_HOST}:${INPUT_TARGET}"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue