if ! gem push --key="$KEY" --host "$GEM_HOST" "$GEM_FILE" >push.out; then
gemerr=$?
[...]
exit $gemerr
fi
if ! gem push boop; then echo $?; fi # File doesn't exist, exit state is 0
ERROR: While executing gem ... (Gem::Package::FormatError)
No such file or directory @ rb_sysopen - boop
0