Commit graph

279 commits

Author SHA1 Message Date
84d4dd9d26
chore(main): release v0.4.0-beta.0 (#50)
Co-authored-by: releaser-pleaser <>
2024-09-15 17:18:24 +02:00
ee83cec049
fix(gitlab): use project path wherever possible (#54)
Turns out that all we need is the path, and not the project id. The path
is way more user friendly, and we can easily get it from a CI variable
or combine it from the namespace & project name.
2024-09-08 21:07:03 +02:00
634eac3b76
fix(parser): invalid handling of empty lines (#53)
GitLab generates commit messages of the pattern "scope: message\n" if no
body is present. This throws up the conventional commits parser we use,
and results in the error message "missing a blank line".

We now `strings.TrimSpace()` the commit message to avoid this problem.
2024-09-08 21:05:18 +02:00
ee5c7aa142
fix(cli): command name in help output (#52) 2024-09-08 21:01:46 +02:00
2fba5414e5
fix(gitlab): hardcoded project id (#51)
The GitLab project ID was still hardcoded to my playground project on
GitLab.com.

This commit instead reads from the predefined GitLab CI/CD variable for
the projects ID (`CI_PROJECT_ID`).
2024-09-08 20:03:19 +02:00
48d9ede0a2
feat: add support for GitLab repositories (#49) 2024-09-07 21:54:25 +02:00
5ea41654a7
fix(parser): continue on unparsable commit message (#48)
We should not fail the whole process if a single commit message is
unparsable.

Instead we now log the issue and ignore the commit.
2024-09-07 21:51:15 +02:00
2010ac1143
refactor(github): add pagination helper (#47) 2024-09-07 21:36:17 +02:00
af505c94c6
refactor: labels as structs with descriptions (#46) 2024-09-07 21:33:28 +02:00
0a199e693f
chore(main): release v0.3.0 (#38)
Co-authored-by: releaser-pleaser <>
2024-09-06 23:46:04 +02:00
b9dd0f986c
feat(cli): show release PR url in log messages (#44)
Makes navigating to the PR way easier when looking at the logs.

This requires a new `Forge.PullRequestURL()` method that needs to be
implemented for all forges.
2024-09-06 23:27:48 +02:00
2effe5e72d
feat: edit commit message after merging through PR (#43)
Closes #5
2024-09-06 23:17:06 +02:00
36a0b90bcd
refactor: releasepr markdown handling (#42) 2024-09-01 14:19:13 +02:00
0750bd6b46
feat: format markdown in changelog entry (#41) 2024-08-31 22:23:01 +02:00
4cb22eae10
refactor: replace markdown renderer (#40)
The new renderer is actually published as a module and can be extended
through the usual goldmark extensions.
2024-08-31 16:49:07 +02:00
a0a064d387
refactor: move things to packages (#39) 2024-08-31 15:23:21 +02:00
44184a77f9 refactor: remove unwanted log 2024-08-30 19:47:12 +02:00
971b6e6ef7
feat: less repetitive entries for for prerelease changelogs (#37)
Right now we always show all new releasable commits since the last
_stable_ release.

If a project publishes multiple pre-releases in a row, they all repeat
the same lines with a few new additions.

On the other hand, when we cut a stable release, we do want to show all
changes since the last stable release, as we can not expect users to
read the changelog of pre-releases.

As a compromise, the code now looks at the type of release that is being
created, and decides based on that if we will look at STABLE..HEAD
(stable release) or LATEST..HEAD (pre-release).

Close #33
2024-08-30 19:44:51 +02:00
693ca21e32
refactor: load existing release pr earlier (#36)
We need information from the release pr for the following steps, as the
user can override various behaviours by commenting/labeling the release
pr.
2024-08-30 19:27:42 +02:00
1f39df03c5
chore(main): release v0.2.0 (#24)
Co-authored-by: releaser-pleaser <>
2024-08-25 23:01:48 +02:00
57a1d80600 docs: add link to github repo 2024-08-25 22:31:39 +02:00
499f127b9e
docs: add all current features (#34) 2024-08-25 22:13:56 +02:00
2567f0ae8b
ci: run on pr updates from main branch (#30)
With `pull_request`, we run in the context of the pull request branch.

- This means we run with the code from the PR branch, possibly breaking
  the current release PR for this repo with in-progress, unreviewed changes.
- This means that the secret is not available on Pull Requests from
  forks.

Switching to `pull_request_target` means we always run in the scope of
the original repository. The secret is available and the code is checked
out from our main branch.

`pull_request_target` has security considerations, but they do not apply
here as we do not check out or run code from the (external, malicious) PR.
2024-08-25 17:16:43 +02:00
2cd73a8679
ci: use current code for releaser-pleaser action (#28)
The previous job always used the last release version of
releaser-pleaser. This caused two issues:

- if new flags were added to `action.yml` since the last release, the
  program errored because the flags are unknown.
- right after merging a release pr, the image reference was already
  updated, but no new container image was built yet.

This fixes both issues, by using a locally built version of
releaser-pleaser, which is always up-to-date and available.
2024-08-25 13:54:21 +02:00
1ede0bef10
feat(cli): add --version flag (#29) 2024-08-25 13:47:55 +02:00
a67b510284
docs: setup mdbook (#27) 2024-08-24 16:23:42 +02:00
3e51dd8495
chore: update version in action.yml (#26) 2024-08-24 15:44:28 +02:00
a841447063
fix(action): invalid quoting for extra-files arg (#25) 2024-08-24 15:39:55 +02:00
0f8d3cca3c
chore(main): release v0.2.0-beta.2 (#22)
Co-authored-by: releaser-pleaser <>
2024-08-24 15:27:27 +02:00
04748a710f
fix(ci): ko pipeline permissions (#23) 2024-08-24 15:26:54 +02:00
e96e5107e5
chore(main): release v0.2.0-beta.1 (#19)
Co-authored-by: releaser-pleaser <>
2024-08-24 15:15:18 +02:00
60b73b6dd9
fix(ci): building release image fails (#21) 2024-08-24 15:14:27 +02:00
9aec0ea7da
chore(main): release v0.2.0-beta.0 (#17) 2024-08-24 15:06:59 +02:00
f6f5e5a143 chore: go mod tidy 2024-08-24 14:49:30 +02:00
6a7d920359
refactor: various cleanups (#18) 2024-08-23 23:50:12 +02:00
d5fd606577
chore: enable some more linters (#16) 2024-08-23 22:35:06 +02:00
f0eed8cc56
refactor: move changelog file to updater interface (#15) 2024-08-23 22:17:38 +02:00
47de2f97bc
feat: update version references in any files (#14) 2024-08-23 22:02:58 +02:00
589fdde401 chore: update golangci-lint 2024-08-20 17:37:46 +02:00
6f616f9923 chore: upgrade to go 1.23 2024-08-20 17:37:46 +02:00
ffcc3b60cb chore: update dependencies 2024-08-20 17:37:46 +02:00
08e7b31eff ci: output test coverage file 2024-08-20 17:37:46 +02:00
69796325c7 ci: codecov coverage 2024-08-20 17:37:46 +02:00
0c93645b21 refactor: smaller fixes 2024-08-20 17:37:46 +02:00
fbd47fac62 refactor: remove unused code 2024-08-20 17:37:46 +02:00
5882a6bf2c refactor: move commit analyzing out of forge 2024-08-20 17:37:46 +02:00
f2a982d7a0 refactor: cleanup label handling 2024-08-20 17:37:46 +02:00
32734d9aa1 refactor: move run logic outside of cli code 2024-08-20 17:37:46 +02:00
d8daad7623
refactor: Various cleanup (#11)
* refactor: interface for commit message analyzer

* refactor: interface for versioning strategy

* refactor(releasepr): rebuild pr description

Build PR description from scratch and parsed values instead of copying some of the AST to next description.
2024-08-08 19:01:44 +02:00
8f106e4028 ci: use custom PAT for github api so tag workflow is started 2024-08-06 00:17:43 +02:00