_artifactcache.py: Skip push only if server has identical artifact

The existing artifact on a server may refer to a previous build and the
referenced blobs may no longer exist. As we push blobs referenced by the
local artifact proto, we can skip pushing the artifact proto only if the
artifact proto on the server is identical.

It would be more efficient to always push the artifact proto without
checking what artifact proto is currently on the server. However, we
need the extra information to mark push jobs as skipped. This is clearer
to users and also required by some test cases.
1 file changed