1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-10 03:47:03 +02:00
Commit Graph

1257 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
09411ea60a
feat: Checksums as a template field (#4064)
this would allow to add the checksums to the body of the release
contents, for example.


refs https://github.com/orgs/goreleaser/discussions/4063

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-05 13:05:28 -03:00
Carlos Alexandro Becker
d0ba64e70d
test: fix scoop tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-06-01 17:17:08 +00:00
Carlos Alexandro Becker
f618f00cd0
test: fix temp file
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-31 18:37:21 +00:00
Carlos Alexandro Becker
1d92a36340
feat(scoop): allow to template description and homepage (#4057)
make `scoops.description` and `scoops.homepage` templateable as well.
2023-05-30 13:41:24 -03:00
Carlos Alexandro Becker
ffad12eae4
feat(upx): allow to filter by goos, goarch, goarm, goamd64 (#4056)
closes #3993
closes #3982
2023-05-30 08:50:08 -03:00
Carlos Alexandro Becker
ac5788eed0
fix: add do not edit header to generated files
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-29 18:23:00 +00:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
a3bc051933
fix(nix): better errors if nix-prefetch-url fails 2023-05-29 16:38:11 +00:00
Carlos Alexandro Becker
75c47d1da8
feat(nix): support armv6l and armv7l (#4051)
closes #4049
2023-05-29 11:59:19 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
1f8a7b2fc5
feat(github): avoid rate limits (#4037)
before doing anything, check the `/rate_limits` API... if we have less
than 100 remaining, wait for the reset timer.

closes #4028
2023-05-27 00:15:43 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
b9e276feca
fix(nfpm): write too long when writing the lintian file (#4039)
The lintian files were being written for every format, whether they were
a deb or not.

Since package name and arches are the same, and packaging runs in
parallel, it could happen that one goroutine is reading while the other
is writing, as we were guaranteeing uniquenes based on package name and
arch only.

This makes it only creates the lintian files when format is deb, so this
shouldn't happen anymore.

It also goes one step further by using the actual format in the filepath
instead of hard-coding "deb".

This also still supports tmux.

closes #4024
2023-05-26 09:59:48 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
dbd4342078
test(nfpm): fix after update 2023-05-24 12:18:58 +00:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
dfcd535e31
fix: improve "pushing" logs for multiple publishers 2023-05-19 14:10:06 +00:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
05d25567f9
feat: allow to template dockers.skip_push and docker_manifests.skip_push (#4008) 2023-05-12 01:51:02 -03:00
Carlos Alexandro Becker
ad00069419
fix: warn when no match on archive files (#3992)
refs https://github.com/orgs/goreleaser/discussions/3991

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-05-06 23:08:36 -03:00
Carlos Alexandro Becker
6eed3e03b0
fix: typo in a brew error message 2023-05-02 12:18:36 +00: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
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
b36e913eda
fix: reportsizes before metadate 2023-04-30 17:00:43 +00:00
Carlos Alexandro Becker
28ca70faae
refactor: use context 2023-04-30 13:33:57 +00:00
Carlos Alexandro Becker
7858e3ee1a
refactor: improvements 2023-04-30 13:23:26 +00:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
30fc74df24
fix: log when no artifacts match for signing 2023-04-28 01:07:38 +00:00
Carlos Alexandro Becker
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
dependabot[bot]
2d5cb60771
feat(deps): bump github.com/charmbracelet/keygen from 0.3.0 to 0.4.1 (#3932)
Bumps
[github.com/charmbracelet/keygen](https://github.com/charmbracelet/keygen)
from 0.3.0 to 0.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/charmbracelet/keygen/releases">github.com/charmbracelet/keygen's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.1</h2>
<h2>Changelog</h2>
<h3>Bug fixes</h3>
<ul>
<li>ba5b3746062cbc051702c188911f44c1e2b5c986: fix: don't trim key path
(<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
</ul>
<hr />
<p><!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML
omitted --></p>
<p>Thoughts? Questions? We love hearing from you. Feel free to reach out
on <a href="https://twitter.com/charmcli">Twitter</a>, <a
href="https://mastodon.technology/@charm">The Fediverse</a>, or on <a
href="https://charm.sh/chat">Discord</a>.</p>
<h2>v0.4.0</h2>
<h1>Breaking Change</h1>
<ul>
<li>Keygen no longer appends the key type to the file path.</li>
<li>Use functional options to specify key type, passphrase, and other
options.</li>
<li><code>PrivateKeyPEM</code> is now <code>RawPrivateKey</code></li>
<li><code>RawProtectedPrivateKey</code> returns the password protected
PEM encoded private key.</li>
<li><code>PublicKey</code> is now <code>RawAuthorizedKey</code>.</li>
<li><code>AuthorizedKey</code> returns the authorized key stripped out
of comments and options (the ssh pubic key only).</li>
<li><code>PrivateKey</code> now returns the underlying
<code>crypto.PrivateKey</code></li>
<li>Use <code>Signer</code> to get an <code>ssh.Signer</code> from your
key pair.</li>
</ul>
<h2>Changelog</h2>
<h3>New Features</h3>
<ul>
<li>ab32d1ae447e5d74a47dd64ec2e75d0a827ccc9b: feat(ci): add workflows
and goreleaser (<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
<li>6ed037835403e5da4a2aa10e5c8568ff4a3bad41: feat: add more tests (<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
<li>37c7434ac69d79048521a7e4bfa0f9dfbb0c1f23: feat: bump dependencies
(<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
<li>8d80e760657463eda55e2f0c773ed3fe3b3e3b08: feat: return ssh.Signer
(<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
<li>6c0cbbb70022377d611d25d98836e016b2c145a5: feat: specify ECDSA
elliptic curve (<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>30d86a9582001686d63de3f79e4e90a7b6a62a9e: fix: update x/crypto (<a
href="https://redirect.github.com/charmbracelet/keygen/issues/8">#8</a>)
(<a href="https://github.com/caarlos0"><code>@​caarlos0</code></a>)</li>
</ul>
<h3>Documentation updates</h3>
<ul>
<li>eef068dedc6af24e8eda0c99db3a03c988b46cff: docs: new readme footer
(<a href="https://github.com/muesli"><code>@​muesli</code></a>)</li>
<li>f7556041d69b45aef018df2269d29e6d018ae6cc: docs: update example in
readme (<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
</ul>
<h3>Other work</h3>
<ul>
<li>472a463d0e8df9e768b350d75ee57a8c9baf69d6: ref: change api to expose
ssh.PublicKey and authorizd_key (<a
href="https://github.com/aymanbagabas"><code>@​aymanbagabas</code></a>)</li>
</ul>
<hr />
<p><!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML
omitted --></p>
<p>Thoughts? Questions? We love hearing from you. Feel free to reach out
on <a href="https://twitter.com/charmcli">Twitter</a>, <a
href="https://mastodon.technology/@charm">The Fediverse</a>, or on <a
href="https://charm.sh/chat">Discord</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ba5b374606"><code>ba5b374</code></a>
fix: don't trim key path</li>
<li><a
href="6ed0378354"><code>6ed0378</code></a>
feat: add more tests</li>
<li><a
href="6c0cbbb700"><code>6c0cbbb</code></a>
feat: specify ECDSA elliptic curve</li>
<li><a
href="8d80e76065"><code>8d80e76</code></a>
feat: return ssh.Signer</li>
<li><a
href="3dbbf0ca45"><code>3dbbf0c</code></a>
chore: go mod tidy</li>
<li><a
href="37c7434ac6"><code>37c7434</code></a>
feat: bump dependencies</li>
<li><a
href="472a463d0e"><code>472a463</code></a>
ref: change api to expose ssh.PublicKey and authorizd_key</li>
<li><a
href="30d86a9582"><code>30d86a9</code></a>
fix: update x/crypto (<a
href="https://redirect.github.com/charmbracelet/keygen/issues/8">#8</a>)</li>
<li><a
href="eef068dedc"><code>eef068d</code></a>
docs: new readme footer</li>
<li><a
href="f7556041d6"><code>f755604</code></a>
docs: update example in readme</li>
<li>Additional commits viewable in <a
href="https://github.com/charmbracelet/keygen/compare/v0.3.0...v0.4.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/charmbracelet/keygen&package-manager=go_modules&previous-version=0.3.0&new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-04-23 14:21:33 -03:00
John Olheiser
6b86499655
feat: add force_token to config (#3936)
As a follow-up to #3910, this adds `force_token` to the config.

Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-04-23 13:53:45 -03:00
Carlos Alexandro Becker
3c7a63979c
test: ensure utf-8 sources/archives filenames work properly (#3925)
This now works for files added to the source archive **after** the `git
archive` command is run. During the `git archive`, it seems that the
`tar` is still using some format that doesn't support utf-8 by default.

Tomorrow I'll look more into it.

see https://pkg.go.dev/archive/tar#Format

closes #3812

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-Authored-By: Mohammed Al Sahaf <msaa1990@gmail.com>
2023-04-15 15:48:14 -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
e872e45b44
fix: improve docker error handling (#3942)
refs
https://github.com/goreleaser/goreleaser/pull/3940#issuecomment-1507149519
2023-04-13 13:56:56 -03:00
Carlos Alexandro Becker
f6b5e9abb8
fix: source archive not being added when no extra-files (#3938)
closes #3937

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-04-13 11:44:02 -03:00
Matthew Bamber
ac19f902b4
fix(nfpm): Add extension to produced artifacts (#3940)
Add extension to produced artifacts so that they can be filtered in
later steps

Fixes #3933

Co-authored-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-13 11:42:58 -03:00
Carlos Alexandro Becker
d5a413f9f4
feat: add context info to docker build errors (#3920)
its too hard to debug docker build issues... sometimes is just a typo in
the binary name, and you might end debugging it for way too long...

this prints the full path to the build context (so, locally at least,
you can cd into it) and also all the files available there when the
error seems to be one of the "file not found" kind.

Hopefully this helps fixing things easier :)

closes #3912

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-08 21:06:04 -03:00
Carlos A Becker
00d16bb51d
test: improve source tests
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-08 02:30:26 +00:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos A Becker
137ed3be74
feat(deps): update caarlos0/env to v8
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-07 01:50:09 +00:00
Carlos Alexandro Becker
dc6a4e7e2f
feat: allow to forcefully use a token when multiple are set (#3910)
This would allow to, when multiple tokens are set in the environment,
force which one you want to use.

The need for this comes from the fact gitea sets both `GITHUB_TOKEN` and
`GITEA_TOKEN`, and doesn't allow to easily disable either.

With this, users can add a `GORELEASER_FORCE_TOKEN=gitea` to force the
gitea client to be used.

I'm not sure what's the best name for this env yet, happy to hear
suggestions.

Also improved the `env_test.go` file a bit, as it was kinda messy with
env vars...

refs https://github.com/orgs/goreleaser/discussions/3900

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-04-05 16:33:22 -03:00