1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-06-23 00:40:06 +02:00
Commit Graph

65 Commits

Author SHA1 Message Date
bbe2ee7bfb refactor: properly annotate deprecated options
Removed unused, deprecated stuff.
2023-08-04 14:47:54 +00:00
aae9433a55 fix: archive extraformat when using format override 2023-06-13 12:16:05 +00:00
eadd377730 feat: remove deprecated rlcp options (#4076)
removing another deprecated option

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-06 13:54:43 -03:00
66cee9493c feat: remove deprecated replacements (#4075)
since this will be a late, big release, let's remove the deprecated
stuff that expired

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-06 11:46:02 -03:00
b5e8d6db06 fix(archive): warn only for non-default globs with no matches (#4013)
Adjust the logging of warnings for unmatched globs to only show when the
glob is not a default. No warning will be output for the default globs
when there are no matching files.

These are defaults, by design, very generic.
We should not warn the user about them not finding anything, as that is
their expected behavior most of the time.
2023-05-16 09:22:22 -03:00
0eb3e7975c fix: use git-archive under the hood (#3904)
This reverts back to using `git archive` for the source archives... but
will keep supporting extra files.

##### How it works:

Basically, we run `git archive` as before.
Then, we make a backup of the generated archive, and create a new one
copying by reading from the backup and writing into the new one.
Finally, we write the extra files to the new one as well.

This only happens if the configuration does have extra files, otherwise,
just the simple `git archive` will be run.

PS: we can't just append to the archive because weird tar format
paddings et al.

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-07 22:53:15 -03:00
a459911f45 fix: many linting issues
refs #3874

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-19 22:17:18 -03:00
4f7475eee1 fix: meta archives make the other archives be ignored (#3804) 2023-02-24 14:58:09 -03:00
a209757ad2 feat: better archives relative paths (#3656)
with this patch, a config like:

```yaml
archives:
  - format: tar.gz
    # this name template makes the OS and Arch compatible with the results of uname.
    name_template: >-
      {{ .ProjectName }}_
      {{- title .Os }}_
      {{- if eq .Arch "amd64" }}x86_64
      {{- else if eq .Arch "386" }}i386
      {{- else }}{{ .Arch }}{{ end }}
      {{- if .Arm }}v{{ .Arm }}{{ end }}
    rlcp: true
    files:
      - src: "build/**/*"
        dst: .

nfpms:
  - package_name: foo
    contents:
      - src: "build/**/*"
        dst: usr/share/foo
    formats:
      - apk

```

will eval this:

<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">

as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.

If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).

So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set

Then, goreleaser will warn you to set `rlcp: true`.

## todo

- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?

fixes #3655

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
937067697b feat: set file info for binaries inside archives (#3618)
closes #3582

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-14 12:16:03 -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
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
91c6f75b8f chore: ign linter warning
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-17 00:14:59 -03:00
36a48eabb7 fix: binary archive when multiple builds (#3385)
closes #3383

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-16 23:47:06 -03:00
8cb4eb1654 fix: ruleguard and semgrep scans and fixes (#3364)
run semgrep-go ruleguard and semgrep scans

https://github.com/dgryski/semgrep-go

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-11 15:32:23 -03:00
4da595ed26 feat: strip_parent_binary_folder (#3261)
* feat: strip_parent_binary_folder

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

* docs: clarify dir

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

* fix: fmt

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

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-15 22:53:36 -03:00
05b3fbd305 refactor: make it easier to merge 2022-08-01 15:58:39 -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
9c426a7b16 refactor: evaluate archive files in another package (#3101)
* refactor: evaluate archive files in another package

would be used in #2911

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-05-11 22:56:25 -03:00
5d9110ab43 refactor: improve archive pipe (#3100)
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-05-11 21:54:28 -03:00
e38e76cac8 feat: meta archives (#3093)
adds support for creating meta archives

closes #3085

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-05-10 09:17:30 -03:00
922992ce76 fix: archive ids (#3052)
* fix: archive ids

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

* test: add archive id filter test

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-19 22:49:08 -03:00
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
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
cdcaf038c8 test: fixes sbom tests
refs #2798

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-12-30 09:47:52 -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
f4cef96055 feat(gofish): support binary releases (#2577)
* feat(gofish): support binary releases

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

* fix: improve code

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-16 23:20:14 -03:00
cbb567ca74 fix(archive): add extra fields to the archives (#2578)
* fix(archive): binary format should have the full binary name

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

* fix: added an extra field

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-16 23:03:06 -03:00
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
b5aefe6571 fix: improve logging
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-13 22:34:55 -03:00
3c98e86620 feat: create macOS Universal binaries (#2572)
* feat: artifacts.Remove

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

* feat: fatbinary

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

* feat: run fatbinary on pipeline

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

* feat: make archives work with fat binaries

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

* feat: make brew work with fat binaries

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

* feat: make gofish work with fat binaries

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

* test: archive binary fatbin

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

* docs: fat binaries

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

* test: fix on linux

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

* feat(ci): enable fat bins on goreleaser itself

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

* refactor: rename to universal binaries

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

* fix: config

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

* fix: rename prop

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-12 14:55:43 -03:00
1890e67fda feat: improve brew.install guessing (#2541)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-10-08 21:25:53 -03:00
73641c71ac feat: file mappings in archives (#2347)
* refactor: archive files

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

* feat: better archives

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

* feat: better archives

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

* fix: test todos

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

* fix: go mod tidy et al

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

* fix: improve docs and remove typoe 'licence' from defaults

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

* test: fixes

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

* fix: error string

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

* test: remove some logs

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

* test: use utc

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-07-21 22:09:02 -03:00
860b4a8f81 chore: gofumpt & lint (#2190)
Signed-off-by: Carlos Becker <caarlos0@gmail.com>
2021-04-25 14:20:49 -03:00
4a6693fb72 feat: replace zglob with fileglob (#1889)
* fix: replace zglob with gobwas/glob

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

* fix: added missing file

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

* test: fixed wrong assertions

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

* fix: use fileglob

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

* feat: update fileglob

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

* fix: update fileglob

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

* fix: tests

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

* fix: test errors

* fix: empty file

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

* fix: update fileglob

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

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-11-10 11:20:55 -03:00
27aa6871cb chore(deps): bump github.com/golangci/golangci-lint from 1.31.0 to 1.32.2 (#1882)
* chore(deps): bump github.com/golangci/golangci-lint

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.31.0 to 1.32.2.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.31.0...v1.32.2)

Signed-off-by: dependabot[bot] <support@github.com>

* fix: lint issues

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

* refactor: lint issues

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-11-10 11:15:03 -03:00
ff2495fbd1 feat: allow to disable archive binary count check (#1856)
closes #1855

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-10-13 17:57:08 -03:00
229c8f54a5 fix: archive check when project is a library
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-10-11 13:00:42 -03:00
4471154461 fix: break the release if archive has different binary counts for each platform (#1841)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-10-10 08:46:16 -03:00
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
ac74de29de chore(deps): update nfpm (#1813)
* chore(deps): update nfpm

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

* fix: lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-09-21 10:13:03 -03:00
69c8a502db chore(deps): bump github.com/golangci/golangci-lint from 1.23.7 to 1.27.0 (#1563)
* chore(deps): bump github.com/golangci/golangci-lint from 1.23.7 to 1.27.0

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

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-05-26 00:48:10 -03:00
fc1ef8a2a2 fix: scoop wrap_in_directory (#1458)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-04-21 16:11:18 -03:00
fa608c302e fix: build.binary and artifact.extra.binary (#1399)
* fix: build.binary and artifact.extra.id

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

* fix: scoop usage of extra[binary]

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

* fix: unlock
2020-03-28 15:40:16 -03:00
969fb4b804 feat: templateable archive.files (#1373)
* feat: support variable substitution in archive.files

* Update internal/pipe/archive/archive.go

* feat: templateable archive.files

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

* docs: templateable archive.files

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

Co-authored-by: Robbie Ostrow <ostrowr@users.noreply.github.com>
2020-03-04 00:52:43 -03:00
d85fff06a2 fix gomips support (#1331)
* wip: fix gomips

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

* wip: fix gomips

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

* test: added more

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

* test: added more

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-02-05 22:08:18 -03:00
8defb77b0e feat: remove singular archive config (#1282)
* feat: remove singular archive config

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

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2019-12-29 15:02:15 -03:00
b477ffa095 refactor: pointer to artifact (#1110)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2019-08-12 17:44:48 -03:00
8286402e3e fix: better duplicate ID message
refs #1090

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2019-07-27 10:55:56 -03:00