The GitLab continuous deployment configuration does not correctly decode the deploy key into the key file
It runs base64 --decode "string" but base64 interprets "string" as a path instead of a string containing the base64-encoded data.
As a result, trash gets written to $KEY_PATH - and the build proceeds even though base64 exits with an error status.