Skip to content

Commit 9d58d6a

Browse files
committed
keep fixing version processing for PS anifest
1 parent 597be65 commit 9d58d6a

1 file changed

Lines changed: 28 additions & 3 deletions

File tree

.github/workflows/publish.yml

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,14 @@ jobs:
3939
# Удаляем префикс v, если он есть
4040
$tag = $tag -replace '^v', ''
4141
42-
$newVersion = $tag
42+
# Разделяем версию и prerelease-суффикс (если есть)
43+
if ($tag -match '^([0-9]+\.[0-9]+\.[0-9]+)(?:-([A-Za-z0-9\.\-]+))?$') {
44+
$version = $matches[1]
45+
$prerelease = $matches[2]
46+
} else {
47+
Write-Error "Tag format invalid. Should be X.Y.Z or X.Y.Z-suffix"
48+
exit 1
49+
}
4350
4451
$psd1 = Get-Item ./PSGraph/PSQuickGraph.psd1
4552
if (-not $psd1) {
@@ -48,11 +55,29 @@ jobs:
4855
}
4956
5057
$content = Get-Content $psd1.FullName
58+
59+
# Обновляем ModuleVersion
5160
$versionPattern = 'ModuleVersion\s*=\s*''[^'']*'''
52-
$newContent = $content -replace $versionPattern, "ModuleVersion = '$newVersion'"
61+
$newContent = $content -replace $versionPattern, "ModuleVersion = '$version'"
62+
63+
# Обновляем или добавляем Prerelease
64+
$prPattern = '^\s*Prerelease\s*=\s*''[^'']*''\s*$'
65+
if ($prerelease) {
66+
if ($newContent -match $prPattern) {
67+
$newContent = $newContent -replace $prPattern, "Prerelease = '$prerelease'"
68+
} else {
69+
# Добавляем Prerelease после ModuleVersion
70+
$mvPattern = 'ModuleVersion\s*=\s*''[^'']*'''
71+
$newContent = $newContent -replace $mvPattern, "ModuleVersion = '$version'`nPrerelease = '$prerelease'"
72+
}
73+
} else {
74+
# Удаляем Prerelease если был
75+
$newContent = $newContent -replace $prPattern, ''
76+
}
77+
5378
Set-Content -Path $psd1.FullName -Value $newContent
5479
55-
"version=$newVersion" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
80+
"version=$version" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
5681
5782
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
5883
uses: actions/setup-dotnet@v3

0 commit comments

Comments
 (0)