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

114 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
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
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
0fbc447fe1 feat: --skip=homebrew 2023-11-03 21:47:09 -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
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
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
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
8dde97c597 fix: Modified brew formula class generation to remove dots to match what homebrew expects (#3117)
Signed-off-by: Corbin Phelps <corbin.phelps@bluemedora.com>

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-05-20 10:25:35 -03:00
f83efdb67a chore: ignore deprecated strings.Title warn
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-05-09 22:57:46 -03:00
dbf2d0e293 fix: brew formula default goamd64
Was defaulting to v2 instead of v1.

closes #3049

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-16 15:26:14 -03:00
9c773d6d6b fix: remove some deprecated brew todos 2022-04-11 23:58:18 -03:00
b0583c700b feat: support GOAMD64 (#3016)
* feat: support GOAMD64

* fix: test

* wip

* wip: docker et al

* fix: archive format name

* test: added new test

* feat: nfpm amd4, mips et al

* chore: rm unused file

* fix: brew for multiple goamd64

* fix: krew

* feat: aur

* feat: krew

* docs: brew

* feat: gofis

* feat: scoop

* fix: docker filters

* fix: snapcraft

* fix: improve diff a bit

* fix: snapcraft name template
2022-04-11 22:43:22 -03:00
4c477b5cd1 fix: brew.post_install indent (#2981)
properly indent brews.post_install block, and also fix indent on newly
added brews.service block.

closes #2980

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-03-16 21:40:25 -03:00
7730a4de94 feat: brew service block (#2973)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-03-16 21:12:57 -03:00
f734b503d4 feat(pipe/brew): install amd64 binaries when no arm64 binaries present (#2939)
Currently on a M1 macbook when adding a tap with formulas that only support amd64 it fails to add the tap. This prevents new arm64 users from using the tap. By allowing arm64 users to install an amd64 binary if no arm64 binary is avialable will atleast allow the user to use the tap.
2022-02-25 21:57:46 -03:00
b28a28efb6 feat: allow to template commit author (#2826)
* feat: allow to template commit author

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* chore: fmt

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-11 09:15:28 -03:00
e8c8a2832f feat: improve universal binaries on krew/brew/gofish (#2747)
* feat: improve universal binaries on krew/brew/gofish

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* test: OnlyReplacingUnibins

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: archive

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: do not replace single-arch

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-12-07 21:53:39 -03:00
1b4080b7da chore: fmt 2021-11-06 23:10:44 -03:00
a2ff2b8dda feat(brew): multi-arch brew on binary archives (#2590)
* feat(brew): multi-arch brew on binary archives

also fixes brew taps when archives have different binaries in each platform (e.g. some binary is only on the linux archives for some reason)

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* Update internal/pipe/brew/template.go

Co-authored-by: Radek Simko <radek.simko@gmail.com>

* fix: spacing

Co-authored-by: Radek Simko <radek.simko@gmail.com>
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

Co-authored-by: Radek Simko <radek.simko@gmail.com>
2021-10-18 09:31:20 -03:00
c99071eb9e feat(homebrew): support binary releases (#2576)
* feat(homebrew): support binary releases

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: improve code

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: improve code a bit

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* test: fix archive testts

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-16 23:52:01 -03:00