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

632 Commits

Author SHA1 Message Date
a5f2302fd9 chore: update docs/schema for pro
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-02-26 17:44:02 -03:00
9dfa94cbb3 feat: scoop depends (#3797)
closes #3796

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-02-22 09:18:44 -03:00
2c80588251 fix: better handle password protected keys (#3788)
password-protected keys would give path errors, which was simply not
right.

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-02-20 13:18:12 -03:00
7f445e9f8d docs: update snap ref links (#3775)
update snapcraft doc supported interfaces ref link
2023-02-13 14:51:48 -03:00
6c21b01586 feat: add OpenCollective (#3753)
This PR adds [OpenCollective](https://opencollective.com) as an
announcement pipeline.

![Screenshot from 2023-02-03
00-11-18](https://user-images.githubusercontent.com/42128690/216525902-31e1f358-3c3d-4c1c-9d71-402170a8a0e6.png)

---------

Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-02-09 09:11:47 -03:00
99ae082237 feat: finally deprecate the single build option (#3758)
This option was still being supported, even though undocumented, for
many years now.

I think it's finally time to sunset it for good, in 6 months :)

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-02-09 08:56:37 -03:00
72bd87dc41 docs: improve changelog 2023-02-02 21:58:13 -03:00
92377e8b6e docs: twitter non-free api warning
refs #3751

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-02-02 21:06:34 -03:00
53fdcd7709 docs: reference --clean instead of --rm-dist everywhere
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-30 23:06:46 -03:00
Jo
050f5a43c2 docs: fix typo in changelog page (#3730)
Fix a typo in https://goreleaser.com/customization/changelog/
2023-01-30 10:04:39 -03:00
750664f449 docs: fix nfpm override depends
should be dependencies

closes #3721

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-27 21:45:58 -03:00
afc38b79a9 feat: allow to template release.disable and releaser.skip_upload (#3710)
closes https://github.com/goreleaser/goreleaser/issues/3705

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-23 22:27:01 -03:00
d386cbf3ce feat: allow to template snaps.grade (#3712)
refs
d73320559b

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-23 22:05:24 -03:00
a1876e3eca docs: GO_VERSION in the examples might cause confusion
refs #3709

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-22 17:23:31 -03:00
d6504aaa1d docs: keep --rm-dist for now
refs #3702

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-21 18:25:37 -03:00
3eb759f039 docs: keep --rm-dist on docs for now
refs #3702
2023-01-21 18:23:50 -03:00
d18adfb57e feat: deprecate --rm-dist in favor of new --clean flag (#3702)
After talking with @perylemke, we realized that probably most people
will likely expect it to be called --clean instead of --rm-dist, as its
more similar to the popular `make clean` task.

This adds the --clean flag, and make the --rm-dist one deprecated.

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-20 23:47:08 -03:00
1381e02f59 docs: quote strings in docker manifests docs 2023-01-20 12:01:08 -03:00
9c5b4d56d9 docs: consistent formatting
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-16 23:48:34 -03:00
2450746e5c feat: add ko support (#3653)
continuing the PR by @developer-guy 


- [x] should be a publisher, as it does publish the images it builds
every time
- [x] `Default` method does not work
- [x] the `fromConfig` thing should probably be on the defaults, too
- [x] wire `--skip-ko`
- [x] documentation
- [x] more tests
- [x] use same registry as docker tests does
- [ ] see if we can make the log output match goreleaser's
- [ ] ??

closes #2556
closes #3490

Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: actions-user <actions@github.com>
Co-authored-by: Jason Hall <jason@chainguard.dev>
Co-authored-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
2023-01-16 22:34:49 -03:00
cb13b55616 docs: apk key name template
refs #3667

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-11 09:13:38 -03:00
95c4c86806 docs: update changelog docs and schema
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-07 23:45:56 -03:00
82be112be1 feat: allow to template telegram.chat_id (#3686)
closes #3682

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-07 17:20:11 -03:00
ee51a5afb0 fix: do not put binaries in /usr/local/bin (#3677) 2022-12-31 12:17:38 -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
27af559a62 docs: improve reproducible builds 2022-12-16 11:14:33 -03:00
2e5a8e5a54 feat: allow to template archives.files.info (#3630)
this allows to template the owner, group and mtime in file infos inside
archives.

should help towards reproducible builds!

goes well with #3618

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-14 12:16:43 -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
Jo
960814aea8 docs: fix skip_push parameter to skip_build (#3628)
Fix the wrong `skip_push` to `skip_build` in `docker.md`.
2022-12-08 09:43:03 -03:00
b06f217e3b docs: update docker options and schema
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-02 22:38:39 -03:00
f5696d01ee feat: custom tag.sort (#3611)
closes #3609

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-02 21:50:04 -03:00
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
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
a1305d3912 fix: validate env templates (#3591)
ignore invalid environment variables (e.g. no key, no value, or no equal
sign)

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-24 17:12:54 -03:00
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
f3f1c08caf feat: title template function (#3590)
added new `title` template function.


extracted from #3589

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-24 15:21:42 -03:00
b76b65875d docs: note trailing slash on nfpm 2022-11-20 14:22:19 -03:00
de254d582f docs: mastodon 2022-11-20 13:20:26 -03:00
ab08d0b706 fix: move mastodon server to yaml (#3568)
refs #3567

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-17 20:54:57 -03:00
e65c53172e feat: add mastodon (#3567)
This PR adds [mastodon](https://joinmastodon.org/) as an announcement
pipeline. 🥳


![mastodon-announce](https://user-images.githubusercontent.com/42128690/202544345-d90d8f10-0818-4bc2-bc35-3dbcba4254b0.png)


Resolves #3566

Signed-off-by: jolheiser <john.olheiser@gmail.com>
2022-11-17 20:40:00 -03:00
79b7cebdae docs: clarify archlinux and v1.13
closes #3560

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-16 09:32:54 -03:00
b55b9976c7 feat: use digest to sign docker images/manifests (#3556)
this drives it home by using the actual images/manifest digests to sign
with cosign by default.

the default signing command is changing in this PR, but since `digest`
should be always there (if not, the pipeline will fail way earlier), it
should be fine.

refs https://github.com/goreleaser/goreleaser/issues/3496
refs https://github.com/goreleaser/goreleaser/pull/3540

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-15 08:21:18 -03:00
bb00edac2a fix: set dockers.goarm to 6 by default (#3552)
fixes #3545

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-14 13:59:01 -03:00
964e703fb4 docs: small updates
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-11 23:54:16 -03:00
f2281e8ff2 feat: chocolatey support (#3509)
This PR adds support for generating the structure used to pack and push
Chocolatey Packages. And will solve the #3154

Is not ready for merge yet, but has the main structure, and ready for
comments.

Accordingly to Chocolatey, in order to build a package, it's necessary a
`.nuspec` and `chocolateyinstall.ps1` files at least, having these ones,
we could pack and distribute without adding the binary inside the final
package and that was implemented here.

To complete, will be necessary to define the package build and
distribute, however will be required to have Chocolatey installed
(Windows Only). One of alternatives that I thought was, publish the
files like Scoop and Brew in a separate repository, and there we could
use `chocolatey` through
[crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey).

Chocolatey has a lot of good examples of repositories:

https://github.com/chocolatey-community/chocolatey-packages/tree/master/automatic/curl

A final compilation of the missing parts:
- [x] How to pack and push (chocolatey)
- [x] Documentation

Sorry for the long description😄 

All feedback very welcome!

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-11-11 23:52:32 -03:00
e47bad4997 docs: small improvement 2022-11-11 23:42:51 -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
b9241a444c docs: add more podman details
refs https://github.com/goreleaser/goreleaser/issues/3538
2022-11-08 23:15:12 -03:00
0ea4f1d5b7 fix(changelog): group regexps (#3527)
Fix the regular expressions used in changelog group processing to valid
golang (RE2) regexps. These previously used PCRE character class `\w`
which is not supported in RE2 which is what golang regexp uses.

Also document that format matches not just title as some may thing but
the format `<abbrev-commit> <title-commit>`.
2022-11-07 09:28:52 -03:00
b6e5b87711 docs: instruct how to use a pinned version of the jsonschema
closes #3495
2022-11-02 22:14:25 -03:00