From 2c07f2dfd2e30a58345f793044b6773a6840d0d8 Mon Sep 17 00:00:00 2001 From: Rob Bos Date: Sun, 28 Dec 2025 00:03:08 +0100 Subject: [PATCH] update publish script with extra checks --- package-lock.json | 4 ++-- publish.ps1 | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9759fe6..230d2de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "copilot-token-tracker", - "version": "0.0.3", + "version": "0.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "copilot-token-tracker", - "version": "0.0.3", + "version": "0.0.4", "dependencies": { "jsdom": "^27.4.0" }, diff --git a/publish.ps1 b/publish.ps1 index 4663b45..5b6c772 100644 --- a/publish.ps1 +++ b/publish.ps1 @@ -58,3 +58,41 @@ if ($LASTEXITCODE -eq 0) { Write-Host "`n❌ Publishing failed. Please check the error messages above." -ForegroundColor Red exit 1 } + +# 4. Validate that a GitHub release was created +Write-Host "`nValidating GitHub release..." -ForegroundColor Cyan + +# Get the version from package.json +$packageJson = Get-Content -Path "package.json" -Raw | ConvertFrom-Json +$version = $packageJson.version +$expectedTag = "v$version" + +Write-Host "Checking for release with tag: $expectedTag" -ForegroundColor Gray + +# Query GitHub API for the release +$owner = "rajbos" +$repo = "github-copilot-token-usage" +$apiUrl = "https://api.github.com/repos/$owner/$repo/releases/tags/$expectedTag" + +try { + $release = Invoke-RestMethod -Uri $apiUrl -Method Get -Headers @{ + "Accept" = "application/vnd.github+json" + "User-Agent" = "PowerShell-Script" + } + + if ($release.tag_name -eq $expectedTag) { + Write-Host "✅ GitHub release validated successfully!" -ForegroundColor Green + Write-Host "Release URL: $($release.html_url)" -ForegroundColor Gray + } else { + Write-Host "❌ Release tag mismatch. Expected: $expectedTag, Found: $($release.tag_name)" -ForegroundColor Red + exit 1 + } +} catch { + if ($_.Exception.Response.StatusCode -eq 404) { + Write-Host "❌ GitHub release with tag '$expectedTag' not found!" -ForegroundColor Red + Write-Host "Please create a release at: https://github.com/$owner/$repo/releases/new" -ForegroundColor Yellow + } else { + Write-Host "❌ Failed to validate GitHub release: $($_.Exception.Message)" -ForegroundColor Red + } + exit 1 +}