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

725 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
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
Carlos A Becker
e1ab1049ed
test: fix broken test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-12 17:57:02 -03:00
Carlos A Becker
e8c0f578b5
test: improve test stability
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-12 15:44:26 -03:00
gal-legit
5eb1e4ad0d
feat: add digest to artifacts info of published docker images (#3540)
Extract the digest (sha256) of docker images from the `docker push`
command for dockers published to the docker registry.
Outputting the digest is required to avoid a race condition when
referencing the image, where the image tag is being modified before the
reference is done.
See this [blog
post](https://github.com/goreleaser/goreleaser/issues/3496) for more
info.
This PR fixes https://github.com/goreleaser/goreleaser/issues/3496.

Note that the 'publish' pipe now must run before the 'metadata' pipe, so
that the information extracted during the 'publish' pipe would appear in
the metadata.
Previously, the published docker images metadata wasn't printed (because
of the order). It made sense because the content of the published image
was just a subset of the local one.
Now that it is printed to the metadata, it should have a different name
to avoid confusion.
As I mentioned, it wasn't printed before - so there shouldn't be any
backward-compatibility issues.

---
Local tests:
```
go test -v .
=== RUN   TestVersion
=== RUN   TestVersion/only_version
=== RUN   TestVersion/version_and_date
=== RUN   TestVersion/version,_date,_built_by
=== RUN   TestVersion/all_empty
=== RUN   TestVersion/complete
--- PASS: TestVersion (0.00s)
    --- PASS: TestVersion/only_version (0.00s)
    --- PASS: TestVersion/version_and_date (0.00s)
    --- PASS: TestVersion/version,_date,_built_by (0.00s)
    --- PASS: TestVersion/all_empty (0.00s)
    --- PASS: TestVersion/complete (0.00s)
PASS
ok      github.com/goreleaser/goreleaser        0.764s
```

Output example:
```
  {
    "name": "gallegit/hello-world:latest",
    "path": "gallegit/hello-world:latest",
    "goos": "linux",
    "goarch": "amd64",
    "internal_type": 10,
    "type": "Published Docker Image",
    "extra": {
      "digest": "sha256:c3f7dd196a046dc061236d3c6ae1e2946269e90da30b0a959240ca799750e632"
    }
  }
```

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-11-12 14:51:53 -03:00
Carlos Alexandro Becker
778f099a9a
fix: improve artifactory error handling (#3546)
closes #3543

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-12 00:49:08 -03:00
Fabio Ribeiro
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
Carlos A Becker
22a7a9a835
refactor: small improvements
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-11 23:42:52 -03:00
Giorgio Azzinnaro
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
Steven Hartland
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
Carlos A Becker
129c23f2d9
test: fix scm test on forks
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-04 16:02:33 -03:00
Carlos A Becker
4f2c0ce34a
test: skip sbom tests locally if not syft
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-04 16:00:29 -03:00
Arsen6331
ad359a4712
feat: implement nfpm archlinux packages (#3470)
<!--

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 implements the Archlinux packages that were added in nfpm
v2.20.0, as well as tests and documentation for them.

<!-- Why is this change being made? -->

<!-- # Provide links to any relevant tickets, URLs or other resources
-->

goreleaser/nfpm#133
goreleaser/nfpm#543
Fixes #3469

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-11-02 15:30:06 -03:00
Carlos Alexandro Becker
1a69d44d6d
fix: allow to template scoop/brew/krew repo ref (#3521)
closes #3508

- adds template support for krew and scoop repo refs
- template branch on reporef on brew as well

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-11-02 14:54:16 -03:00
Carlos A Becker
f2f72a57e3
test: gitea with trailing slash 2022-10-21 22:53:24 -03:00
Sam Therapy
154c520755
fix: Trim trailing slash from Gitea URL (#3488)
This PR will truncate any trailing slash left by specifying only a Gitea
API URL.

Fixes #3487

I have not added any tests for this.

Signed-off-by: Sam Therapy <sam@samtherapy.net>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-10-21 22:42:19 -03:00
Carlos A Becker
f90df0f5ec
fix: getting previous tag
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-10-17 22:39:32 -03:00
Carlos Alexandro Becker
27cbbd8e66
fix: change publishers order a bit (#3473)
closes https://github.com/goreleaser/goreleaser/discussions/3472
2022-10-17 21:19:11 -03:00
Arsen6331
f6eb51cb9c
feat: integrate ConventionalExtension from nfpm v2.20.0 (#3468)
<!--

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 upgrades nFPM to v0.20.0, and integrates the new
`ConventionalExtension` method to use the correct extension for the
packaging format that is being used.

<!-- Why is this change being made? -->

Currently, goreleaser uses the name of the format to determine the
extension. This has worked fine, but with the introduction of Archlinux
packages, goreleaser has to handle packages with extensions that don't
match the name of the format, since Archlinux uses `.pkg.tar.zst` as the
extension.

<!-- # Provide links to any relevant tickets, URLs or other resources
-->

goreleaser/nfpm#546
goreleaser/nfpm#543
2022-10-15 16:57:39 -03:00
Carlos Alexandro Becker
9e6fb4f55c
feat: more templateable fields for blobs (#3461)
closes #3460

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-10-14 10:17:30 -03:00
Carlos Alexandro Becker
2b0bdffb3e
refactor: making it easier to merge with pro (#3463)
this improves mergeability between pro and oss a bit

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-10-14 00:31:05 -03:00
Carlos Alexandro Becker
080ccff8db
feat: nfpm for ios (#3436)
Jailbroken iOS can install deb packages, and it seems the only change
needed is to set the OS to `ios` instead of `linux`.

Closes #3410

cc/ @blacktop

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-10-12 21:24:39 -03:00
Carlos A Becker
d88600aca7
fix: revert unwanted change in docker.go
refs #3414
2022-10-05 11:12:50 -03:00
Carlos Alexandro Becker
a42c8ae706
feat: aur backup (#3366)
closes #3353
2022-10-05 09:42:17 -03:00
Carlos Alexandro Becker
24178b1060
feat: permanently remove buildpacks (#3414)
removing for good!

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-10-05 09:42:05 -03:00
NoahK
81de8addf1
feat: MarkdownV2 for Telegram announcer (#3435)
Set MarkdownV2 as parse mode for Telegram announcer.

This allows for additional formatting in the announcement, such as
`code` or _italic_ sections. For details, see the official [Telegram Bot
API](https://core.telegram.org/bots/api#markdownv2-style).

If someone has the time (not added in this PR), I think it would be
great to add a field to the Telegram config for the parse mode. This
would allow setting a different parse mode than MarkdownV2, such as
HTML.

This fixes #3431.
2022-10-05 09:35:01 -03:00
Carlos Alexandro Becker
4a51099964
fix: gomod.env not being used (#3434)
Fixes  #3426

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-10-04 13:01:18 -03:00
Carlos Alexandro Becker
d7cf3dd889
docs: update nfpm docs (#3396)
closes #3380

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-24 22:42:30 -03:00
Carlos A Becker
e9a54ce40b
test: fixed a broken test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-18 14:21:33 -03:00
Carlos A Becker
91c6f75b8f
chore: ign linter warning
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-17 00:14:59 -03:00
Carlos Alexandro Becker
c1965923b0
docs: improve wording/formatting in several places (#3384)
this just improves docs wording and formatting in several places.

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-17 00:13:09 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
707747db3b
fix: print release url after publishing it (#3374)
very small improvement, but useful nevertheless

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-13 23:52:54 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
2244bba1e0
fix: templates in release URLs (#3365)
closes #3356

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-09-11 14:28:50 -03:00
Carlos Alexandro Becker
efdba10f58
fix: guard changelog commit abbrev behind config (#3349)
this allows the user to specify the abbrev lenght to use, and will also add the option to omit the commit hash altogether by setting it to -1.
default is doing nothing

closes #3348

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-30 12:04:01 -03:00
Carlos Alexandro Becker
d7acf21f03
fix: source archive add subfolders (#3343)
`--add-file` adds only the `--prefix` joined with the basename of the added file, so, adding a folder like `vendor` would break havoc.

this basically writes our own source archives (which are more compressed) and allows to add an entire folder easily, as well as other mappings as `archives` already supports. 

refs #3102 #2911

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-25 02:15:37 -03:00
Carlos Alexandro Becker
e67975ea99
feat: add extra files to source archives (#3102)
closes https://github.com/goreleaser/goreleaser/issues/2911

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-25 01:10:26 -03:00
dependabot[bot]
7ed4197f51
feat(deps): bump github.com/caarlos0/env/v6 from 6.9.3 to 6.10.0 (#3338)
Bumps [github.com/caarlos0/env/v6](https://github.com/caarlos0/env) from 6.9.3 to 6.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/caarlos0/env/releases">github.com/caarlos0/env/v6's releases</a>.</em></p>
<blockquote>
<h2>v6.10.0</h2>
<h2>Changelog</h2>
<h3>New Features</h3>
<ul>
<li>69c7b5a1dc8b2c4e78a7211aef3fd102333e4e4f: feat: aggregate validation errors (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/233">#233</a>) (<a href="https://github.com/akutuev"><code>@​akutuev</code></a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>439dbad60f367bc1995f066cf9127743d468a572: fix: RequiredIfNoDef with nested structs (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/229">#229</a>) (<a href="https://github.com/HarmlessEvil"><code>@​HarmlessEvil</code></a>)</li>
</ul>
<h3>Documentation updates</h3>
<ul>
<li>60b5226da3e5e4ca3dcb795b8416f30c5cb2c5a9: docs: broken link (<a href="https://github.com/caarlos0"><code>@​caarlos0</code></a>)</li>
<li>4c93d81012635da80954a1b3ec2e30566aa1b9d9: docs: remove duplicate <code>string</code> (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/232">#232</a>) (<a href="https://github.com/dacapoday"><code>@​dacapoday</code></a>)</li>
</ul>
<hr />
<p><em>Released with <a href="https://goreleaser.com/pro">GoReleaser Pro</a>!</em></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="69c7b5a1dc"><code>69c7b5a</code></a> feat: aggregate validation errors (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/233">#233</a>)</li>
<li><a href="4c93d81012"><code>4c93d81</code></a> docs: remove duplicate <code>string</code> (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/232">#232</a>)</li>
<li><a href="60b5226da3"><code>60b5226</code></a> docs: broken link</li>
<li><a href="1917ee3bb3"><code>1917ee3</code></a> chore(build): makefile</li>
<li><a href="439dbad60f"><code>439dbad</code></a> fix: RequiredIfNoDef with nested structs (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/229">#229</a>)</li>
<li>See full diff in <a href="https://github.com/caarlos0/env/compare/v6.9.3...v6.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/caarlos0/env/v6&package-manager=go_modules&previous-version=6.9.3&new-version=6.10.0)](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>
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-25 01:08:00 -03:00
Carlos Alexandro Becker
a7c6b14cbf
feat: termux.deb (#3333)
termux support, built from #3258 :

minor code changes
support for 386 as well
docs
tests

closes #3118
closes #3258

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: rsteube <rsteube@users.noreply.github.com>
2022-08-22 09:29:55 -03:00
ToπSenpai
6183c3f030
feat(deps): update discord webhook library (#3320)
This commit will update the discord webhook library. I deprecated https://github.com/DisgoOrg/disgohook a while ago and saw it being used here. The module was moved into https://github.com/disgoorg/disgo/tree/development/webhook
disgohook had a few bugs which are resolved in the new module and also the new module should be nicer to use in general!
2022-08-18 16:22:41 -03:00
Carlos Alexandro Becker
6d000e5cb1
feat: allow to specify version of brew deps (#3319)
* feat: add version for homebrew dependencies

* resolve conflicts

* resolve conflicts

* feat: allow to specify version of brew deps

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

* docs: brew

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

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Purushotham <purushotham@hasura.io>
2022-08-17 22:58:41 -03:00
Carlos Alexandro Becker
3f60327964
feat: nfpm changelog support (#3309)
closes #3259

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

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-16 02:05:46 -03:00
Carlos Alexandro Becker
c83663cc26
fix: eventual race condition in artifacts (#3310)
* fix: eventual race condition in artifacts

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

* fix: locks

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

* fix: tests

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

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-16 02:05:36 -03:00
Carlos A Becker
ed42de3f3e
fix: typo
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-16 01:35:43 -03:00
Carlos Alexandro Becker
08e7038a20
feat: remove gofish (#3312)
* feat: remove gofish

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

* fix: remove more unused code

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

* fix: remove more references

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

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-16 01:16:45 -03:00
Carlos Alexandro Becker
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
Carlos A Becker
22da01914a
test: fix broken test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-10 00:14:51 -03:00
Carlos A Becker
102ac7e230
fix: changelog empty lines between sections 2022-08-08 00:20:10 -03:00
Carlos Alexandro Becker
2fecd94569
fix: do not push snaps concurrently (#3295)
It seems that the error I get sometimes (#3257) is related to snap push
not being able to work concurrently.

I'm not a 100% sure though, so I'll try this and see how it goes.
If the error still happens, we can ignore the error or retry.

closes #3257
2022-08-07 12:32:15 -03:00
Carlos A Becker
fa61448ded
feat: support provides field in nfpm config
refs #3259

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-07 12:13:20 -03:00