No description
Find a file
Ferdinand Hofherr 0f42c753a8
feat: make forge configurable in GitHub Action
Forgejo actions are a near drop-in replacement for GitHub actions. This
commit changes the action.yml file to make the forge configurable. This
allows using the action with forgejo instances.

Changes made:

- Introduce a `forge` input and pass it as the value of the `--forge`
  flag.
- Introduce `api-url` input and pass it as the value of the `--api-url`
  flag. This is required to configure the API URL of the forge. If the
  action is used with GitHub Actions it is simply ignored.
- Pass `inputs.token` as value to the `--api-token` flag. This is
  required as the forgejo client does not respect the `GITHUB_ACTION`
  environment variable.
- Introduce `owner` input and pass it as the value of the `--owner`
  flag. As this was not passed before the default is set to `""`. In
  theory it could be set to the value of `github.repository_owner`.
- Introduce `user` input and pass it as the value of the `--user`
  flag. As this was not passed before the default is set to `""`. GitHub
  Actions does not seem to provide a convenient way to get the
  repository without the owner. As such keeping it at `""` for the
  default is safest.
2026-01-25 15:20:30 +01:00
.github deps: update actions/checkout digest to 08eba0b (#264) 2025-09-15 14:47:12 +02:00
cmd/rp feat: make forge configurable in GitHub Action 2026-01-25 15:20:30 +01:00
docs feat: make forge configurable in GitHub Action 2026-01-25 15:20:30 +01:00
internal fix: no html escaping for changelog template (#277) 2025-09-25 12:40:35 +02:00
templates chore(main): release v0.7.1 (#278) 2025-09-26 05:36:27 +00:00
test/e2e test: add e2e tests with local Forgejo instance (#201) 2025-09-13 12:00:54 +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 test: add e2e tests with local Forgejo instance (#201) 2025-09-13 12:00:54 +02:00
.ko.yaml feat: add shell to container image (#59) 2024-09-15 18:46:45 +02:00
action.yml feat: make forge configurable in GitHub Action 2026-01-25 15:20:30 +01:00
CHANGELOG.md chore(main): release v0.7.1 (#278) 2025-09-26 05:36:27 +00:00
codecov.yaml test: add e2e tests with local Forgejo instance (#201) 2025-09-13 12:00:54 +02:00
go.mod deps: update dependency go to v1.25.6 (#327) 2026-01-15 20:38:45 +00:00
go.sum deps: update module github.com/yuin/goldmark to v1.7.16 (#324) 2026-01-06 10:02:37 +00:00
LICENSE chore: working releasable commits 2024-07-12 14:51:24 +02:00
mise.toml deps: update dependency go to v1.25.6 (#327) 2026-01-15 20:38:45 +00: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 refactor: let updaters define the files they want to run on (#233) 2025-08-23 22:14:34 +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).