echo ${BUTLER_API_KEY} > ~/.config/itch/butler_creds
By default, echo appends a newline to the output. butler for whatever reason includes the newline as part of the API key when it reads the credential file, which of course is an incorrect key.
I added the -n flag to the echo command (and removed the butler login line) and my project was uploaded successfully.
script:
- mkdir -p ~/.config/itch
- echo -n "${BUTLER_API_KEY}" > ~/.config/itch/butler_creds
- butler push ...