1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-07-15 01:34:21 +02:00

150 Commits

Author SHA1 Message Date
ae4f6aa662 refactor: replace fmt.Errorf with errors.New for consistency (#5294)
The PR replaces usages of `fmt.Errorf` with `errors.New` for creating
errors. Enables `perfsprint` linter to prevent future regressions.
2024-11-18 14:07:22 -03:00
12155a336b refactor: remove empty lines, fix //nolint (#5235)
The PR formats code by removing redundant empty lines and fixes
`//nolint` directives. Additionally, this PR adds two more rules to the
`revive` configuration: `empty-lines` and `comment-spacings`.

Removing unnecessary empty lines helps to keep the codebase clean and
concise. This issue is identified by the `revive.empty-lines` rule.

In the `//nolint` directive, there must be no spaces between `:` and the
linter name: `//nolint:gosec`. See ["Nolint
Directive"](https://golangci-lint.run/usage/false-positives/#nolint-directive).
This issue is identified by the `revive.comment-spacings` rule.

Note that it's not possible to add just a few additional rules to the
`revive.enable` list. We need to specify all: default rules plus
additional rules. See the detailed explanation
[here](https://github.com/prometheus/prometheus/pull/13068).
2024-10-31 13:51:54 -03:00
0f48a6dd40 refactor: use std maps,slices instead of golang.org/exp (#5221)
The PR refactors code by replacing usage of
`golang.org/exp/slices`/`golang.org/exp/maps` package with the standard
`slices`/`maps`. Additionally, replace the function `keys(someMap)` with
`slices.Compact(maps.Keys(someMap))`

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-10-25 11:38:55 -03:00
47212a5410 fix(brew): Fix Forumla Class Name builder (#5192)
- Fixes #5191 
- I added a test case, but I don't have a great mechanism to test this
fully in a live environment.

---------

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-10-11 11:59:47 -03:00
0468da12fd feat: default GOARM change to 7 (#5157)
Guarded by an environment variable for now.

Closes #5155
2024-09-27 13:31:29 -03:00
ec2db4a727 feat!: rename module to /v2 (#4894)
<!--

Hi, thanks for contributing!

Please make sure you read our CONTRIBUTING guide.

Also, add tests and the respective documentation changes as well.

-->


<!-- If applied, this commit will... -->

...

<!-- Why is this change being made? -->

...

<!-- # Provide links to any relevant tickets, URLs or other resources
-->

...

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-26 15:02:57 -03:00
4fa8df6413 feat!: v2 (#4806)
BREAKING CHANGE

removed all deprecated options, config file should now have a `version:
2` bit


![Dont
Matter](https://github.com/goreleaser/goreleaser/assets/245435/31ece16a-cb70-4e43-9caa-8364e73fbeb9)

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-25 14:09:49 -03:00
14ab459300 fix(brew): linux brew with extra end
refs #4822

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-05 23:04:22 -03:00
d9adeb3585 test(brew): update goldenfiles
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-02 20:43:23 -03:00
b05a62fddc feat: migrate to new homebrew constuctions (on_arm, on_intel) (#4822)
<!--

Hi, thanks for contributing!

Please make sure you read our CONTRIBUTING guide.

Also, add tests and the respective documentation changes as well.

-->


<!-- If applied, this commit will... -->

...

<!-- Why is this change being made? -->
Brew linter says that old constructions can't be used in case of
submitting to brew-core

<!-- # Provide links to any relevant tickets, URLs or other resources
-->

...
2024-05-02 20:43:03 -03:00
bee8665d9e fix(brew): cpu conditionals (#4814)
closes #4813

---------

Co-authored-by: William Walker <w_walker@icloud.com>
2024-04-28 20:36:28 -03:00
7fc93995b8 feat: consistently use directory in property names (#4737)
It was a mess of "folder" x "directory", so changed it all to
"directory".

Closes #4732
2024-04-01 10:01:56 -03:00
b9b8a65618 feat(brew): sync fork before opening PR
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-03-26 23:34:15 -03:00
4d2bcfdc46 feat(brew): allow to set headers in the url (#4648)
closes  #4647

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-02-26 17:22:12 -03:00
306999b78b fix: sort order of brew artifacts (#4617)
<!--

Hi, thanks for contributing!

Please make sure you read our CONTRIBUTING guide.

Also, add tests and the respective documentation changes as well.

-->


<!-- If applied, this commit will... -->

Fix the order in which brew artifacts are sorted.

<!-- Why is this change being made? -->

* The order occasionally switches, which results in a larger diff:
https://github.com/confluentinc/homebrew-tap/pull/41
* The artifacts are already grouped by OS before `lessFnFor()` is
called, so `list[i].OS > list[j].OS` always evaluates to `false` and the
order remains unchanged. This PR removes that statement.
* It looks like a `map` is used earlier, while filtering the artifacts,
which might explain why the order occasionally switches.
* Update the remaining statement in `lessFnFor()` to actually use `<` as
the function suggests.

<!-- # Provide links to any relevant tickets, URLs or other resources
-->
2024-02-09 08:12:02 -03:00
ac398de727 fix(brew): improve handling of single os (#4562)
- refactors brew template into separated files using embed.FS
- moves the macos and linux packages to different template files 
- includes and indent those accordingly to which OSes are supported

closes #4561

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-01-19 12:41:28 -03:00
ee14837127 feat(homebrew): add os to dependency (#4481)
closes #4480
2023-12-15 12:14:01 -03:00
6f598dc9b0 refactor(brew): use cases.Title instead of strings.Title
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-11-29 23:12:46 -03:00
74e706461b fix: allow homebrew to use tar.xz format (#4441)
<!-- If applied, this commit will... -->

In a `brews` section, goreleaser will fail when using `format: tar.xz`
even though homebrew supports installing binaries bundled in a `.tar.xz`
archive.

<!-- Why is this change being made? -->

I use `.tar.xz` instead of `.tar.gz` and would like goreleaser to
support this when used in conjunction with `brews` sections.

With this patch, I created a test [homebrew
formulae](https://github.com/jftuga/homebrew-tap/blob/main/awswho.rb)
and successfully installed it under macOS.
2023-11-24 14:03:05 -03:00
e9dda51607 test: fix 2023-11-03 21:47:09 -03:00
0fbc447fe1 feat: --skip=homebrew 2023-11-03 21:47:09 -03:00
7efeeb37c1 refactor: improve ssh key gen on tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-10-06 14:16:58 +00:00
82200491bd fix: git client should respect specified branch (#4324)
refs https://github.com/orgs/goreleaser/discussions/4321
2023-09-24 17:07:10 -03:00
530223c2ac chore: improvel logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-24 19:18:10 +00:00
8706fd2e89 feat: allow goreleaser to run in gerrit, soft-serve and others (#4271)
Currently, GoReleaser will assume you're running against github, gitea
or gitlab.

You could set `release.disable: true`, but it would still set and try to
use some defaults that could break things up.

Now, if you disable the release, goreleaser will not set these defaults.
It'll also hard error in some cases in which it would happily produce
invalid resources before, namely, if `release.disable` is set, and, for
example, `brews.url_template` is empty (in which case it would try to
use the one from the release, usually github).

closes #4208
2023-09-04 11:23:38 -03:00
c91c4b7cd8 feat: improve template error handling (#4256)
- wrap the multiple errors in an internal error with cleaner messaging
- improve testlib.RequireTemplateError and several tests
2023-08-24 22:06:12 -03:00
d7921d4638 feat(brew): extra_install
Allows to add manpages and shell completion installs without overriding
the default bin.install.
2023-07-31 09:40:35 -03:00
e9b4bc05da fix: use commit msg as PR title 2023-06-25 05:16:37 +00:00
76ce66c060 fix: improve brew/krew/scoop/nix/winget paths inside dist (#4137)
mimic the structure to be created in the target repo, and put each of
them in its own folder.

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-24 23:38:09 -03:00
72cf8404c1 feat: continue on error (#4127)
closes #3989

Basically, when some of these pipes fail, the error will be memorized,
and all errors will be thrown in the end.

Meaning: the exit code will still be 1, but it'll not have stopped in
the first error.

Thinking of maybe adding a `--fail-fast` flag to disable this behavior
as well 🤔

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-20 09:33:59 -03:00
62b065dad0 feat: deprecate brews.tap, krews.index & scoops.bucket (#4099)
It should make goreleaser easier to use, as a `repository` is now always
called `repository`.

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-14 00:13:21 -03:00
de599666b8 fix: deprecate brews.plist (#4073)
service has been available for a long time as well.

closes #3990
2023-06-06 01:02:40 -03:00
4936929ddd feat: sort brew dependencies
so it better aligns with brew audit

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-06 00:32:46 -03:00
f6b9ccbd8f feat(github): allow to open PRs as drafts (#4054)
This allows to open a pull requests as a draft.

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-29 15:07:00 -03:00
773cb91a7a feat(github): allow to PR cross-repo (#4053)
This allows to open pull requests across repositories on nix, brew, krew
and scoop.

closes #4048

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-29 14:37:10 -03:00
dfcd535e31 fix: improve "pushing" logs for multiple publishers 2023-05-19 14:10:06 +00:00
6eed3e03b0 fix: typo in a brew error message 2023-05-02 12:18:36 +00:00
5bf42b726f feat: publish taps, krews and scoops to regular git repositories (#3961)
basically redoing #3559 as it got impossible to merge with the many
changes since it was open (which is totally my fault for not merging it
earlier).

Anyhow, still a WIP, going also doing some other related improvements in
the way.

cc/ @graytonio

closes #3559
closes #3525

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Grayton Ward <graytonio.ward@gmail.com>
2023-04-30 10:18:13 -03:00
8b1c4ead60 feat: allow to PR homebrew taps (#3903)
closes #3485

also fixed a bug in file creation for github: it was always searching
for the file in the default branch

also, we don't need to create the file first, update does both create
and update.

TODO: implement the for krew, scoop, etc...

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-06 22:58:06 -03:00
9a97aaae99 fix: improve brew no archive error (#3895)
similar to #3894, but for homebrew

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-29 10:24:53 -03:00
f544c5ce69 test: testctx pkg (#3807)
alternative to #3806 

the idea is that both `context.New` and `context.Context{}` are never
used in tests.

not sure yet how much I like it, so far code does look a bit more
readable though.

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-02 00:01:11 -03:00
f05f3b5b7f fix: merge issues 2022-11-28 14:28:38 -03:00
e54656438b feat: deprecate replacements (#3589)
The replacements thing was always a bit weird, especially on archives.

We can solve that with templates, so, removing I'm deprecating it.

Also did the same on other places that had it the same feature.

Closes #3588

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-25 15:26:14 -03:00
541e3dfed9 feat(brew): allow to template brew.install (#3593) 2022-11-25 09:32:43 -03:00
1a69d44d6d fix: allow to template scoop/brew/krew repo ref (#3521)
closes #3508

- adds template support for krew and scoop repo refs
- template branch on reporef on brew as well

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-02 14:54:16 -03:00
6d000e5cb1 feat: allow to specify version of brew deps (#3319)
* feat: add version for homebrew dependencies

* resolve conflicts

* resolve conflicts

* feat: allow to specify version of brew deps

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* docs: brew

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Purushotham <purushotham@hasura.io>
2022-08-17 22:58:41 -03:00
c83663cc26 fix: eventual race condition in artifacts (#3310)
* fix: eventual race condition in artifacts

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: locks

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: tests

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-16 02:05:36 -03:00
d6306059d2 fix: brew style (#3274)
* fix: brew style

closes #3236

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: more fixes

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: more fixes

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-06 19:00:16 -03:00
72329ab722 refactor: improve handling of extra fields in artifacts (#3191)
* refactor: improve handling of extra fields in artifacts

Backporting from pro: with this we can parse the artifacts list from
json into the context and use them again.

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: tests

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* test: fix

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-06-23 23:36:19 -03:00
fe7e2123bd feat: replacing the log library (#3139)
* feat: replacing logs

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: tests et al

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* feat: update termenv/lipgloss

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* wip: output

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: pin dep

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: update

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: tests

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: tests

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: deps

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: dep

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-06-21 21:11:15 -03:00