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
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
d0cf457136 feat: improve verbose output (#4017)
- deprecates `--debug` in favor of `--verbose` which is clearer 
- improved some debug log outputs
- docs: update documentation to always use the `release` subcommand
(when it makes sense)
2023-05-27 00:18:39 -03:00
e0dabc1cb9 feat(telegram): ability to choose msg format, mdv2escape (#4036)
this allows to choose parse mode between `HTML` and `Markdownv2`, and
adds a new template function, `mdv2escape`, to escape the characters
according to telegram docs:
https://core.telegram.org/bots/api#formatting-options


closes #4021
2023-05-27 00:17:02 -03:00
3bb9a9a5b3 feat: allow to sign KO manifests (#4038)
add ko-generated manifests to the artifact list, this way they can be
signed later.

closes #4027

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-27 00:16:07 -03:00
051381837d feat(ko): allow to have an empty tag name (#4043)
Empty tag names will then be filtered out. This allows to have optional
tags depending on templates, for example,
`{{if not .Prerelease}}latest{{end}}`, among other use cases.

This already happens in the `dockers` section, and is now implemented in
`kos` too.

refs https://github.com/orgs/goreleaser/discussions/4042
2023-05-27 00:14:02 -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
7da18ec8f4 docs: improve brew and krew docs
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-19 14:25:59 +00:00
27f94523c8 fix(scoop): allow templating name and skip_upload
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-19 14:25:39 +00:00
9fb855a204 docs: cookbook for monorepos, release.tag
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-17 23:22:36 +00:00
05d25567f9 feat: allow to template dockers.skip_push and docker_manifests.skip_push (#4008) 2023-05-12 01:51:02 -03:00
aecc9ea982 docs: homebrew link to resource-not-accessible-by-integration (#4003)
This adds information on token configuration in hopes that users who
read it will avoid the error.

Co-authored-by: Michał Matczuk <mmatczuk@gmail.com>
2023-05-11 09:47:00 -03:00
b54d9d8aa4 docs: fix prebuilt binaries page (#3987)
<!--

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

Fixes documentation for the "prebuilt binaries" section of the docs
2023-05-05 13:37:52 -03:00
aaa9da33d5 fix: disable upx for now 2023-05-05 04:26:12 +00:00
f3aa9c79fa docs: note about upx not in path
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-03 17:59:59 +00:00
4330b522ea feat: IsGitDirty template variable (#3967)
will only ever be true on snapshots or when ran with `--skip-validate`.
This should be useful as a ldflag, for example.
2023-05-02 01:04:18 -03:00
43ae761179 feat: native upx support (#3965)
this adds a new root-level `upx` config, so users can pack their
binaries with upx :)

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-01 21:22:05 -03:00
eb823dee14 feat: allow multiple scoops (#3963)
This brings the scoops feature a bit more closer to similar pipes, like
brew and krew.

- It now supports multiple scoops
- It improves some validations to prevent wrong manifests
- It uses extra.binaries instead of extra.builds, as brew does too
	- extra.builds is now unused, will be removed in a subsequent PR
- More tests were added as well

closes #3941

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-04-30 21:29:36 -03:00
5bf42b726f feat: publish taps, krews and scoops to regular git repositories (#3961)
basically redoing #3559 as it got impossible to merge with the many
changes since it was open (which is totally my fault for not merging it
earlier).

Anyhow, still a WIP, going also doing some other related improvements in
the way.

cc/ @graytonio

closes #3559
closes #3525

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Grayton Ward <graytonio.ward@gmail.com>
2023-04-30 10:18:13 -03:00
cc2805b801 docs: improve wording
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-04-30 00:02:38 +00:00
95b809dd13 feat: allow to template nfpms.package_name (#3960)
closes https://github.com/goreleaser/goreleaser/issues/3956
2023-04-29 15:30:52 -03:00
f3e1170a89 feat: log generated artifact sizes (#3954)
This adds a log with the size of the generated binaries/packages/etc in
the end of the build process, and also adds it to the artifacts.json

closes #3949

TODO:

- [x] tests
- [x] docs
- [ ] ??

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-04-23 20:27:16 -03:00
3324f01bb5 docs(artifactory): Add details on custom_artifact_name (#3953)
This property can be used to omit the artifact name from the target URL,
which indirectly adds support for matrix parameters.

Fixes #3951
2023-04-23 14:22:25 -03:00
c41d6de833 feat: support tgz and txz as archive formats
We support `.tar.gz` since the beginning, and `.tar.xz` for a long time.

`.tgz` and `.txz` are just commonly used shorthands for the same
formats.

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-08 02:40:54 +00: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
282c42164e feat: allow to pr scoop manifests (#3916)
follow up of https://github.com/goreleaser/goreleaser/pull/3903

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-07 11:48:49 -03:00
5805c5d608 feat: allow to pr krew plugin manifests (#3915)
following up on #3903

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-07 11:48:35 -03:00
8b1c4ead60 feat: allow to PR homebrew taps (#3903)
closes #3485

also fixed a bug in file creation for github: it was always searching
for the file in the default branch

also, we don't need to create the file first, update does both create
and update.

TODO: implement the for krew, scoop, etc...

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-06 22:58:06 -03:00
62bd21ce8d docs: improve docs on scoop.folder
refs #3899
2023-04-04 01:33:04 +00:00
d524d93086 docs: standarizing docs defaults, since, etc (#3898)
- [x] if the default is the zero-value for the field, do not specify
- [ ] TODO: add a "how to read this docs" section somewhere explaining
that
- [x] if the change was introduced in a v1.x.0, say only v1.x
- [x] drop trail ending `.` from Since, Default, etc
- [x] wording: always use `Default: ` instead of `Defaults to` and
others
- [x] add a note to templateable fields
- [x] default value of a field, if its a string, always between single
quotes `'`

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-02 17:16:21 -03:00
6ae7b08188 docs: improve page on partial builds
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-31 17:38:04 +00:00
f33a36f01f docs: fix typo
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-30 13:26:03 -03:00
f5bcdff445 docs: update
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-29 22:23:53 -03:00
44f8fae305 feat: IsDraft template variable (#3888)
allows to use `{{ .IsDraft }}` in templates.

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-24 00:01:48 -03:00
f82a32cd3a feat: blobs.disable (#3884)
Allows to template-disable specific blob configurations.

Closes #3883
2023-03-23 08:59:04 -03:00
c47315fead feat(ko): support labels and creation times (#3852)
* Add a `labels` key-value map to the `kos` config.
My interest is to be able to label the built images:
https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#labelling-container-images
* Add creation times to allow using the commit timestamp as meaningful
creation time
2023-03-20 16:05:44 -03:00
1f56d8e088 feat: scoop shortcuts (#3846)
close: https://github.com/goreleaser/goreleaser/issues/3845
2023-03-20 09:21:44 -03:00
dec5fb8e17 feat(deps): bump github.com/goreleaser/nfpm/v2 from v2.26.0 to v2.27.1 (#3876)
latest and greatest, just released, nfpm version!

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-19 23:19:22 -03:00
590eff32d2 feat: .Now template variable (#3853)
This will allow more customized templates using dates!

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-19 22:21:43 -03:00
6e4c0e6abe docs: update git.md
refs #3841

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-19 22:21:06 -03:00
8877fe1ef4 feat: include prerelease suffix in git (#3841)
<!--

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 commit will fix bad version tag sort if there is a prerelease on
the same commit as a release tag. Current output is shown below
```
❯ git tag --points-at HEAD --sort=-version:refname --format='%(creatordate)%09%(refname)'
Thu Mar 2 21:38:51 2023 +0300   refs/tags/v1.13.0-rc3
Thu Mar 2 21:38:51 2023 +0300   refs/tags/v1.13.0
```
Test is changed to match current default value so it will fail without
this fix.

Default value `-` is set to the one that is described inside
[docs](https://goreleaser.com/how-it-works/?h=prerelease#how-it-works),
but people are still allowed to change it.

Output with fix applied
```
❯ git -c versionsort.suffix=- tag --points-at HEAD --sort -version:refname --format='%(creatordate)%09%(refname)'
Thu Mar 2 21:38:51 2023 +0300   refs/tags/v1.13.0
Thu Mar 2 21:38:51 2023 +0300   refs/tags/v1.13.0-rc3
```

<!-- # Provide links to any relevant tickets, URLs or other resources
-->
More info about `versionsort.suffix` can be found
[here](https://github.com/git/git/blob/master/Documentation/config/versionsort.txt#L5)

Docs as well both schemas are updated as well.

I am not sure if users should be allowed to change this option at all.
2023-03-19 22:19:40 -03:00
3345f8c9c5 docs: add note about binary archives (#3867)
closes #3844
closes #3843 
closes #3862

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: fogfish <dmkolesnikov@gmail.com>
2023-03-13 09:39:41 -03:00
7285e04821 docs: clarify divider 2023-03-09 15:53:53 -03:00
a40eb15618 feat: add base template function (#3834)
refs #3833

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-04 12:16:37 -03:00
2920de7cec feat: templateable changelog.skip (#3830)
closes #3828
2023-03-03 09:49:41 -03:00
9e21511300 feat: cosign update (#3821)
cosign v2 update!

- need to use `--yes` to auto-approve prompts

cc/ @cpanato anything else I'm missing?

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-02 15:11:43 -03:00
d5151a6eb0 feat: ConventionalExtension on nFPM (#3822)
closes  #3799

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-02 14:35:55 -03:00
26cdc63b7e docs: add missing file
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-01 09:42:12 -03:00
adc279a15c docs: update
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-01 01:45:52 -03:00
53838da8ac fix: smtp mixup of env and yaml opts (#3815)
it was forcing to provide the same information as env and yaml.

this should fix it.

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-01 01:38:53 -03:00