-
-
Notifications
You must be signed in to change notification settings - Fork 22
Closed
Labels
Milestone
Description
Q | A |
---|---|
Version(s) | 1.12.0 |
Summary
This code does not seem to be touched/verified by any existing tests:
automatic-releases/src/Application/Command/CreateMilestones.php
Lines 16 to 52 in da94ae9
final class CreateMilestones extends Command | |
{ | |
private LoadCurrentGithubEvent $loadEvent; | |
private CreateMilestone $createMilestone; | |
public function __construct( | |
LoadCurrentGithubEvent $loadEvent, | |
CreateMilestone $createMilestone | |
) { | |
parent::__construct('laminas:automatic-releases:create-milestones'); | |
$this->loadEvent = $loadEvent; | |
$this->createMilestone = $createMilestone; | |
} | |
public function execute(InputInterface $input, OutputInterface $output): int | |
{ | |
$milestoneClosedEvent = ($this->loadEvent)(); | |
$repositoryName = $milestoneClosedEvent->repository(); | |
$releaseVersion = $milestoneClosedEvent->version(); | |
$this->createMilestoneIfNotExists($repositoryName, $releaseVersion->nextPatch()); | |
$this->createMilestoneIfNotExists($repositoryName, $releaseVersion->nextMinor()); | |
$this->createMilestoneIfNotExists($repositoryName, $releaseVersion->nextMajor()); | |
return 0; | |
} | |
private function createMilestoneIfNotExists(RepositoryName $repositoryName, SemVerVersion $version): void | |
{ | |
try { | |
($this->createMilestone)($repositoryName, $version); | |
} catch (CreateMilestoneFailed) { | |
return; | |
} | |
} | |
} |