args: ['-c', 'docker pull gcr.io/$PROJECT_ID/ts-bridge:latest || exit 0']
This step (originally copied from https://cloud.google.com/cloud-build/docs/speeding-up-builds#using_a_cached_docker_image) will mask all errors from docker pull, not just when image doesn't exist. Consider using a more optimal approach which can parse the output from docker pull to handle errors better.