|
7 | 7 | use Github\Api\Repository\Releases; |
8 | 8 | use Github\AuthMethod; |
9 | 9 | use Github\Client; |
10 | | -use RuntimeException; |
11 | 10 | use Symplify\GitWrapper\GitWorkingCopy; |
12 | 11 | use Symfony\Component\Console\Input\InputArgument; |
13 | 12 | use Symfony\Component\Console\Input\InputInterface; |
|
21 | 20 | use Yiisoft\YiiDevTool\App\Component\GitHubTokenAware; |
22 | 21 |
|
23 | 22 | use function in_array; |
| 23 | +use function sprintf; |
24 | 24 |
|
25 | 25 | final class MakeCommand extends PackageCommand |
26 | 26 | { |
@@ -61,9 +61,7 @@ protected function processPackage(Package $package): void |
61 | 61 | $io = $this->getIO(); |
62 | 62 | $io->preparePackageHeader($package, 'Releasing {package}'); |
63 | 63 | $git = $package->getGitWorkingCopy(); |
64 | | - |
65 | | - // Validate GitHub token at the very beginning |
66 | | - $this->getGitHubToken(); |
| 64 | + $gitHubToken = $this->getGitHubToken(); |
67 | 65 |
|
68 | 66 | if (!$package->composerConfigFileExists()) { |
69 | 67 | $io->warning([ |
@@ -180,7 +178,7 @@ protected function processPackage(Package $package): void |
180 | 178 | $git->push(); |
181 | 179 | $git->pushTag((string) $versionToRelease); |
182 | 180 |
|
183 | | - $this->releaseOnGithub($package, $versionToRelease); |
| 181 | + $this->releaseOnGithub($gitHubToken, $package, $versionToRelease); |
184 | 182 |
|
185 | 183 | $io->done(); |
186 | 184 |
|
@@ -241,28 +239,21 @@ private function getVersionToRelease(Version $currentVersion): Version |
241 | 239 | return $nextVersion; |
242 | 240 | } |
243 | 241 |
|
244 | | - private function releaseOnGithub(Package $package, Version $versionToRelease): void |
| 242 | + private function releaseOnGithub(string $token, Package $package, Version $versionToRelease): void |
245 | 243 | { |
246 | 244 | $io = $this->getIO(); |
247 | 245 | $io->info("Creating release on GitHub for $versionToRelease.\n"); |
248 | 246 |
|
249 | 247 | $client = new Client(); |
250 | | - try { |
251 | | - $token = $this->getGitHubToken(); |
252 | | - } catch (RuntimeException $e) { |
253 | | - $io->error($e->getMessage()); |
254 | | - $io->warning('Skipped creating release on GitHub.'); |
255 | | - return; |
256 | | - } |
257 | 248 | $changelogPath = $package->getPath() . '/CHANGELOG.md'; |
258 | 249 | $changelog = new Changelog($changelogPath); |
259 | 250 | $client->authenticate($token, null, AuthMethod::ACCESS_TOKEN); |
260 | 251 | $release = new Releases($client); |
261 | 252 |
|
262 | | - |
263 | | - $changelogUrl = "https://github.com/yiisoft/$packageName/blob/$versionToRelease/CHANGELOG.md"; |
264 | 253 | $body = implode("\n", $changelog->getReleaseNotes($versionToRelease)); |
265 | | - $body .= "\n\n[Full changelog]({$changelogUrl})"; |
| 254 | + |
| 255 | + $changelogUrl = "https://github.com/yiisoft/{$package->getName()}/blob/$versionToRelease/CHANGELOG.md"; |
| 256 | + $body .= "\n\n[Full changelog]($changelogUrl)"; |
266 | 257 |
|
267 | 258 | $release->create($package->getVendor(), $package->getId(), [ |
268 | 259 | 'name' => sprintf('Version %s', $versionToRelease), |
|
0 commit comments