Skip to content

v3.0.0

Latest

Choose a tag to compare

@joris974 joris974 released this 29 Jul 16:10
74e9116

v3.0.0

Rewrites the action from a bash script (bin/automerge-prs) to TypeScript,
compiled to dist/index.js. Behavior is preserved for the common cases, but
two input-handling edge cases changed in ways that can break existing
workflows -- read the Breaking Changes section before upgrading.

Breaking Changes

  • dry-run and remove-reviewers now require a strict boolean string.
    These inputs are parsed with @actions/core's getBooleanInput, which only
    accepts true/True/TRUE/false/False/FALSE (YAML 1.2 Core Schema).
    The old bash implementation also accepted values like dry-run: 1. If your
    workflow sets either input to 1, 0, or any other non-canonical value,
    update it to "true"/"false" before upgrading, or the step will throw.

  • An invalid strategy no longer exits with a distinct status code.
    Previously, an invalid strategy input caused the underlying script to
    exit 64 (EX_USAGE), distinguishing a misconfiguration from a runtime
    failure. All failures -- config or runtime -- now surface the same way via
    core.setFailed. If anything in your pipeline branched on that exit code,
    it will no longer see the distinction.

Other Notable Changes

  • quarantine-days accepts non-numeric input without validation (parses to
    NaN rather than raising a clear error) -- tracked as a known gap, not
    fixed in this release.
  • Reviewer-removal and comment-posting on newly-opened bot PRs are no longer
    gated behind dry-run.
  • GraphQL PR search now uses ISSUE_ADVANCED, fixing a bug where OR in
    exclude-title-regex-adjacent queries was silently ignored.
  • README inputs table is now generated from action.yml via action-docs.

Upgrading

- uses: freckle/mergeabot-action@v3

No input renames; only the stricter boolean parsing and the exit-code
behavior above require attention.