Commit graph

218 commits

Author SHA1 Message Date
8eb7eadc4e
chore(main): release v0.6.1 (#211) 2025-07-11 11:32:09 +02:00
Zadkiel AHARONIAN
bcca36e856
fix(gitlab): support fast-forward merges (#210)
This change allows detecting that the releaser-pleaser PR is well merged. 

As of today, it fails with "ERR failed to create pending releases: pull request is missing the merge commit".
2025-07-11 11:23:21 +02:00
renovate[bot]
75fe90ab6e
deps: update dependency go to v1.24.5 (#209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 00:02:06 +00:00
renovate[bot]
3e77b7e0d9
deps: update module gitlab.com/gitlab-org/api/client-go to v0.134.0 (#208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 16:50:20 +00:00
renovate[bot]
a7347bc191
deps: update module gitlab.com/gitlab-org/api/client-go to v0.133.0 (#206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-03 12:13:44 +00:00
renovate[bot]
6e97e0d601
deps: update module gitlab.com/gitlab-org/api/client-go to v0.132.0 (#205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:10:25 +00:00
renovate[bot]
48b8696efc
deps: update module gitlab.com/gitlab-org/api/client-go to v0.131.0 (#204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 19:53:10 +00:00
renovate[bot]
dfe39868ac
deps: update dependency golangci/golangci-lint to v2.2.1 (#203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-29 22:15:32 +00:00
renovate[bot]
5a273f9ab5
deps: update dependency golangci/golangci-lint to v2.2.0 (#202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-28 21:42:14 +00:00
fc1ee70c28
chore(main): release v0.6.0 (#189) 2025-06-14 16:47:17 +02:00
0de242a4e6
ci: only build single platform for local releaser-pleaser jobs (#200)
The image is never pushed and only executed on linux/amd64 hosts, so
building linux/arm64 is a waste of time and resources.
2025-06-14 14:34:26 +00:00
d540e2221d
docs: describe concurrency and conflict considerations (#199)
Describe the issue with concurrency, the global state and what went into
the recent changes in #196, #197 and #198.
2025-06-14 14:24:16 +00:00
2d3a960939
feat: run one job concurrently to reduce chance of conflicts (#198)
Each run of releaser-pleaser acts on the same global state in the
forge. Therefore, parallel runs are unnecessary.

This commit also communicates to the GitHub and GitLab CI pipelines that
the releaser-pleaser jobs can be cancelled as early as possible.

- On GitHub Actions this can be guaranteed through the workflow
  settings. These settings are copied into each repository that uses
  releaser-pleaser, so users need to update this manually. I will add a
  note to the release notes for this.
- On GitLab CI/CD this requires the user to configure a project level setting to
  "auto-cancel redundant pipelines". We will not recommend user to set
  this, as it is quite invasive and can break their regular CI pipelines.
2025-06-14 13:43:35 +00:00
d24ae7de98
feat: detect changed pull request description and retry process (#197)
If the release PR description was changed by a human after
releaser-pleaser fetched the PR for the first time, releaser-pleaser
would revert the users changes accidentally.

This commit introduces an additional check right before updating the
pull request description, to make sure we do not accidentally loose user
changes. There is still the potential for a conflict in between us
checking the description is the same, and updating the description. The
time window for this should be reduced from multiple seconds-minutes to
a few hundred milliseconds at most.

In case a conflict is detected, we retry the whole process up to 2
times, to make sure that the users changes are reflected as soon as
possible. This is especially important on GitLab CI/CD because a changed
pull (merge) request description does not cause another job to run.

With this change, the branch is still pushed, as the user is not
expected to make any changes to it.

Fixes #151
2025-06-14 13:23:05 +00:00
08d35f2f57
feat: graceful shutdown when CI job is cancelled (#196)
By listening on SIGINT and SIGTERM signals we can stop executing as soon
as reasonably possible. This helps to avoid uncessary work and stop the
job earlier.

Right now we have no manual checks for cancelled contexts, and rely on
the http client to check for it while making requests.
2025-06-14 13:19:34 +00:00
eae0045359
feat: colorize log output (#195)
Makes it easier to read, uses lmittmann/tint.
2025-06-14 13:11:28 +00:00
50b2762dca
fix: missing push when files were changed (#193)
The whole check to avoid pushes when they were only rebases was broken
and compared the wrong things. Unfortunately this worked for nearly all
unit tests, except for one were I used the wrong assertion.

This fixed the check by comparing the right things and inverting the
assertion in the unit test to make sure things do not break again in the
future.

Bug was introduced in #114.
2025-06-14 13:03:04 +02:00
renovate[bot]
983162d26e
deps: update module gitlab.com/gitlab-org/api/client-go to v0.130.1 (#192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-12 03:44:02 +00:00
renovate[bot]
e6e9779e87
deps: update module gitlab.com/gitlab-org/api/client-go to v0.130.0 (#191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 16:54:03 +00:00
5f1849106c
fix: crash when running in repo without any tags (#190)
Recent changes in v0.5.1 introduced a bug that caused releaser-pleaser
to crash when running in a repository that contained no tags at all.
This fixes the issue by checking if there is a tag before using it in
the logger.

Bug was introduced in #174.
2025-06-09 11:22:27 +02:00
81a855f5ab
feat: avoid pushing release branch only for rebasing (#114)
Right now releaser-pleaser pushes the branch even if it is only for a "rebase",
this wastes CI resources. Instead, it should only push when there are changes
to the files it owns.

- **Old**: Push when there is a diff origin/release-pr..release-pr
- **New**: Push when the these two diffs are not the same:
  
      origin/main..release-pr
      $(git merge-base origin/main origin/release-pr)..release-pr

Closes #92
2025-06-09 10:52:09 +02:00
175d6d0633
feat: real user as commit author (#187)
Previously all commits were authored and committed by

    releaser-pleaser <>

This looked weird when looking at the commit. We now check with the
Forge API for details on the currently authenticated user, and use that
name and email as the commit author. The commit committer stays the same
for now.

In GitHub, the default `$GITHUB_TOKEN` does not allow access to the
required endpoint, so for github the user `github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>` is hardcoded
when the request fails.
2025-06-09 08:06:56 +00:00
renovate[bot]
f2786c8f39
deps: update module github.com/go-git/go-git/v5 to v5.16.2 (#188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 07:06:06 +00:00
1779356543
deps: replace xanzy/go-gitlab with official client (#182) 2025-06-07 16:42:29 +00:00
renovate[bot]
ad13dc24e0
chore(config): migrate config .github/renovate.json5 (#186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 16:40:56 +00:00
renovate[bot]
d91d93fc8c
deps: update codecov/codecov-action digest to 18283e0 (#113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 18:39:31 +02:00
renovate[bot]
e3ecd8993c
chore: update golangci-lint to v2 and fix breakage (#184)
deps: update golangci/golangci-lint-action action to v8

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
2025-06-07 16:39:18 +00:00
renovate[bot]
49855aa700
deps: update module github.com/google/go-github/v66 to v72 (#185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 18:39:05 +02:00
renovate[bot]
f49481cd92
deps: update golangci/golangci-lint-action digest to 55c2c14 (#135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 18:24:36 +02:00
renovate[bot]
359912dcc0
deps: update actions/setup-go digest to d35c59a (#122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 18:24:24 +02:00
renovate[bot]
1f882bf014
deps: update dependency go to v1.24.4 (#181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 22:07:04 +00:00
renovate[bot]
31b12b9c33
deps: update module github.com/go-git/go-git/v5 to v5.16.1 (#180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 12:24:23 +00:00
renovate[bot]
9c8b854de0
deps: update registry.gitlab.com/gitlab-org/release-cli docker tag to v0.24.0 (#179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 21:27:02 +00:00
renovate[bot]
c1b0f15e07
deps: update dependency rust-lang/mdbook to v0.4.51 (#177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 23:34:42 +00:00
renovate[bot]
58a9f1c9d5
deps: update dependency rust-lang/mdbook to v0.4.50 (#176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 16:12:43 +00:00
fe3c9488b3
chore(main): release v0.5.1 (#175)
### Bug Fixes

- invalid version for subsequent pre-releases (#174)
2025-05-22 15:38:41 +02:00
d9c081d280
fix: invalid version for subsequent pre-releases (#174)
If two pre-releases were cut in a row, the second pre-release version
would only consider the semantic changes since the previous pre-release,
but base its new version of the latest tag.

Example:

- stable tag: `1.2.0`
- latest tag: `1.3.0-rc.1`
- 1 commit since with `fix:` tag

The resulting releaser-pleaser tag would be: `1.2.1-rc.2`. It should be
`1.3.0-rc.2` instead.

This is now fixed by considering different commit ranges for versioning
and changelog.

For a stable version we want the list of changes since the stable tag.

For a prerelease version we want the list of changes since the latest
tag. To avoid repeating the same features over and over in a series of
multiple pre-releases.

This behaviour already existed and worked.

For a stable version, we want to consider all changes since the stable
tag.

For a prerelease version, we also want to consider all changes since the
stable tag. This was broken and only used the changes since the latest
tag.
2025-05-22 15:27:49 +02:00
renovate[bot]
9c95dd558b
deps: update module github.com/yuin/goldmark to v1.7.12 (#173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-17 14:40:46 +00:00
renovate[bot]
c31e40d04b
deps: update dependency go to v1.24.3 (#172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 19:20:16 +00:00
renovate[bot]
d93378a72e
deps: update dependency rust-lang/mdbook to v0.4.49 (#171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 23:23:44 +00:00
renovate[bot]
86207b80f2
deps: update module github.com/yuin/goldmark to v1.7.11 (#170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-27 14:32:40 +00:00
renovate[bot]
b658a3a531
deps: update module github.com/teekennedy/goldmark-markdown to v0.5.1 (#169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 01:58:58 +00:00
renovate[bot]
85ff2126b1
deps: update module github.com/go-git/go-git/v5 to v5.16.0 (#168)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 22:53:49 +00:00
renovate[bot]
377ec44cd3
deps: update module github.com/yuin/goldmark to v1.7.10 (#167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 22:53:41 +00:00
renovate[bot]
7fe19174db
deps: update module github.com/yuin/goldmark to v1.7.9 (#166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 22:44:55 +00:00
renovate[bot]
3ed3a1856c
deps: update ko-build/setup-ko action to v0.9 (#165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 19:46:37 +00:00
renovate[bot]
9d0cfc7c83
deps: update module github.com/go-git/go-git/v5 to v5.15.0 (#164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 10:45:01 +00:00
renovate[bot]
1bb296a509
deps: update dependency go to v1.24.2 (#163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 19:11:37 +00:00
renovate[bot]
00986532b9
deps: update dependency rust-lang/mdbook to v0.4.48 (#162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 23:15:13 +00:00
renovate[bot]
f9ba6daa42
deps: update registry.gitlab.com/gitlab-org/release-cli docker tag to v0.23.0 (#161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 16:33:00 +00:00