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.
This commit is contained in:
Ferdinand Hofherr 2026-01-25 14:19:34 +01:00
parent b14b159b42
commit 0f42c753a8
No known key found for this signature in database
3 changed files with 27 additions and 3 deletions

View file

@ -21,6 +21,22 @@ inputs:
description: "List of updaters that are run. Default updaters can be removed by specifying them as -name. Multiple updaters should be concatenated with a comma. Default Updaters: changelog,generic"
required: false
default: ""
forge:
description: "Forge this action is run against"
required: false
default: "github"
api-url:
description: "API URL of the selected forge "
required: false
default: ""
owner:
description: "Owner of the repository"
required: false
default: ""
repo:
description: "Name of the repository"
required: false
default: ""
# Remember to update docs/reference/github-action.md
outputs: { }
runs:
@ -28,10 +44,14 @@ runs:
image: docker://ghcr.io/apricote/releaser-pleaser:v0.7.1 # x-releaser-pleaser-version
args:
- run
- --forge=github
- --forge=${{ inputs.forge }}
- --branch=${{ inputs.branch }}
- --extra-files="${{ inputs.extra-files }}"
- --updaters="${{ inputs.updaters }}"
- --api-url=${{ inputs.api-url }}
- --api-token=${{ inputs.token }}
- --owner=${{ inputs.owner }}
- --repo=${{ inputs.repo }}
env:
GITHUB_TOKEN: "${{ inputs.token }}"
GITHUB_USER: "oauth2"

View file

@ -33,7 +33,7 @@ func newRunCommand() *cobra.Command {
flagUsername string
)
var cmd = &cobra.Command{
cmd := &cobra.Command{
Use: "run",
RunE: func(cmd *cobra.Command, _ []string) error {
ctx := cmd.Context()

View file

@ -17,11 +17,15 @@ The action does not support floating tags (e.g.
The following inputs are supported by the `apricote/releaser-pleaser` GitHub Action.
| Input | Description | Default | Example |
|---------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------:|---------------------------------------------------------------------:|
| ------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------: | -------------------------------------------------------------------: |
| `branch` | This branch is used as the target for releases. | `main` | `master` |
| `token` | GitHub token for creating and updating release PRs | `$GITHUB_TOKEN` | `${{secrets.RELEASER_PLEASER_TOKEN}}` |
| `forge` | Forge this action is run against | `github` | `forgejo` |
| `extra-files` | List of files that are scanned for version references by the generic updater. | `""` | <pre><code>version/version.go<br>deploy/deployment.yaml</code></pre> |
| `updaters` | List of updaters that are run. Default updaters can be removed by specifying them as -name. Multiple updaters should be concatenated with a comma. Default Updaters: changelog,generic | `""` | `-generic,packagejson` |
| `api-url` | API URL of the forge this action is run against. | `""` | `https://forgejo.example.com` |
| `owner` | Owner of the repository. Only required for Forgejo Actions. | `""` | `apricote` |
| `repo` | Name of the repository. Only required for Forgejo Actions. | `""` | `releaser-pleaser` |
## Outputs