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

52 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
d5a81df6c5
docs: improve tmpl.map
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-20 19:21:30 +00:00
Jo
24347358e9
feat: add map and indexOrDefault template functions (#4317)
Add a new function `map` to template functions.

`map` creates a map from a list of pairs of key values, then you can
convert a key to a value using `.Get`. This simplifies writing
key-mapping templates. For example, the defaule `archives.name_template`

```yaml
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 }}
```

becomes

```yaml
name_template: >-
  {{ $arch := map "amd64" "x86_64" "386" "i386" -}}
  {{ .ProjectName }}_
  {{- title .OS }}_
  {{- $arch.Get .Arch .Arch }}
  {{- if .Arm }}v{{ .Arm }}{{ end }}
```

---------

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-20 16:03:46 -03:00
Carlos Alexandro Becker
c91c4b7cd8
feat: improve template error handling (#4256)
- wrap the multiple errors in an internal error with cleaner messaging
- improve testlib.RequireTemplateError and several tests
2023-08-24 22:06:12 -03:00
Carlos Alexandro Becker
51592e1424
feat: envOrDefault template function (#4097)
You can achieve the same with `{{ with (index .Env "NAME") }}etc`, but
this looks cleaner.

refs #4096
2023-06-14 00:16:01 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
b1c8e9f25b
feat: added IsNightly to OSS template variables
This should make it easier to use the same config file with both oss and
pro versions when only the nightly feature is used, e.g. in #3501.

Currently, that would fail because `IsNightly` is not a template field,
so you won't really be able to do it without keeping a second
`.goreleaser.yml` file. With this change, `IsNightly` always eval to
false on OSS, and keeps working as before on Pro.
2023-06-06 01:07:26 -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
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
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
f544c5ce69
test: testctx pkg (#3807)
alternative to #3806 

the idea is that both `context.New` and `context.Context{}` are never
used in tests.

not sure yet how much I like it, so far code does look a bit more
readable though.

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-02 00:01:11 -03:00
Carlos Alexandro Becker
90a82157ca
refactor: improve tmpls that eval to a bool (#3726)
- added a tmpl.Bool that checks if the result of a template is "true"
- added an ErrSkipper interface so Skip() methods can return errors as well

---------

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-28 23:21:43 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos Alexandro Becker
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
Carlos A Becker
a31b4aa0ae
feat: ArtifactExt as a template field 2022-08-01 16:04:20 -03:00
Carlos Alexandro Becker
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
Carlos Alexandro Becker
d295d0bdff
feat: annotated tag body (#2923)
* feat: annotated tag body

this adds another template variable, `TagBody`, with the body of the annotated tag/commit message only.

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

* refactor: tag contents

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-24 22:57:51 -03:00
Carlos Alexandro Becker
f0af44ccbe
feat: add filter and reverseFilter template functions (#2924)
* feat: add grep and grep -v template functions

this adds `grep` and `reverseGrep` template functions, which should help dealing with text.

refs #2920

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

* refactor: rename funcs

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-24 22:57:43 -03:00
Carlos Alexandro Becker
9d481d4630
feat: expose runtime goos and goarch on templates and metadata (#2859)
* feat: expose runtime goos and goarch on templates and metadata

* test: fix duplicated map literal in some os/arch

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-31 22:36:22 -03:00
Carlos Alexandro Becker
6ea7fb792a
feat: annotated tag contents (#2744)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-12-06 16:52:26 -03:00
Carlos Alexandro Becker
9b9eef04a2
feat: get annotated tag message (#2730)
refs  #2726

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-12-05 23:23:15 -03:00
Carlos Alexandro Becker
cd261a527a
feat: allow to use .PreviousTag on templates (#2683)
* feat: expose .PreviousTag

* fix: previous tag will never be a commit

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

* fix: tests

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

* docs: tag

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-11-24 09:12:24 -03:00
Carlos Alexandro Becker
a2ba9cb8fa
refactor: release url (#2637)
* refactor: release url

* chore: fmt

* chore: less diffs

* docs: lowercase everything

* chore: improve fmt

* chore: revert
2021-11-06 16:54:01 -03:00
Furkan Türkal
8e89e3fde3
fix: remove .git suffix by default from announcers (#2623)
* fix: remove .git suffix by default from announcers

Fixes #2622

Signed-off-by: Furkan <furkan.turkal@trendyol.com>
Co-authored-by: Batuhan <batuhan.apaydin@trendyol.com>
Co-authored-by: Erkan <erkan.zileli@trendyol.com>

* feat(doc): update defaults

Signed-off-by: Erkan Zileli <erkan.zileli@trendyol.com>
Co-authored-by: Batuhan <batuhan.apaydin@trendyol.com>
Co-authored-by: Furkan <furkan.turkal@trendyol.com>

Co-authored-by: Batuhan <batuhan.apaydin@trendyol.com>
Co-authored-by: Erkan <erkan.zileli@trendyol.com>
2021-11-02 20:03:23 -03:00
Carlos Alexandro Becker
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
Patrick Hahn
e64b2cd8da
feat: Allow release notes to be used in template strings (#2566)
When using the announce feature, you might want to inform your users about the features and changes that this release brings. This change allows you to use {{ .ReleaseNotes }} in any template string, after the changelog pipeline step has been executed.
2021-10-07 14:19:19 -03:00
Carlos Alexandro Becker
b176b1ff80
feat: inc parts of semver, change snapshot default name (#2358) 2021-07-24 10:13:05 -03:00
Carlos A Becker
ce7d3b0e89
test: default values for envs
refs #1795

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-05-31 01:53:40 +00:00
Matt Palmer
bf4359017b
feat: Use GitLab Direct Asset Links (#2219)
* feat: Use GitLab Direct Asset Links

Implement the use of Direct Asset Links when uploading artifacts to a GitLab release

* fix: Remove ArtifactUploadHash

As GitLab support for direct asset linking exists, remove ArtifactUploadHash due to it no longer being required

* test: fix unit tests for gitlab urls

* fix: Use artifact name during GitLab upload

file.Name() included the path to the file, which isn't needed and breaks other areas such as homebrew releases

* docs: Require GitLab version v12.9+

Due to newly introduced dependency on direct asset linking
2021-05-17 17:33:04 +00:00
Carlos Alexandro Becker
860b4a8f81
chore: gofumpt & lint (#2190)
Signed-off-by: Carlos Becker <caarlos0@gmail.com>
2021-04-25 14:20:49 -03:00
Carlos Alexandro Becker
7378edc708
feat: allow to use ModulePath on templates (#2128)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-03-22 08:55:01 -03:00
Kumbirai Tanekha
e0c3abae2e
feat: Add trimprefix function to template package (#2116)
This allows templates to trim prefixes. Particularly useful for removing the v prefix from versions
2021-03-17 14:19:32 -03:00
Carlos Alexandro Becker
873f35a2c2
refactor: use t instead of tt (#2000)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-01-07 09:15:32 -03:00
Ben Kochie
f417d7783d
feat: add support for git branch in templates (#1906)
Add a `.Branch` field to the text templates populated by the current git
branch.

Signed-off-by: Ben Kochie <superq@gmail.com>

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-11-18 18:50:31 +00:00
Carlos Alexandro Becker
979f8632b7
refactor: use require on all tests (#1839)
* refactor: use require on all tests

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

* refactor: use require on all tests

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

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-10-06 12:48:04 +00:00
Radek Simko
ab8bb7f2f3
feat: support custom tokens in Homebrew & Scoop (#1650) 2020-07-06 17:12:41 -03:00
Radek Simko
8749030d3b
feat: Add support for custom publishers (#1481)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-05-10 16:03:49 +00:00
Carlos Alexandro Becker
22c9e04efd
feat: allow to use Release and Epoch on nfpm name template (#1396)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-03-22 13:54:47 -03:00
Carlos Alexandro Becker
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
Gustavo Chaín
3d95590238 feat: add basic string function to template (#1232) 2019-11-07 14:49:36 -03:00
Manuel Vogel
e92bbe32ce feat: full gitlab support for brew and scoop (#1084)
* makes context tokentype a public var

* passes artifacts object into client upload function. extracts gitlab upload hash from url

* adds gitlab url to brew config

* build brew formula depending on token type

* fixes client for release tests

* fixes exiting brew tests

* fixes scoop test with dummy client adaption

* uses new artifact upload hash

* fixes brew usage

* updates gitlab createFile for brew

* fixes logging for non-existing file in gitlab logging

* fix: gitlab createFile

* fix: removes encoding from gitlab create and update file opts

* fix: gitlab upload and artifact set upload hash

* fix: linter

* changed artifact item to a pointer in ctx

* docs: updates homebrew

* feat: enables scoop for gitlab release

* fix: scoop panic for pointer access

* chore: rename formula build func for brew

* chore: brew removes comments

* fix: brew tests

* test: updates brew tests

* docs: updates homebrew

* test: for token type not implemented for brew

* tests: for multiple linux builds

* fix: build artifacts are pointer in scoop

* test: for scoop and gitlab

* test: for artifacts set upload hash

* adds missing files after adaption

* chore: removes and clarifies comments

* fix: moves artifact upload hash to extra map

* adds comment why we initialize the extra map
2019-08-13 15:28:03 -03:00
Carlos Alexandro Becker
b477ffa095
refactor: pointer to artifact (#1110)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2019-08-12 17:44:48 -03:00
Carlos Alexandro Becker
310bf450a8
fix: all envs allowed on build template (#992) 2019-04-09 09:15:05 -03:00
Carlos Alexandro Becker
df831077e5 fix: improved semver parsing 2019-01-19 17:33:33 -02:00
Carlos Alexandro Becker
850205abf1
feat: back-reference build artifacts from archive artifact (#908) 2019-01-01 14:40:17 -02:00
Carlos Alexandro Becker
af99acf244 feat: add new template fields 2018-10-04 09:23:06 -03:00
Carlos Alexandro Becker
64b1f14a86
refactor: better code organization (#757)
* refactor: merging archive in the same repo

* refactor: merging archive in the same repo

* refactor: better organizing packages

* refactor: fixing renames

* fix: new dep version

* fix: makefile

* fix: zip/tar tests

* fix: gitigonore

* fix: s3 tests

* fix: archive test
2018-08-14 23:50:20 -03:00
Carlos Alexandro Becker
b7690e6513
test: test for artifact-only key with no artifacts 2018-07-08 22:32:21 -07:00