Skip to content

Commit 8268530

Browse files
committed
ci: fix tag and release check
1 parent 84c53dc commit 8268530

File tree

1 file changed

+34
-7
lines changed

1 file changed

+34
-7
lines changed

.github/workflows/continuous-integration-workflow.yml

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,43 @@ jobs:
5151
$commitId = git rev-list --no-merges -n 1 HEAD
5252
$tagName = "v$version"
5353
54-
# Check if tag already exists
54+
# Set error action preference to continue on error
55+
$ErrorActionPreference = "Continue"
56+
57+
# Check if tag already exists locally
5558
$existingTag = git tag -l $tagName
56-
if (-not $existingTag) {
59+
60+
# Check if GitHub release already exists
61+
$existingRelease = $null
62+
try {
63+
$existingRelease = gh release view $tagName 2>$null
64+
} catch {
65+
# Release doesn't exist, which is fine
66+
}
67+
68+
if (-not $existingTag -and -not $existingRelease) {
69+
Write-Host "Creating new tag and release: $tagName"
70+
71+
# Create and push tag
5772
git tag $tagName $commitId
58-
git push origin $tagName
73+
$tagResult = git push origin $tagName
5974
60-
# Create GitHub release
61-
gh release create $tagName .\x64\Release\OpenCppCoverage.exe --title "OpenCppCoverage $version" --notes "Release $version"
62-
} else {
63-
Write-Host "Tag $tagName already exists, skipping release creation"
75+
if ($LASTEXITCODE -eq 0) {
76+
# Create GitHub release
77+
$releaseResult = gh release create $tagName .\x64\Release\OpenCppCoverage.exe --title "OpenCppCoverage $version" --notes "Release $version"
78+
79+
if ($LASTEXITCODE -eq 0) {
80+
Write-Host "Successfully created release $tagName"
81+
} else {
82+
Write-Host "Failed to create GitHub release for $tagName, but tag was created"
83+
}
84+
} else {
85+
Write-Host "Failed to push tag $tagName"
86+
}
87+
} elseif ($existingTag) {
88+
Write-Host "Tag $tagName already exists locally, skipping release creation"
89+
} elseif ($existingRelease) {
90+
Write-Host "Release $tagName already exists on GitHub, skipping release creation"
6491
}
6592
env:
6693
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)