github.com/mitchellh/go-homedir has a stable release version now. Using
master causes dep to be unable to solve for a suitable version when
goreleaser is depended on in other projects which also (transiently)
depend on the released version. This fixes that, and brings API
stability guarantees.
Docker image names were not being added to the release notes
because the Github release step was happening earlier in the
pipeline than the docker release itself (so no artifacts had
been added to the context). This patch re-orders the pipeline
and adds a comment to warn against this happening again.
Fixes: #846
Updated docker documentation to use `image_templates`.
Added documentation on publishing to multiple registries
using `image_templates`
Added deprecation notices on `docker.image` and `docker.tag_templates`
Docker pipe supports either image templates or image with tag templates.
Image template must be configured, no default is provided.
If image name is still used, provide default for tag templates,
for backward compatibility.
Docker config takes a list of image templates as image specification.
Existing config with image and tag templates are still accepted,
but will display deprecation notice.
Either image templates or image + tag templates is supported,
but not both at the same time.
This will also support publishing to multiple docker registries (#832).
Deprecated:
- `docker.image`
- `docker.tag_templates`
Created a list of registries based on the docker image name and
additional registries. Image is then tagged with all permutations
of registry and tags.
See #832
When Jenkins is configured with 'Check out to matching local branch' the branch and tag name will conflict.
If we use explicit references to tags, then life is much better.
This patch also replaces our manual 'tag or not' boolean with a regex to check if the return is a SHA1.
If it is not a SHA1, it is assumed to be a tag. Hopefully this helps with future maintainability.
This now allows us to use things like the ProjectName as variables
in our docker image name. This is especially helpful when trying to
make the `.goreleaser.yml` as generic as possible.