1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-07-05 00:59:04 +02:00
Commit Graph

38 Commits

Author SHA1 Message Date
8e3567ed0a refactor: rename ChangeLogGroup to ChangelogGroup
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-07 18:37:44 -03:00
a1477f9370 refactor: improve changelog code
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2023-01-07 18:33:15 -03:00
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
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
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
22da01914a test: fix broken test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-10 00:14:51 -03:00
b3fcc54a32 feat: changelog group improvements (#3203)
This changes the changelog grouping feature a bit: it evaluates the
groups in the order they are declared in the config file, but renders
them following their `order` attribute.

This allows to have better filters, for instance, you might want to have
dependabot commits in another section, which does not need a high
priority in the changelog output, but does when evaluating, as it might
share the words with other groups: in goreleaser's case, the `feat`
prefix.

Giving that Go's regex seems to don't allow negative look-aheads (which
would help in this particular case), this seems like a good quality of
life improvement.

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-06-26 22:00:23 -03:00
53b1ee07cf feat: allow git remote urls from non-scm sources (#3088)
basically allows to use goreleaser against a repo with a git url without both owner and repo name.

closes #3060
closes #3058

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-05-09 09:32:43 -03:00
5f30f3606a fix: make --release-notes flags more deterministic (#2888)
* fix: make --release-notes flags more deterministic

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

* chore: fmt

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-06 22:09:46 -03:00
456f8aa2b1 feat: warn if loaded changelog is whitespace-only (#2885)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-06 14:24:47 -03:00
bdfb09cfb7 fix: do not filter and sort github-native changelog (#2803)
* fix: do not filter and sort github-native

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

* refactor: improve code a bit

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

* refactor: improve code a bit

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

* fix: changelog header

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-08 09:24:36 -03:00
f42e0872f6 fix: do not group changelog when using github-native (#2781)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-12-21 14:21:05 -03:00
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
df0c31dea1 feat: make each changelog commit a list item (#2695)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-11-24 09:11:42 -03:00
b508d7f156 test: add a case that cathes nothing
refs #2670

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-11-23 22:30:55 -03:00
5ac11a1cba feat: add changelog sorting (#2670)
Signed-off-by: Engin Diri <engin.diri@mail.schwarz>
2021-11-23 22:23:53 -03:00
8eae8b013a feat: support github release notes (#2638)
* feat: support github release notes

* chore: godoc

* test: cover it with tests

* chore: fmt

* refactor: remove unused code
2021-11-07 12:53:28 -03:00
cf73ede932 refactor: improve changelog code 2021-11-06 16:58:07 -03:00
1f774d5d6a fix: changelog filters and sort when using github
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-06 01:15:31 -03:00
ced5347388 refactor: improve scmChangeloger
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-04 23:35:28 -03:00
89e5a4ebf1 feat: changelog from github (#2548)
* feat: changelog from github

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

* refactor: unifying client mocks

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

* refactor: unifying client mocks

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

* fix: mocks

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

* test: added tests

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

* fix: remove unused code

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

* test: added more

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

* fix: testdata

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

* fix: fmt

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

* test: fix

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

* test: fix

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

* docs: improve docs

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-04 09:32:30 -03:00
61bead8989 feat: improve output and pipe skipping (#2480)
* refactor: improve middleware

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

* fix: upload tests

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

* fix: twitter tests

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

* fix: source tests

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

* fix: snapshot tests

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

* test: improved some tests

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

* fix: snapcraft skip

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

* fix: skip slack

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

* fix: skip sign

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

* fix: skip scoop

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

* fix: skip reddit

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

* fix: skip discord

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

* fix: skip publish

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

* fix: skip nfpm

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

* fix: skip milestone

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

* fix: skip custompublishers

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

* fix: skip checksums

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

* fix: skip changelog

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

* fix: skip brew

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

* fix: skip blob

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

* fix: skip before

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

* fix: skip artifactory

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

* fix: skip announce

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

* fix: skip defaults

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

* fix: cmds

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

* fix: skip docker

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

* chore: todo

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

* fix: go.mod

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

* fix: skip release

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

* fix: remove old skip pipe errors

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

* fix: skip teams

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

* fix: skip brew

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

* fix/test: skip smtp

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

* fix: lint issues

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

* fix: skip docker

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

* fix: skip brew and scoop

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

* fix: skip docker

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

* fix: skip http/artifactory

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

* test: increase coverage

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

* test: fix

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-09-18 10:21:29 -03:00
9913fe7db6 feat: template release notes (#2242)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-05-21 21:07:47 -03:00
860b4a8f81 chore: gofumpt & lint (#2190)
Signed-off-by: Carlos Becker <caarlos0@gmail.com>
2021-04-25 14:20:49 -03:00
5866b9cb63 refactor: use os and io packages intead of ioutil when possible (#2189) 2021-04-25 13:00:51 -03:00
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
761c56a805 fix: ensure changelog ends on a newline (#1919) 2020-11-24 23:39:59 -03:00
da78747875 feat: Add support for templated release notes, header and footer (#1575)
* Added support to header and footer template

* Add template for release notes
2020-05-31 13:18:48 +01:00
ca3a63a537 feat: use CI environment variables to figure out tag (#1327)
* fix(git): Use CI envronment variables to figure out tag

This patch detects CI environments and uses the available tag information when
collecting the git tag.

This resolves issues where one commit has multiple tags.

Closes #1163
Closes #1311

* Update www/content/release.md

Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* Update www/content/release.md

Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* Update www/content/build.md

Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* Update www/content/release.md

Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* feat(doc): Document git tag override in environment

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2020-01-31 15:38:56 -03:00
16cb4d8277 feat: Added new flags to support release notes header and footer. (#1212)
* Added new flags to support release notes header and footer.

Created two flags for release generation.
--release-footer
--release-header
These flags can help you to add custom changelog text before/after changes that are generated by git log.

* Fix changelog.go to avoid lint errors

* Fix test typo

* Added tests for main, fixed bug with no passing options to release ctx

* Add @caarlos0  suggestions
2019-11-15 10:22:11 -03:00
21843b5a90 ci: fix linter issues
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2019-10-09 16:07:51 -03:00
eb7ba2a294 feat: add gitlab for releases (#1038)
* outlines gitlab client integration

* makes client parameter more explicit

* adds gitlab url to config

* changes releaseID to string to adapt to gitlab

* updates to latest gitlab client lib 0.18

* fixes copy paster in gitlab upload func

* fixes gitlab typo in config

* adds gitlab token to env and context

* release now uses the client factory method

* skips brew pipe if it is not a github release

* add github tokentype to publish tests

* skips scoop pipe if it is not a github release

* corrects brew skip msg

* adds gitlab token to main test

* adds gitlab to release docs

* validates config and errors accordingly

* adapt release pipe name to include gitlab

* fixes gitlab client after testing

* moves not-configured brew and scoop pipe checks as first check

* adds more debug to gitlab client

* adapts changelog generation for gitlab markdown

* adds debug log for gitlab changelog

* env needs to run before changelog pipe

* moves gitlab default download url to default pipe

* moves multiple releases check to from config to release pipe

* release differs now for github and gitlab

* adds debug gitlab release update msgs

* moves env pipe as second after before because it determines the token type other pipes depend on

* adaptes error check on gitlab release creation

* Revert "adaptes error check on gitlab release creation"

This reverts commit 032024571c.

* simplifies gitlab client logic. removes comments

* skips tls verification for gitlab client if specified in config

* updates the docs

* adds clarification that brew and scoop are not supported if it is a gitlab release

* fixes copy paster in release.md

* adds missing blob pipe in defaults and publish due to missing in merge

* updates comment in gitlab client
2019-06-29 11:02:40 -03:00
809ef10fdd fix: custom changelog and changelog.skip (#975) 2019-03-03 14:00:00 -03:00
60e54a1368 refactor/fix: improved CLI (#937)
* refactor: added middleware for action logs/error handling

* refactor: moved custom changelog load from main.go

* fix/refactor: CLI improvements

* test: do not pollute ./dist
2019-01-22 01:56:16 -02:00
98f22d7882 feat: allow skipping changelog generation
In some cases, changelog or release notes do not need to be compiled for
various reasons.
This commit adds an option to Skip building the changelog.

Fix #888
2019-01-19 13:03:49 -02:00
6c79a6c51a fix: be explicit when we query git for tags
When Jenkins is configured with 'Check out to matching local branch' the branch and tag name will conflict.
If we use explicit references to tags, then life is much better.

This patch also replaces our manual 'tag or not' boolean with a regex to check if the return is a SHA1.
If it is not a SHA1, it is assumed to be a tag. Hopefully this helps with future maintainability.
2018-10-06 22:21:46 -03:00
6a035b83e9 chore: make output less verbose 2018-10-05 10:38:16 -03:00
39de856eb4 refactor: better package organization 2018-09-12 14:18:01 -03:00