Skip to content

Commit 6769906

Browse files
authored
Merge pull request #391 from asgrim/handle-box-git-version-properly-for-self-update
Handle box git version formatting properly in self-update
2 parents 86e1b52 + 6be0066 commit 6769906

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

src/SelfManage/Update/ReleaseIsNewer.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Composer\Semver\Semver;
88
use Composer\Semver\VersionParser;
99

10+
use function preg_match;
1011
use function strtolower;
1112

1213
/** @internal This is not public API for PIE, so should not be depended upon unless you accept the risk of BC breaks */
@@ -31,6 +32,10 @@ public static function forChannel(
3132
string $currentPieVersion,
3233
ReleaseMetadata $newRelease,
3334
): bool {
35+
if (preg_match('#([0-9]+\.[0-9]+\.[0-9]+)@([a-f0-9]{7})#', $currentPieVersion, $matches)) {
36+
$currentPieVersion = 'dev-main#' . $matches[2];
37+
}
38+
3439
$newVersion = $newRelease->tag;
3540
$newStability = self::stabilityToChannel(VersionParser::parseStability($newVersion));
3641

test/unit/SelfManage/Update/ReleaseIsNewerTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public function provider(): array
3131
'stable-nightly-to-nightly' => [Channel::Stable, 'dev-main', 'dev-main', false],
3232
'stable-nightly-to-stable' => [Channel::Stable, 'dev-main', '1.0.0', true],
3333
'stable-nightly-to-preview' => [Channel::Stable, 'dev-main', '1.0.1-rc1', false],
34+
'stable-nightly2-to-nightly' => [Channel::Stable, '1.2.1@86e1b52', 'dev-main', false],
35+
'stable-nightly2-to-stable' => [Channel::Stable, '1.2.1@86e1b52', '1.0.0', true],
36+
'stable-nightly2-to-preview' => [Channel::Stable, '1.2.1@86e1b52', '1.0.1-rc1', false],
3437

3538
'preview-oldstable-to-newstable' => [Channel::Preview, '1.0.0', '1.0.1', true],
3639
'preview-newstable-to-oldstable' => [Channel::Preview, '1.0.1', '1.0.0', false],
@@ -45,6 +48,9 @@ public function provider(): array
4548
'preview-nightly-to-nightly' => [Channel::Preview, 'dev-main', 'dev-main', false],
4649
'preview-nightly-to-stable' => [Channel::Preview, 'dev-main', '1.0.0', true],
4750
'preview-nightly-to-preview' => [Channel::Preview, 'dev-main', '1.0.1-rc1', true],
51+
'preview-nightly2-to-nightly' => [Channel::Preview, '1.2.1@86e1b52', 'dev-main', false],
52+
'preview-nightly2-to-stable' => [Channel::Preview, '1.2.1@86e1b52', '1.0.0', true],
53+
'preview-nightly2-to-preview' => [Channel::Preview, '1.2.1@86e1b52', '1.0.1-rc1', true],
4854

4955
'nightly-oldstable-to-newstable' => [Channel::Nightly, '1.0.0', '1.0.1', true],
5056
'nightly-newstable-to-oldstable' => [Channel::Nightly, '1.0.1', '1.0.0', false],
@@ -59,6 +65,9 @@ public function provider(): array
5965
'nightly-nightly-to-nightly' => [Channel::Nightly, 'dev-main', 'dev-main', true],
6066
'nightly-nightly-to-stable' => [Channel::Nightly, 'dev-main', '1.0.0', false],
6167
'nightly-nightly-to-preview' => [Channel::Nightly, 'dev-main', '1.0.1-rc1', false],
68+
'nightly-nightly2-to-nightly' => [Channel::Nightly, '1.2.1@86e1b52', 'dev-main', true],
69+
'nightly-nightly2-to-stable' => [Channel::Nightly, '1.2.1@86e1b52', '1.0.0', false],
70+
'nightly-nightly2-to-preview' => [Channel::Nightly, '1.2.1@86e1b52', '1.0.1-rc1', false],
6271
];
6372
}
6473

0 commit comments

Comments
 (0)