1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-11-29 23:07:42 +02:00
Commit Graph

73 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
ec2db4a727 feat!: rename module to /v2 (#4894)
<!--

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

...

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

...

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

...

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-26 15:02:57 -03:00
Oleksandr Redko
6505654c86 fix: fix nolintlint issues (#4854)
The PR enables
[`nolintlint`](https://golangci-lint.run/usage/linters/#nolintlint)
linter and fixes up appeared issues.

Changes:

- Enable `nolintlint` in `.golangci.yml` config.
- Remove unused `//nolint:` comments.
- Fix `nolint` comment format by removing spaces (`// nolint: dupl` ->
`//nolint:dupl`)

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-05-12 14:11:11 -03:00
Oleksandr Redko
305663fb5d test: simplify error asserts with require.ErrorContains (#4640)
The PR refactors tests:
- change two lines `require.Error + require.Contains` with one
`require.ErrorContains`;
- change `require.Error + require.Equal` with `require.EqualError`.
2024-02-19 16:28:06 -03:00
Carlos Alexandro Becker
6b00bb9664 refactor: use ordered.First (#4362) 2023-10-10 23:16:27 -03:00
Carlos Alexandro Becker
41ce3c0304 fix: git.ignore_tags not working (#4322)
also regex is not possible there currenctly, didnt realized it at the
time

refs #4255

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-23 02:37:48 -03:00
Carlos Alexandro Becker
0fe02a136a fix(git): ignore_tags should ignore empty 2023-09-17 17:03:02 +00:00
Carlos Alexandro Becker
622c426eb3 refactor: --skip=item (#4272)
Laying the ground work to allow skipping more pipes without adding new
flags et al.

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-16 17:01:20 -03:00
Carlos Alexandro Becker
91fe5e40c4 fix: improve git info log output
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-07 18:48:48 +00:00
Carlos Alexandro Becker
ecdbf5877c feat: git.ignore_tags (#4255)
Allows to ignore tags that match the given regex expressions.
2023-08-27 15:57:03 -03:00
Eng Zer Jun
73e59160de test: use t.Setenv to set env vars (#4140)
We have been using `t.Setenv` is most of our tests. This PR replaces the
remaining `os.Setenv` with `t.Setenv`.

Reference: https://pkg.go.dev/testing#T.Setenv

```go
func TestFoo(t *testing.T) {
	// before
	os.Setenv(key, "new value")
	defer os.Unsetenv(key)
	
	// after
	t.Setenv(key, "new value")
}
```

---------

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-06-25 09:54:10 -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 A Becker
4ada24b6a8 refactor: remove unused function
refs f4fad65471
refs #3891

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-29 13:25:26 -03:00
Carlos A Becker
f4fad65471 fix: improve gpg.program detection, add more tests
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-03-29 13:23:23 -03:00
Go Compile
d83d362b96 fix(sign): use gpg path from git config by default if it is set (#3891)
Fixes issue #3890 by checking the user's git `gpg.program`
configuration. If the user didn't set this value it will use the default
"gpg", just like before this PR.

No need to add a additional unit test as your existing tests cover it
(mostly); however, a comment has been added to that check, informing the
reader that the test environment assumes `git config gpg.program` is not
be set.
2023-03-27 12:00:24 -03:00
Ivan Vandot
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
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
da2335791a fix: native changeloger without previous tag (#3668)
closes #3662

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-29 10:41:59 -03:00
Carlos Alexandro Becker
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
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
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 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 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
5a6dd2fbc8 test: reducing test ouput (#3222)
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-07-04 21:13:10 -03:00
Carlos Alexandro Becker
fe7e2123bd feat: replacing the log library (#3139)
* feat: replacing logs

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

* fix: tests et al

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

* feat: update termenv/lipgloss

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

* wip: output

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

* fix: pin dep

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

* fix: update

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

* fix: tests

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

* fix: tests

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

* fix: deps

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

* fix: dep

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-06-21 21:11:15 -03:00
Carlos Alexandro Becker
ce9058ac8c refactor: use context on git exec calls (#3032) 2022-04-12 08:35:19 -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 A Becker
f01c60026c fix: improve git tag contents output
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-12-06 17:21:37 -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
e8fca30104 refactor: remove unused git.RunEnv (#2706)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-11-28 00:22:44 -03:00
Erik Kristensen
274ffae03c feat: add git summary support (aka git describe --dirty --tags --always) (#2700)
* feat: add git summary support (aka git describe --dirty --tags --always)

* feat: update documentation for new summary template variable

* test: add tests for new summary feature
2021-11-25 03:01:56 +00: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 A Becker
9505cf7054 feat: improve git dirty error
also added a /errors page to our docs

closes #2674
2021-11-21 12:47:25 -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
Batuhan Apaydın
b99ccc029c feat: add message template support for git providers (#2626)
* feat: add message template support for git providers

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
Co-authored-by: Furkan Türkal <furkan.turkal@trendyol.com>
Co-authored-by: Erkan Zileli <erkan.zileli@trendyol.com>
Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>

* Apply suggestions from code review

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Furkan Türkal <furkan.turkal@trendyol.com>
Co-authored-by: Erkan Zileli <erkan.zileli@trendyol.com>
2021-11-06 15:39:43 -03:00
Batuhan Apaydın
5a01a10f9b fix: clean user information from remote url if it contains username and token (#2457) 2021-09-03 20:06:53 -03:00
Edward Maxwell-Lyte
18695c2687 fix: sort tags by version not day of the week (#2377)
* fix: tag sorting

When the HEAD commit has multiple tags, they are sorted in order to select the latest so that it can be released.

However, the existing sort would not work if there were multiple commits across a Wednesday and a Thursday.

For example:

```
git tag --points-at HEAD --format='%(creatordate)%09%(refname)'
Wed Jul 28 07:13:19 2021 +0000  refs/tags/v0.0.183
Thu Jul 29 13:31:07 2021 +0000  refs/tags/v0.0.184
Thu Jul 29 13:38:42 2021 +0000  refs/tags/v0.0.185
Thu Jul 29 13:57:44 2021 +0000  refs/tags/v0.0.186
```

When using the existing sort the `creatordate` field was targeted and reversed. Alphabetically Thursday comes before Wednesday, so that is reversed and the Wednesday release always comes first:
```
git tag --points-at HEAD --sort=-version:creatordate --format='%(creatordate)%09%(refname)'
Wed Jul 28 07:13:19 2021 +0000  refs/tags/v0.0.183
Thu Jul 29 13:57:44 2021 +0000  refs/tags/v0.0.186
Thu Jul 29 13:38:42 2021 +0000  refs/tags/v0.0.185
Thu Jul 29 13:31:07 2021 +0000  refs/tags/v0.0.184
```

This would make goreleaser attempt to release that existing tag again, and fail.

If we instead sort by reversed `refname` we get the tags ordered by their numeric value, which ignore the day of the week of release:
```
git tag --points-at HEAD --sort=-version:refname --format='%(creatordate)%09%(refname)'
Thu Jul 29 13:57:44 2021 +0000  refs/tags/v0.0.186
Thu Jul 29 13:38:42 2021 +0000  refs/tags/v0.0.185
Thu Jul 29 13:31:07 2021 +0000  refs/tags/v0.0.184
Wed Jul 28 07:13:19 2021 +0000  refs/tags/v0.0.183
```

Allowing the latest version, 0.0.186 in this case, to be targeted for release.

* corrected test case

* add space

* remove space
2021-08-02 16:20:09 +00:00
Carlos Alexandro Becker
b176b1ff80 feat: inc parts of semver, change snapshot default name (#2358) 2021-07-24 10:13:05 -03:00
Carlos Alexandro Becker
bad1132e78 feat: --auto-snapshot on dirty git tree (#2286)
* feat: --auto-snapshot

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

* docs: fix

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

* fix: workflow

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-06-04 23:09:12 -03:00
Carlos Alexandro Becker
5866b9cb63 refactor: use os and io packages intead of ioutil when possible (#2189) 2021-04-25 13:00:51 -03:00
Carlos Alexandro Becker
66117f3126 fix: several fd leaks (on tests) (#2187) 2021-04-25 11:34:40 -03:00
Carlos Alexandro Becker
be4049e6d8 fix: move shallow clone error to warning
refs #2141 #2134

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-03-24 23:17:40 -03:00
Carlos Alexandro Becker
d04a7dad19 feat: fail on shallow clone (#2135)
* feat: fail on shallow clone

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

* fix: typo

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-03-24 08:55:13 -03:00
CrazyMax
f10873d919 Revert "feat: allow automatic snapshot on dirty state (#1958)" (#1962)
This reverts commit d8a0f253d1.
2020-12-22 11:04:51 -03:00
CrazyMax
d8a0f253d1 feat: allow automatic snapshot on dirty state (#1958)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-22 10:41:08 -03:00
Carlos Alexandro Becker
92f52ac406 refactor(test): use testing.TB Cleanup and Tempdir (#1945)
* refactor: use t.Cleanup instead of defer

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

* refactor: use t.Cleanup instead of defer

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

* refactor: use t.Cleanup instead of defer

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

* refactor: use t.Cleanup instead of defer

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

* fix: filepath

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-12-12 13:27:35 -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
Carlos Alexandro Becker
65ffbf1921 refactor: replace pkg/errors.Wrap with fmt.Errorf (#1812)
* refactor: remove pkg/errors

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

* refactor: remove pkg/errors

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

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-09-21 17:47:51 +00:00
Carlos Alexandro Becker
01942ae60d refactor: use git tag --points-at (#1796)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-09-08 10:11:59 -03:00