No description
Find a file
Julian Tölle 3ff0cce003 feat: run one job concurrenlty to reduce chance of conflicts
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:32:25 +02:00
.github feat: run one job concurrenlty to reduce chance of conflicts 2025-06-14 13:32:25 +02:00
cmd/rp refactor: interface for versioning strategy (#109) 2024-11-15 17:43:40 +00:00
docs feat: run one job concurrenlty to reduce chance of conflicts 2025-06-14 13:32:25 +02:00
internal fix: missing push when files were changed (#193) 2025-06-14 13:03:04 +02:00
templates feat: run one job concurrenlty to reduce chance of conflicts 2025-06-14 13:32:25 +02:00
.gitattributes docs: add all current features (#34) 2024-08-25 22:13:56 +02:00
.gitlab-ci.yml deps: update registry.gitlab.com/gitlab-org/release-cli docker tag to v0.24.0 (#179) 2025-06-02 21:27:02 +00:00
.golangci.yaml chore: update golangci-lint to v2 and fix breakage (#184) 2025-06-07 16:39:18 +00:00
.ko.yaml feat: add shell to container image (#59) 2024-09-15 18:46:45 +02:00
action.yml chore(main): release v0.5.1 (#175) 2025-05-22 15:38:41 +02:00
CHANGELOG.md chore(main): release v0.5.1 (#175) 2025-05-22 15:38:41 +02:00
go.mod deps: update module gitlab.com/gitlab-org/api/client-go to v0.130.1 (#192) 2025-06-12 03:44:02 +00:00
go.sum deps: update module gitlab.com/gitlab-org/api/client-go to v0.130.1 (#192) 2025-06-12 03:44:02 +00:00
LICENSE chore: working releasable commits 2024-07-12 14:51:24 +02:00
prbody.go feat: edit commit message after merging through PR (#43) 2024-09-06 23:17:06 +02:00
prbody_test.go feat: edit commit message after merging through PR (#43) 2024-09-06 23:17:06 +02:00
README.md docs: GitLab tutorial and CI/CD component reference (#72) 2024-09-25 11:23:04 +02:00
releaserpleaser.go fix: crash when running in repo without any tags (#190) 2025-06-09 11:22:27 +02:00

releaser-pleaser

releaser-pleaser is a tool designed to automate versioning and changelog management for your projects. Building on the concepts of release-please, it streamlines the release process through GitHub Actions or GitLab CI.

Badge: Documentation Badge: Stable Release Badge: License GPL-3.0

Features

  • Automated Pull Requests: Opens a PR when releasable changes are detected.
  • Smart Versioning: Suggests new versions based on conventional commits and semantic versioning.
  • Version Reference Updates: Automatically updates committed version references in the PR.
  • Changelog Generation: Creates new changelog entries based on commits.
  • Automated Releases: Upon PR merge, creates tags and GitHub/GitLab Releases with appropriate messages.
  • Version Overrides: Allows manual override of the suggested version.
  • Prerelease Support: Offers options to create alpha, beta, or release candidate versions.

releaser-pleaser simplifies release management, allowing maintainers to focus on development while ensuring consistent and well-documented releases.

Relation to release-please

After using release-please for 1.5 years, I've found it to be the best tool for low-effort releases currently available. While I appreciate many of its features, I identified several additional capabilities that would significantly enhance my workflow. Although it might be possible to incorporate these features into release-please, I decided to channel my efforts into creating a new tool that specifically addresses my needs.

Key differences in releaser-pleaser include:

  • Support for multiple forges (both GitHub and GitLab)
  • Better support for pre-releases

One notable limitation of release-please is its deep integration with the GitHub API, making the addition of support for other platforms (like GitLab) a substantial undertaking. releaser-pleaser aims to overcome this limitation by design, offering a more versatile solution for automated release management across different platforms and project requirements.

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).