Skip to content

Commit e3525cb

Browse files
committed
chore(changelog): add config
1 parent cf57f2a commit e3525cb

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

.changelog

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
3+
namespace ConventionalChangelog;
4+
5+
use ConventionalChangelog\Git\Repository;
6+
use ConventionalChangelog\Helper\SemanticVersion;
7+
8+
$releaseMessagePrefix = 'chore(release): ';
9+
10+
return [
11+
// Ignore changelogs
12+
'ignorePatterns' => [
13+
'/' . preg_quote($releaseMessagePrefix, '/') . '.*/i',
14+
'/chore\(changelog\)[:].*/i',
15+
],
16+
'releaseCommitMessageFormat' => "{$releaseMessagePrefix}{{currentTag}}",
17+
'postRun' => function () use ($releaseMessagePrefix) {
18+
$lastTag = Repository::getLastTag();
19+
$lastTagCommit = Repository::getLastTagCommit();
20+
$lastCommit = Repository::getLastCommit();
21+
22+
if ($lastTagCommit !== $lastCommit) {
23+
return;
24+
}
25+
26+
$binFile = __DIR__ . '/src/Scanner.php';
27+
$versionFile = __DIR__ . '/dist/version';
28+
$readmeFile = __DIR__ . '/README.md';
29+
$semverRegex = SemanticVersion::PATTERN;
30+
31+
// Get version
32+
$version = new SemanticVersion($lastTag);
33+
$versionString = $version->getVersion();
34+
35+
// Update version on readme
36+
$readme = file_get_contents($readmeFile);
37+
$readme = preg_replace("/(https:\/\/img\.shields\.io\/badge\/version)-({$semverRegex})-/m", '$1-' . $versionString . '-', $readme);
38+
file_put_contents($readmeFile, $readme);
39+
40+
// Update version on bin
41+
$bin = file_get_contents($binFile);
42+
$bin = preg_replace("/(public static \\\$version = ')({$semverRegex})'/m", '$1\'' . $version->getVersion() . '\'', $bin);
43+
file_put_contents($binFile, $bin);
44+
45+
// Update version file
46+
file_put_contents($versionFile, $versionString);
47+
48+
// Delete tag
49+
Repository::deleteTag($lastTag);
50+
51+
// Commit and tag
52+
$message = $releaseMessagePrefix . $version->getVersion();
53+
Repository::commit($message, [$binFile, $readmeFile], true, true, true);
54+
Repository::tag($lastTag);
55+
},
56+
];

0 commit comments

Comments
 (0)