* fix: non-templateable field as default build.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added test for build.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: brew tmpl
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: compile
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: compile
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: adding support to push artifacts to AWS S3,Azure Blob and Google Cloud Storage
readme for blob publisher
test: add unit test for blob using testify and mockery
test: add unit test for publish method
fix: openbucket instance initialization
remove unwanted packages: go mod tidy
test: add missing unit test for publish method
* doc: add missing comment for func
* fix: add accidental delete file
* fix : add missing Snapcrafts project
* fix: unit test for Azure blob
* fmt: rewrite if-else-if-else chain to switch statement and fix golangci-lint reporeted issue
* fmt: fix linter reporeted issues
fmt: rewrite if-else-if-else chain to switch statement and fix golangci-lint reporeted issue
fmt: linter fix
* test: fix typo in test error string
* feat: add support to provider folder inside bucket, resolves discussed comments
* feat: multiple archives
* fix: several things
* test: fixed
* fix: several things
* fix: archive id on the artifact
* fix: deprecated since
* docs: deprecations page improvements
* feat: templateable hooks
* test: improved test
* docs: docs about templateable hooks
* test: improve test
* test: skip test that only fails on travis
The signature Path was assumed to be at the root of dist without
taking into account the target of the original artifact. This made the
upload of signature fails with file not found errors.
The signature Name was the actual signature filename and didn't take
into account the target and would lead to conflicts when flattening
the paths for upload. This change derives the Name from the original
artifact Name instead.
* fix: use the filename of the binary in snapcraft
When builds.binary is a path, only use the filename as the name
of the snapcraft app and as the command, instead of the full path.
* docs: use a path in the binary name
* feat: added Plugs attribute to snapcraft.Metadata allowing plugs to be configured as plugs.<plug-name>.<attribute-name>
* fix (test): added snapcraft plugs configuration test
* fix: snapcraft Metadata to use correct data type for Plugs
* fix: refactor Snapcraft Plug configuration
* fix: test on newer snapcraft
hopefully
* docs: snap plugs
- Updates Homebrew config to make "SkipUpload" a string so that it can
contain more than true or false values. New available options are
"true", "false" and "auto".
- Adds a new check in Homebrew publish to see if it should skip due to a
prerelease and "SkipUpload" set to auto.
- Adds a new test to make sure that tap publishing is skipped when set
to "auto" and a prerelease semver is provided.
- Updates documents to add information about the new "auto" option for
"SkipUpload".
In some cases, changelog or release notes do not need to be compiled for
various reasons.
This commit adds an option to Skip building the changelog.
Fix#888
* feat: support multiple binaries on docker
* test: docker: fixed to use binaries
* refactor: several docker pipe improvements
* fix: tag templates
* test: fix defaults test
* fix: breaking: remove .Binary, .Os, .Arch support from docker image_templates
* fix: lint issues
Due to the linked changes in homebrew deprecating "unused" download
strategies and the suggested workaround of adding a custom
"require_relative" I have added the ability to specify a ruby filename
in the brew specification
My use case is to continue using the GitHubPrivateRepositoryDownloadStrategy
without a deprecation warnings on every brew install.
brew deprecation:
599ecc9b5a (diff-ad9201cdd3b6f948345629ad812cd5bd)
suggested workaround:
https://github.com/Homebrew/brew/issues/5074#issuecomment-429274286
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
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.
I enhanced `BuildFlagTemplates` field in Docker image config to accept
templates. Build flags are tested by checking for images created with
labels applied through templates.
See #813
I added `BuildFlags` field to Docker image config. Docker pipe is
updated to append build flags to the `docker build` command.
Build flags are not validated, leaving it Docker to error
when given an unknown flag.
See #813