3
1
Fork 1
mirror of https://github.com/kiegroup/git-backporting synced 2024-05-18 17:29:48 +00:00
git-backporting/action.yml
Andrea Lamparelli 2bb7f73112
feat: implement error notification as pr comment (#124)
* feat: implement error notification as pr comment

* Update action.yml

Co-authored-by: Earl Warren <109468362+earl-warren@users.noreply.github.com>

* feat: implement gitlab client and surround with try catch

* docs: add error notification enablment in the doc

* feat: disable comment if dry-run

* feat: update the default comment on error

---------

Co-authored-by: Earl Warren <109468362+earl-warren@users.noreply.github.com>
2024-04-10 23:01:16 +02:00

124 lines
4 KiB
YAML

name: "Backporting GitHub Action"
description: GitHub action providing an automated way to backport pull requests from one branch to another
inputs:
pull-request:
description: >
URL of the pull request to backport, e.g., "https://github.com/kiegroup/git-backporting/pull/1"
required: false
target-branch:
description: >
Comma separated list of branches where the pull request must be backported to
required: false
target-branch-pattern:
description: >
Regular expression pattern to extract target branch(es) from pr labels.
The branches will be extracted from the pattern's required `target` named capturing group,
for instance "^backport (?<target>([^ ]+))$"
required: false
config-file:
description: >
Path to a file containing the json configuration for this tool,
the object must match the Args interface
required: false
dry-run:
description: >
If enabled the tool does not create any pull request nor push anything remotely
required: false
default: "false"
auth:
description: >
GITHUB_TOKEN or a `repo` scoped Personal Access Token (PAT),
if not provided will look for existing env variables like GITHUB_TOKEN
default: ${{ github.token }}
required: false
git-client:
description: >
Git client type <github|gitlab|codeberg>, if not set it is infered from pull-request
required: false
git-user:
description: Local git user name
default: "GitHub"
required: false
git-email:
description: Local git user email
default: "noreply@github.com"
required: false
title:
description: >
Backporting PR title. Default is the original PR title prefixed by the target branch
required: false
body-prefix:
description: >
Backporting PR body prefix. Default is `Backport: <original-pr-link>`
required: false
body:
description: >
Backporting PR body. Default is the original PR body
required: false
bp-branch-name:
description: >
Comma separated list of backporting PR branch names.
Default is auto-generated from commit and target branches
required: false
reviewers:
description: >
Comma separated list of reviewers for the backporting pull request
required: false
assignees:
description: >
Comma separated list of reviewers for the backporting pull request
required: false
no-inherit-reviewers:
description: >
Considered only if reviewers is empty, if true keep reviewers as empty list,
otherwise inherit from original pull request
required: false
default: "false"
labels:
description: >
Comma separated list of labels to be assigned to the backported pull request
required: false
inherit-labels:
description: >
If true the backported pull request will inherit labels from the original one
required: false
default: "false"
no-squash:
description: >
Backport all commits found in the pull request.
The default behavior is to only backport the first commit that was merged in the base branch.
required: false
auto-no-squash:
description: >
If the pull request was merged or is open, backport all commits.
If the pull request commits were squashed, backport the squashed commit.
required: false
strategy:
description: Cherry-pick merge strategy
required: false
default: "recursive"
strategy-option:
description: Cherry-pick merge strategy option
required: false
default: "theirs"
cherry-pick-options:
description: >
Additional cherry-pick options
required: false
comments:
description: >
Semicolon separated list of additional comments to be posted to the backported pull request
required: false
enable-err-notification:
description: >
If true, enable the error notification as comment on the original pull request
required: false
default: "false"
runs:
using: node20
main: dist/gha/index.js
branding:
icon: 'git-merge'
color: 'blue'