1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-23 21:19:17 +02:00

83 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
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
Carlos Alexandro Becker
22f734e41f
Merge pull request from GHSA-f6mm-5fc7-3g3c
fixes GHSA-f6mm-5fc7-3g3c

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-15 10:18:29 -03:00
Carlos Alexandro Becker
9cf3bbbc5c
fix(build): do not print 'go: downloading' bits of go build output (#4869)
this prevents printing `go: downloading` on go builds in case the mods
weren't previously downloaded...
2024-05-15 10:13:10 -03:00
Oleksandr Redko
6505654c86
fix: fix nolintlint issues (#4854)
The PR enables
[`nolintlint`](https://golangci-lint.run/usage/linters/#nolintlint)
linter and fixes up appeared issues.

Changes:

- Enable `nolintlint` in `.golangci.yml` config.
- Remove unused `//nolint:` comments.
- Fix `nolint` comment format by removing spaces (`// nolint: dupl` ->
`//nolint:dupl`)

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-12 14:11:11 -03:00
Carlos Alexandro Becker
5d37c9a5a0
feat: always log build output (#4787)
if the output is not empty, log it with info.

this prevents potentially hiding warnings et al.

on successful builds usually the output is empty anyway.

closes #4782

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-04-16 20:57:01 -03:00
Carlos Alexandro Becker
c9068b4b3c
fix: properly template builds.gobinary
closes #4685
2024-03-16 11:50:51 -03:00
Florent Lecoultre
159211ae78
fix: add -c flags when building go test (#4473)
when building a go test without the `-c` flag like so:
```yaml
 builds:
- command: test
  binary: env.test
  dir: ./internal/builders/golang
  no_main_check: true
  ```

will result in the error: `exit status 1: fork/exec : exec format error`

adding the -c flags when not present in the flags
adding unit test

https://github.com/goreleaser/goreleaser/issues/4462

---------

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-12-12 17:41:02 -03:00
Carlos Alexandro Becker
51d9fc67a9
feat(deps): use mergo 1.0.0 2023-07-31 16:32:36 +00:00
Carlos Alexandro Becker
4266634752
feat: improve output (#4206)
- improves deprecation warning styles a bit so they caught the readers
eye faster and are easier to read
- warns if the user uses `builds.target` in conjunction with other
options which are ignored in that case
- improved env output
- improved no configuration found warning

some of the changes:

<img width="1263" alt="CleanShot 2023-07-24 at 21 38 41@2x"
src="https://github.com/goreleaser/goreleaser/assets/245435/40465853-7177-44d6-b07b-61b67590669a">

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-07-25 08:26:44 -03:00
Carlos Alexandro Becker
b9a08c4dc9
refactor: gio.Chtimes (#4191)
we're repeating this quite a bit

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-07-15 16:33:40 -03:00
Carlos Alexandro Becker
11b32cf3b7
fix: build should output more debug info (#3939)
fixes #3934

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-04-13 23:08:31 -03:00
Carlos A Becker
f05f3b5b7f
fix: merge issues 2022-11-28 14:28:38 -03:00
Carlos Alexandro Becker
1b8395d6b6
feat(build): allow to template env (#3592)
GoReleaser evolved a lot since the last time I tried to implement this
>1 year ago.
Now its 100% possible, and way simpler to do it!

closes #3580
refs #2583

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-25 15:26:29 -03:00
Carlos Alexandro Becker
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
John Olheiser
b66568529d
feat: add windows to default builds (#3581)
Resolves #3579

Signed-off-by: jolheiser <john.olheiser@gmail.com>
2022-11-24 15:48:37 -03:00
Giorgio Azzinnaro
0a536f08fd
feat: build of shared/static libraries (#3511)
<!--

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... -->

This PR improves the handling of shared or static libraries by
GoReleaser. It uses the default behaviour of the Go compiler by
appending the right extension to libraries.

* `.so` and `.a` for Linux shared libraries and static libraries
respectively
* `.dylib` and `.a.` on Darwin
* `.dll` and `.lib` on Windows (pre-existent)

It does not add any configuration option to `.goreleaser.yml`, since it
leverages the existing `buildmode` flag.

Additionally, this PR takes care of adding the generated header file
into the archive.

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

Personally I would leverage this change to release some software both as
a CLI and as a shared library. I believe others who use CGo or need
interoperability with Go from other languages could benefit from this.

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

This was previously discussed in #3497.

I couldn't quite think of a proper way to add some tests to the header
archiving feature. Any recommendation?
2022-11-11 23:35:51 -03:00
Carlos Alexandro Becker
de3f381f55
fix: build env overrides (#3232)
* fix: build env overrides

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

* fix: review

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-07-07 22:15:51 -03:00
Carlos Alexandro Becker
f75d64d6cc
feat: allow to override env for a target (#3201)
* feat: allow to override env for a target

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

* fix: dupe key

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

* test: fixes

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-06-26 22:00:55 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
69cf1aa887
feat: first class build targets (#3062)
Adds the ability to tell goreleaser to use the first-class Go ports as
targets.

Closes #3053

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-25 22:07:28 -03:00
Carlos Alexandro Becker
30630bfc7f
feat: add builds.no_main_check and builds.command (#3064)
* feat: add builds.no_main_check and builds.command

Added two more options to the builds section:
- command: allow to override the command being run. E.g. instead of
  `go build`, one could run `go test -c` by setting gobinary, command
  and flags, respectively.
- no_main_check: by default, goreleaser will fail if there's no main
  function. This option allows to disable that check.

This PR effectively make GoReleaser able to release Go test binaries
instead of just "regular" binaries.

closes #3037

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

* test: fix broken tests

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-25 22:07:02 -03:00
Carlos Alexandro Becker
63436392db
fix: custom targets if missing goamd64, goarm, gomips (#3056)
* fix: custom targets if missing goamd64, goarm, gomips

if the user provide custom targets without the goamd64, goarm or gomips bit, things may go awry at some point.

this prevents issues by suffixing them with the default when its missing.

closes https://github.com/goreleaser/goreleaser/issues/3055

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

* test: fix build tests

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-20 09:43:39 -03:00
Carlos A Becker
53bbc6546f
fix: goamd64 should allow the only range from v1 to v4
It was just allowing v2 and v3 due to some misreading on my side.
This commit fixes it to allow v1, v2, v3 and v4.

refs #3016

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-13 21:30:08 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
1bdfc9cdff
feat: allow to override build flags by goos/goarch/etc (#2860)
* feat: allow to override build flags by goos/goarch/etc

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

* test: improve

* fix: typos

* feat: templates, merges

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

* test: fix

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

* test: one more case

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

* Update internal/builders/golang/build.go

Co-authored-by: Brian Flad <bflad417@gmail.com>

* Update internal/builders/golang/build.go

Co-authored-by: Brian Flad <bflad417@gmail.com>

* test: more tests

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

Co-authored-by: Brian Flad <bflad417@gmail.com>
2022-02-02 00:01:34 -03:00
Carlos Alexandro Becker
a6a6e11cc9
fix: template main with gomod.proxy (#2834)
* refactor: rename file

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

* fix: template main with gomod.proxy

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-14 10:33:11 -03:00
Carlos Alexandro Becker
62da2dbe13
feat: no main error page (#2709)
* feat: no main error page

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

* docs: improve seo

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-11-29 21:41:31 -03:00
Carlos Alexandro Becker
66cfa25f94
feat: allow to template main (#2574)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-11-21 12:32:05 -03:00
Carlos Alexandro Becker
df2f00fc8b
refactor: put common extra keys in the artifact package (#2580)
* refactor: put common extra keys in the artifact package

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

* refactor: common extra fields have their own funcs

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

* refactor: 2 more

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

* fix: review

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-16 22:46:11 -03:00
Carlos Alexandro Becker
6f219c2c38
test: coverage of buildtarget package
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-09-11 14:33:01 -03:00
Carlos Alexandro Becker
d77f862fa4
refactor: improve build (#2475)
* refactor: improve build

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

* test: coverage

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-09-11 13:01:57 -03:00
Rob Prentiss
013bd69126
fix: run 'go version' command in build.Dir (#2411)
Currently, the 'goVersion' function is run without any directory set.
This is problematic when a build uses the 'dir' config in combination
with the 'gobinary' config. When 'gobinary' is a relative path (like a
script in the current repository), goVersion silently fails, returning
an empty string.

This commit refactors 'goVersion' to execute the command with '.Dir' set
to the 'build.Dir', in addition to now returning an error, so that
issues may be bubbled up in the build log, rather than silently failing.

It also adds a new helper function to facilitate running 'goVersion' by
creating a temporary executable that outputs a given 'version' string.
This function is only currently used by 'TestWithDefaults'.

Co-authored-by: Rob Prentiss <prentiss@apple.com>
2021-08-21 10:56:54 -03:00
Carlos Alexandro Becker
a813644522
feat: support windows/arm64 (#2407)
* feat: support windows/arm64

closes #2404
closes #2405

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

* fix: broken test

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

* docs: deprecation warnings

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-08-16 23:00:56 -03:00
Carlos Alexandro Becker
a4a96eab54
fix: main check when using gomod.proxy (#2390)
* fix: main check when using gomod.proxy

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

* fix: main check when using gomod.proxy

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

* test: fix

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

* test: fix

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-08-13 20:33:48 -03:00
Carlos Alexandro Becker
1dd2ad1ae6
fix: return an err with stdout/err when a command failed (#2363)
* fix: return an err with stdout/err when a command failed

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

* chore: fmt

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

* test: fixes

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-07-24 21:32:04 -03:00
Carlos Alexandro Becker
10f3021afe
fix: empty build.tags and build.ldflags (#2301)
* refactor: build go build cmd line

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

* fix: build.tags

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

* refactor: improve test code

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

* refactor: improve test code

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-06-16 20:41:52 -03:00
Carlos A Becker
752d8653ff
fix: move log back to debug
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-06-01 10:58:02 +00:00
Carlos Alexandro Becker
2375c93359
feat: build tags (#2268)
* feat: build tags

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

* fix: quotes

Co-authored-by: Lukas Malkmus <lukasmalkmus@users.noreply.github.com>

Co-authored-by: Lukas Malkmus <lukasmalkmus@users.noreply.github.com>
2021-05-31 13:47:39 -03:00
Carlos Alexandro Becker
8306b946d3
feat: initial proxy build support (#2129)
* feat: allow to use ModulePath on templates

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

* feat: initial proxy build support

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

* fix: build

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

* fix: main check

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

* fix: make it more flexible

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

* fix: small improvements

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

* fix: copy go.sum

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

* fix: root mod proxy

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

* fix: test

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

* fix: snapshots

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

* fix: lint

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

* fix: proxy main pkg

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

* fix: environment variables

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

* test: added some tests to go mod proxy feature

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

* fix: improve test

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

* fix: linte

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

* fix: goreleaser.yml

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

* fix: simplify tests

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

* test: test build

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

* fix: revert unwanted changes

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

* fix: allow to run when no mod.suym

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

* docs: example

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

* fix: not a go module on go 1.15

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

* docs: improve docs as per comments

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-03-30 21:06:25 -03:00
Carlos Alexandro Becker
9c66827d94 fix: check main error message
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-03-23 15:52:11 -03:00
Carlos Alexandro Becker
9f8750dcd2
fix: default gomips (#2124)
* fix: default gomips

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

* fix: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-03-20 15:17:19 -03:00
Carlos Alexandro Becker
784560c06e
fix: try not to break if run on go1.15 (#2069)
* fix: try not to break if run on go1.15

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

* fix: go binary needs to be set

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

* chore: gofumpt

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

* fix: move to log

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-02-18 17:29:20 +00:00
Carlos Alexandro Becker
6b26fe4106
feat: support go 1.16 and apple silicon (#1956)
* feat: support apple silicon

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

* fix: test

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

* feat: go 1.16

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

* feat: go 1.16

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

* feat: go 1.16

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

* test: fix

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

* fix: test case

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

* Update .github/workflows/build.yml

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

* docs: go 1.16

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

Co-authored-by: Radek Simko <radek.simko@gmail.com>
2021-02-16 22:51:11 +00:00
Carlos Alexandro Becker
2edebf0029
feat: add arm64 to the default goarch list (#1999)
* feat: add arm64 to the default goarch list

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

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-01-07 12:25:52 +00:00
Carlos Alexandro Becker
264dedc12a
chore: added todo for go 1.16 migration 2020-12-03 18:16:45 -03:00
Carlos Alexandro Becker
40aa04fe71
fix: dont fail if there is a .go directory (#1899)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-11-13 13:18:26 +00:00
Carlos Alexandro Becker
032a105533
feat: validate goos, goarch, goarm and gomips (#1886)
* feat: validate goos, goarch, goarm and gomips

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

* fix: lint

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

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-11-05 07:20:14 +00:00
Carlos Alexandro Becker
65ffbf1921
refactor: replace pkg/errors.Wrap with fmt.Errorf (#1812)
* refactor: remove pkg/errors

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

* refactor: remove pkg/errors

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

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-09-21 17:47:51 +00:00
Carlos Alexandro Becker
28230b67f8
fix: do not default goos/goarch/goarm if targets is provided (#1789)
* fix: do not default goos/goarch/goarm if targets is provided

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

* test: fixed

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-09-06 11:39:52 -03:00
Chris Salch
cc3567cde9
feat: Add gobinary option to build configs (#1775)
* Possible implementation of #1235.

Adds the go_binary config option and defualts it to "go".

* Correct docs.
2020-08-30 10:15:33 -03:00