* feat: Add build command
* feat(cmd/build): Add skip-post-hooks flag
* Update internal/pipeline/pipeline.go
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Without this change, users unable to control the resulting commit message of the
scoop update. In some environments this may present an issue with commit
linters that require a specific commit message format in order to build proper
change logs and make decisions. Here we include a Scoop config option to use a
format string provided by the user during the commit.
* feat: xz compression
* remove .xz feature
* fix: format code with gofmt
* use larger dict for better compression
* Update pkg/archive/tarxz/tarxz.go
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: improve check command
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: main test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests, finally
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upload source archive
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: checksum pipe will not return an error when artifact list is empty
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* new: build.skip option for libraries
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* docs: update doc with build.skip option
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* feat: use maximum compression for gzip and zip archives
* fix: add comment for skipping error check
Co-authored-by: John Taylor <ec2-user@ip-172-31-29-117.ap-south-1.compute.internal>
* feat: remove deprecated blob and sign
you should now use blobs and signs instead.
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upload extra files to the release
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: retry upload
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: globs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: globs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: typo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit exposes the Artifact name as a template variable so that the
artifact name can be moved around within the `targetURL`. This enable users to
manipulate the target URL as desired in order to pass in PUT parameters that
doesn't always following the currently defined `targetURL` which append the
artifact name to the end.
This is needed to address[1] by enable the ability to add metadata to
Artifactory REST API [2] as the URL parameters, which need to be after the
artifact names.
It's important that this is backward compatible with existing release
configurations so this is an opt-in option, if it's omitted or not set, no
changes to exist configurations. When enabled with `CustomArtifactName=True` as
part of HTTP Upload options `Artifact.Name` will no longer be appended to the
end of TargetURL.
[1]:https://github.com/goreleaser/goreleaser/issues/1336
[2]:https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-Example-DeployinganArtifact
* feat(sign): id, concurrent map
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: more tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: comments
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: remove deprecated brew config
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wording
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wording
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: support to gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: prefix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: remove deprecated s3 pipe
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: remove singular archive config
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* clean: remove deprecated nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: added blob.region and blob.disableSSL
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: simplified url
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: docker builds filter
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: docker builds filter
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: fully support all s3 pipe feats on blob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tidy deps
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: document endpoint option
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: http POST
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: http POST
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: deprecate
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: upload tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: artifactory
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: http username validation
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: renames
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: allow to change package name
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: typo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Added new flags to support release notes header and footer.
Created two flags for release generation.
--release-footer
--release-header
These flags can help you to add custom changelog text before/after changes that are generated by git log.
* Fix changelog.go to avoid lint errors
* Fix test typo
* Added tests for main, fixed bug with no passing options to release ctx
* Add @caarlos0 suggestions
* feat(release): add artifact filter (by id) to release pipe
* add `ids: string[]` to release configuration
* add support for filtering artifacts by id within the release pipe
* update docs for release
* 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
* 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
* 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: 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 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
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
* 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