1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-07-17 01:42:37 +02:00

50 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
3c55f2bb77 test: improving tests on windows
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-11-16 10:57:48 -03:00
2bf08f11a6 ci: run build/test workflow on windows too (#5263)
Maybe 3rd time is the charm!

This makes the CI build run on windows too, and fix broken tests/featuers on Windows.

Most of the changes are related to ignoring certain tests on windows, or making sure to use the right path separators.

More work to do in the future, probably!

#4293

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-11-16 10:30:39 -03:00
82fd112f77 chore: auto-update generated files 2024-11-14 15:08:14 +00:00
cc4427f346 chore: auto-update generated files 2024-11-04 18:20:39 +00:00
1b1a2be4c8 chore: auto-update generated files 2024-11-02 18:20:48 +00: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
34974df0c6 chore: auto-update generated files 2024-09-12 19:43:42 +00:00
599ce44c74 test: do not fail if missing binaries (#5107)
closes #5104

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-08-28 23:30:22 -03:00
e50b72b4a8 chore: auto-update generated files 2024-08-15 02:43:54 +00:00
c3ea906db8 chore: auto-update generated files 2024-07-14 23:38:33 +00:00
c891845839 chore: auto-update generated files 2024-06-05 00:46:45 +00: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
2f876631b3 fix(nix): update valid licenses
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-02 20:39:26 -03:00
1af98af0b5 feat(nix): update licenses
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-04-01 11:07:07 -03:00
42b6282e46 feat(nix): sync fork before opening PR
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-03-26 23:34:15 -03:00
be511eb341 fix(nix): update licenses 2024-02-12 23:23:48 -03:00
4f2dc3c569 chore: docs auto-update 2024-02-05 12:39:29 +00:00
da30c39ccb fix(nix): prevent importing makeWrapper when it's not needed
refs 7f95ff0a9a

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-01-27 09:12:55 -03:00
7f95ff0a9a fix(nix): improve generated derivations (#4582)
- use stdenvNoCC instead of pkgs.stdenvNoCC
- always include stdenvNoCC, even if no deps
- use stdenvNoCC.is(Darwin/Linux) instead of stdenv's

refs #4358
refs 003a8815

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-01-27 09:01:00 -03:00
1e0d269c97 fix(nix): sourceRoot when using archives.wrap_in_directory (#4550)
If `archives.[*].wrap_in_directory` is set, it'll create a folder inside
the archive file, usually something like `app_goos_goarch`.

In those cases, the root of the archive is not constant, so we create a
`sourceRootMap` and use it instead.

In cases where the `sourceRoot` is constant, the generated derivation
will be the same.

refs https://github.com/orgs/goreleaser/discussions/4549

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-01-18 12:59:04 -03:00
003a881503 fix(nix): use stdenvNoCC
closes #4538

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-01-15 08:55:21 -03:00
dda1c708ae feat(nix): validate licenses (#4497)
this will check if the license provided by the user is a valid one.

valid list of licenses is generated from nix's source code.

closes #4496
2023-12-26 08:37:44 -03:00
2b9e471370 fix(nix): include unzip if any artifact is a zip (#4495)
Instead of just the first one.

refs #4224
2023-12-21 14:21:20 -03:00
e9dda51607 test: fix 2023-11-03 21:47:09 -03:00
954121ffb1 feat: --skip-nix 2023-11-03 21:47:09 -03:00
1a5d3ffa02 feat(nix): mark all Nix packages with the right source provenance
As GoReleaser focuses on binary packages wrapped in Nix, it is important
to mark their right source provenance, i.e. binary native code.
2023-10-30 12:23:14 -03: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
1d17b311e3 fix(nix): multiple archives for the same platform (#4227)
this fixes is specially useful for universal binaries that replace the
separated binaries.

closes #4226
2023-08-02 22:58:10 -03:00
c6655bc094 feat(nix): support zip packages (#4225)
closes https://github.com/goreleaser/goreleaser/issues/4224
2023-08-02 20:42:35 -03:00
025b8757b8 fix(nix): improve extra_install 2023-07-30 03:04:59 +00:00
8a4c874a13 fix(nix): potentially unused with lib 2023-07-26 11:32:37 -03:00
f107338870 fix(nix): fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-07-26 11:32:37 -03:00
94f080d77c feat(nix): extraInstall 2023-07-26 11:32:37 -03:00
e672699b0a feat(nix): runtime dependencies
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-07-26 11:32:37 -03:00
c57cdab0c6 refactor: add function to apply template multiple times (#4158)
If applied, this commit simplifies the code required to support
templated fields in configuration files. This should make it easier to
add more templated fields in the future.

As [discussed first on
Discord](https://discord.com/channels/890434333251362866/1032457293687685191/1124033219747127316).
2023-06-30 14:46:53 -03:00
5f7be841d8 fix(nix): description, path and homepage should allow templates (#4156)
- nix.description, nix.path, and nix.homepage should allow templates
- nix.path was defaulting to wrong value, fixed

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-29 14:15:53 -03:00
e9b4bc05da fix: use commit msg as PR title 2023-06-25 05:16:37 +00:00
4dc31e99b7 fix(nix): local filename when path not set 2023-06-25 04:26:31 +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
c6851f5eee fix(nix): hc should report nix-prefetch-url as a dependency
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-17 23:23:14 +00:00
81bd82b13b fix(nix): improve error message
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-15 02:55:32 +00:00
ac5788eed0 fix: add do not edit header to generated files
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-29 18:23:00 +00: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
a3bc051933 fix(nix): better errors if nix-prefetch-url fails 2023-05-29 16:38:11 +00:00
75c47d1da8 feat(nix): support armv6l and armv7l (#4051)
closes #4049
2023-05-29 11:59:19 -03:00
99afc8d62e feat: nix support (#4012)
very, very, very WIP implementation of nixpkgs for GoReleaser.

**Decisions made for this first version:**
- only linux and darwin, arm64, 386 and amd64
- only support pkgs from goreleaser-generated archives
- no support to push into default nixpkgs repository
- no support to automatically add the _maybe_ new pkg to the root
`default.nix`
- the generated nixpkg will be rather verbose, which shouldn't be too
much of an issue as it is autogenerated anyway

**TODOs**:
- [x] macos universal binary support
- [x] custom pkg path (e.g. pkgs/misc/foo/bar/default.nix)
- [x] handle archives with a folder in them
- [x] add more options: postInstall, ??

**Will be handled in future versions**:
- [ ] archives.format=binary support
- [ ] compile from source
- [ ] PR-ing into nixpkgs
- [ ] armv6l-linux & armv7l-linux support

closes #3537

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-25 23:07:10 -03:00