automatic-releases
automatic-releases copied to clipboard
Merge up PR creation step fails when no changes to merge up
Bug Report
| Q | A |
|---|---|
| Version(s) | x.y.z |
Summary
In unusual conditions I had to trigger 2.13.1 patch release that had no changes to merge up to 2.14.x due to https://github.com/laminas/laminas-navigation/issues/28
Attempt to create merge-up PR failed since it would have ended up with empty changeset.
https://github.com/laminas/laminas-navigation/runs/4503567078?check_suite_focus=true#step:5:1
Current behavior
Merge up PR creation fails when there are no changes to merge up.
In invariant_violation.php line 18:
[Psl\Exception\InvariantViolationException]
Failed to create pull request through GitHub API.
Exception trace:
at /app/vendor/azjezz/psl/src/Psl/invariant_violation.php:18
Psl\invariant_violation() at /app/vendor/azjezz/psl/src/Psl/invariant.php:21
Psl\invariant() at /app/src/Github/Api/V3/CreatePullRequestThroughApiCall.php:65
Laminas\AutomaticReleases\Github\Api\V3\CreatePullRequestThroughApiCall->__invoke() at /app/src/Application/Command/CreateMergeUpPullRequest.php:109
Laminas\AutomaticReleases\Application\Command\CreateMergeUpPullRequest->execute() at /app/vendor/symfony/console/Command/Command.php:256
Symfony\Component\Console\Command\Command->run() at /app/vendor/symfony/console/Application.php:971
Symfony\Component\Console\Application->doRunCommand() at /app/vendor/symfony/console/Application.php:290
Symfony\Component\Console\Application->doRun() at /app/vendor/symfony/console/Application.php:166
Symfony\Component\Console\Application->run() at /app/bin/console.php:171
Laminas\AutomaticReleases\WebApplication\{closure}() at /app/bin/console.php:172
laminas:automatic-releases:create-merge-up-pull-request
How to reproduce
Trigger release when released branch and next branch have all changes already
Expected behavior
Probably, detect no changes condition and skip PR creation