ssh expands ~ from the passwd database rather than $HOME, so a container that
sets HOME elsewhere made ssh look for the key and known_hosts in a different
directory than the one the script had just written, failing with a confusing
"Identity file not accessible" / "Host key verification failed" pair.
The deploy key was also only removed on the success path, leaving the private
key on the runner whenever rsync failed; a trap now removes it either way.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
entrypoint.sh was committed with mode 0644 while action.yml invoked it
directly, so every run of this action died before the script started:
entrypoint.sh: Permission denied
exitcode '126': failure
Sets the executable bit, and invokes the script through sh so the action no
longer depends on the mode bit surviving a checkout.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>