- Generate a tag based on the current environment (i.e. hash(pipeline file path)) - try to push the tag before trying to publish - if already exists its already fine, this pipeline could already push - if access denied failer break-off publications since we can't persist the state in git