* fix: reject docker.files as . or inside dist
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: deprecated method
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip aware semerrgroup
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: docker: skip push skips other builds
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip aware semerrgroup
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip aware semerrgroup
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump semver
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump cors
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tmp simplify
* refactor: brew tests for mutiple archives per os
* feat: adds keep latest goarm version and uses it for brew
* chore: adapts golden brew test file for arm version
* test: brew for multiple arm versions
* refactor(test): brew for multiple arms
* docs: updates homebrew
* Revert "fix: tmp simplify"
This reverts commit 946a2fa1b1.
* feat: adds goarm version to brew
* fix: filter chain for one goarm version
* chore: removes unused keep latest arm version filter
* refactor: brew tests
* fix: removes test for keep latest arm version
* docs: updates homebrew for goarm property
* chore: updaes err msg for brew multiple archives same os
* makes context tokentype a public var
* passes artifacts object into client upload function. extracts gitlab upload hash from url
* adds gitlab url to brew config
* build brew formula depending on token type
* fixes client for release tests
* fixes exiting brew tests
* fixes scoop test with dummy client adaption
* uses new artifact upload hash
* fixes brew usage
* updates gitlab createFile for brew
* fixes logging for non-existing file in gitlab logging
* fix: gitlab createFile
* fix: removes encoding from gitlab create and update file opts
* fix: gitlab upload and artifact set upload hash
* fix: linter
* changed artifact item to a pointer in ctx
* docs: updates homebrew
* feat: enables scoop for gitlab release
* fix: scoop panic for pointer access
* chore: rename formula build func for brew
* chore: brew removes comments
* fix: brew tests
* test: updates brew tests
* docs: updates homebrew
* test: for token type not implemented for brew
* tests: for multiple linux builds
* fix: build artifacts are pointer in scoop
* test: for scoop and gitlab
* test: for artifacts set upload hash
* adds missing files after adaption
* chore: removes and clarifies comments
* fix: moves artifact upload hash to extra map
* adds comment why we initialize the extra map
* Honor order of functions in semerrgroup
* Separate implementation for parallel vs. serial
* Remove lock around serialGroup
* Short circuit when err != nil
* Simplify error logic
* clean: remove deprecated docker options
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* ci: gocenter is slowwww
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* clean: remove uneeded test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Revert "ci: gocenter is slowwww"
This reverts commit 7e4b1eb244.
* fix: pluralize blob in the config file
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: blob kms support
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* outlines gitlab client integration
* makes client parameter more explicit
* adds gitlab url to config
* changes releaseID to string to adapt to gitlab
* updates to latest gitlab client lib 0.18
* fixes copy paster in gitlab upload func
* fixes gitlab typo in config
* adds gitlab token to env and context
* release now uses the client factory method
* skips brew pipe if it is not a github release
* add github tokentype to publish tests
* skips scoop pipe if it is not a github release
* corrects brew skip msg
* adds gitlab token to main test
* adds gitlab to release docs
* validates config and errors accordingly
* adapt release pipe name to include gitlab
* fixes gitlab client after testing
* moves not-configured brew and scoop pipe checks as first check
* adds more debug to gitlab client
* adapts changelog generation for gitlab markdown
* adds debug log for gitlab changelog
* env needs to run before changelog pipe
* moves gitlab default download url to default pipe
* moves multiple releases check to from config to release pipe
* release differs now for github and gitlab
* adds debug gitlab release update msgs
* moves env pipe as second after before because it determines the token type other pipes depend on
* adaptes error check on gitlab release creation
* Revert "adaptes error check on gitlab release creation"
This reverts commit 032024571c.
* simplifies gitlab client logic. removes comments
* skips tls verification for gitlab client if specified in config
* updates the docs
* adds clarification that brew and scoop are not supported if it is a gitlab release
* fixes copy paster in release.md
* adds missing blob pipe in defaults and publish due to missing in merge
* updates comment in gitlab client
* 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
I didn't notice the go testing framework when I made the first pull
request so these were left out. Not a big deal either way but we might
as well have complete tests.
* 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
for token code on stdin when uploading to s3
In case when there are no credentials from provider chain session for S3
client is created with support for profile and assume an IAM role with
MFA prompting for token code on stdin
#754
* refactor: merging archive in the same repo
* refactor: merging archive in the same repo
* refactor: better organizing packages
* refactor: fixing renames
* fix: new dep version
* fix: makefile
* fix: zip/tar tests
* fix: gitigonore
* fix: s3 tests
* fix: archive test
This allows users to specify different sets of compiler, assembler,
and/or linker flags for different packages. It also makes it possible to
specify generic flags that contain spaces. It does this while
maintaining compatibility with the old format of the fields in question
by up-converting bare strings into single-element lists.
Resolves#668
I added the target_commitish to the release payload
so the tag will be created if it does not already exist.
This value will not be used if the tag already exists.
Previously when creating deb package for ARMv6 and ARMv7 the
architecture information were invalid in the generated package.
For example ARMv6 package got armhf architecture which is not right.
According to https://wiki.debian.org/ArmHardFloatPort,
armel is armv4t, armv5, armv6 and armhf is armv7 so updated
to use correct architecture.