1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-17 20:47:50 +02:00

156 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
a7b8cb0a4c
fix: targets 2024-12-01 18:36:17 -03:00
Carlos Alexandro Becker
570af99efe
fix: names 2024-12-01 15:07:46 -03:00
Carlos Alexandro Becker
003e41cb77
feat(build): rust support 2024-12-01 15:06:42 -03:00
Carlos Alexandro Becker
b623d53583
fix: lint 2024-11-29 15:34:07 -03:00
Carlos Alexandro Becker
8f0cede737
fix(build): improve build overrides handling
- jsonschema: make both goos and goarch mandatory
- log.warn if any of them are empty
- log.debug when it doesn't match

refs #5322
2024-11-29 15:05:42 -03:00
Carlos Alexandro Becker
09be848e1a
feat(build): initial support for zig (#5312)
Continuing on #5308 and #5307, this finally adds Zig support to
GoReleaser!

Things are very raw still, plenty of use cases to test (please do test
on your project if you can), but it does work at least for simple
projects!

A release done by this:
https://github.com/goreleaser/example-zig/releases/tag/v0.1.0

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-11-28 08:47:20 -03:00
Carlos Alexandro Becker
f247d7d38c
feat(template): allow to use .Target (#5308)
This will also come in handy for multiple languages support (#5307).

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-11-25 23:41:00 -03:00
Carlos Alexandro Becker
d43f84aa3f
refactor(build): preparing to support multiple languages (#5307)
This starts laying the foundation for supporting more languages, the
first of which will probably be Zig, and then Rust.

I already have a zig prototype working in another branch, just raw
dogged it to see if it would work, and since it does, now I'll do it
piece by piece but with hopefully slightly better code.
2024-11-25 23:00:28 -03:00
Carlos Alexandro Becker
10ab79f858
fix(build): overrides without specifying goarm64 et al (#5298)
this will use the default value for GOMIPS, GOARM, GO386, and etc in
build overrides if they are not specified.

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-11-21 21:09:59 -03:00
Carlos Alexandro Becker
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
Oleksandr Redko
8dad0d8229
docs: fix typos in comments (#5246) 2024-11-05 20:28:16 -03:00
Carlos Alexandro Becker
a8315bca8f
fix: missing equal sign in environment variable
closes #5241
2024-11-04 12:35:50 -03:00
Carlos Alexandro Becker
a4ead4ba28
fix: build override consider goarm64
plus more tests
2024-11-04 08:27:09 -03:00
世界
6ef6623d46
fix: build override (#5239)
Since Go386 now has a default value, existing configurations no longer
match 386 builds (d583861e0606f2bb9e97c0d0e28f9b82df6a187a).

Since we used to need to write goamd64=1 to match _amd64 builds, I added
new opts to fix that. (If you think you need to set some default for
override, that would be even better)
2024-11-04 08:11:52 -03:00
Oleksandr Redko
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
Carlos Alexandro Becker
724d4ae90d
refactor: improve buildtarget.List (#5208)
honestly dunno why we were checking string prefixes there...

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-10-16 01:10:03 -03:00
Carlos Alexandro Becker
2b73005369
test: do not fail if not rel 2024-10-14 23:50:22 -03:00
Carlos Alexandro Becker
d933d8b316
fix: first class build targets 2024-10-14 14:30:28 -03:00
Carlos Alexandro Becker
d583861e06
feat(build): add GO386, GOMIPS64, GORISCV64, and GOPPC64 support (#5186)
continuing the work of #5153

closes #5153

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: 世界 <i@sekai.icu>
2024-10-14 09:40:10 -03:00
Carlos Alexandro Becker
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
Julien Salleyron
40668d4382
fix(build): c-shared build and release when target is wasm (#5128)
This commit fixes the automatic extension when building the wasip1_wasm
target.

Additionally, in future Go versions, support will be added for
generating c-shared WASM binaries.
https://github.com/golang/go/issues/65199


Therefore, this PR corrects the extension in the build process and
removes the .h file from the release when c-shared is enabled and the
target is WASM.
2024-09-09 22:25:54 -03:00
Tom Payne
3a36a49984
chore: fix linter errors (#5111)
If applied, this commit will fix the current linter errors, which are
currently causing all Github Actions to fail.

See, for example, the latest `main` run:
https://github.com/goreleaser/goreleaser/actions/runs/10607661596/job/29400451251.
2024-08-30 17:03:10 -03:00
Nicolás Parada
a9e0a8f112
fix(build): ignore empty flags after templating (#5103)
Ignore empty flags after templating is applied for final Go build line.

This caused us some problems since we had an `if` without `else`,
resulting in an empty flag, causing the whole build to fail with a
misleading error message like:

```
malformed import path "-myflag": leading dash
```
2024-08-27 09:06:27 -03:00
Carlos Alexandro Becker
34ba5b6a79
feat(build): use GOCACHEPROG if set (#4941)
refs #4939

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-06-15 13:45:54 -03:00
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
Oleksandr Redko
c148106c56
docs: update old Go website links (#4855)
The PR updates the links in the docs, replacing the old `golang.org`
with the new `go.dev`.
2024-05-12 13:22:56 -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
lvyaoting
eba43c289e
chore: fix some comments (#4769)
fix some comments

Signed-off-by: lvyaoting <lvyaoting@outlook.com>
2024-04-08 10:08:09 -03:00
Carlos Alexandro Becker
280e68431a
test: move test to the right package
refs c9068b4b3c6ca3bff2a23c1c3af90f562bd16d17

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-03-17 14:43:21 -03:00
Maxime Brunet
b614d646ef
feat: support netbsd/arm64 (#4706)
Add support for `goos=netbsd`,`goarch=arm64` build target

Supported since golang/go@d23cba683e. Like
`freebsd/arm64`, it is not documented in the [official
list](https://go.dev/doc/install/source#environment)
2024-03-17 14:35:55 -03:00
Carlos Alexandro Becker
c9068b4b3c
fix: properly template builds.gobinary
closes #4685
2024-03-16 11:50:51 -03:00
Oleksandr Redko
305663fb5d
test: simplify error asserts with require.ErrorContains (#4640)
The PR refactors tests:
- change two lines `require.Error + require.Contains` with one
`require.ErrorContains`;
- change `require.Error + require.Equal` with `require.EqualError`.
2024-02-19 16:28:06 -03:00
Carlos Alexandro Becker
ccd8c55b4f
test: run testifylint -fix (#4483)
fix a bunch of tests

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-12-17 15:34:28 -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
a14404f0f3
feat: support WASI (#4230)
`wasip1` is a valid `GOOS` value in the upcoming go 1.21.
2023-09-02 14:43:07 -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
Eng Zer Jun
73e59160de
test: use t.Setenv to set env vars (#4140)
We have been using `t.Setenv` is most of our tests. This PR replaces the
remaining `os.Setenv` with `t.Setenv`.

Reference: https://pkg.go.dev/testing#T.Setenv

```go
func TestFoo(t *testing.T) {
	// before
	os.Setenv(key, "new value")
	defer os.Unsetenv(key)
	
	// after
	t.Setenv(key, "new value")
}
```

---------

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-06-25 09:54:10 -03:00
Carlos Alexandro Becker
6fd5fd45ea
feat: improve output (#3966)
- log keys will be ordered as intended instead of sorted
- paths always relative to cwd

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-02 09:06:35 -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 Alexandro Becker
82144cb2c0
test: improve file not found checkings (#3831)
using `errors.Is` everywhere, as file not found errors have different
messages on different OSes.
2023-03-04 12:16:26 -03:00
Carlos Alexandro Becker
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
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