From 54218ce19ac0b470171934924f56b05dcdb26031 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Sun, 3 May 2026 05:25:12 +0000 Subject: [PATCH] v0.2.2 / v0.2.2 / v0.3.2: portable DebugType so snupkg actually ships symbols MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All three provider csprojs had DebugType=embedded, which produces an empty .snupkg (no .pdb files; debug info inside the .dll). nuget.org rejects empty symbol packages with HTTP 400. The CI artifact filter (`*.nupkg`) silently dropped the broken symbol package on its way to the publish job, so the failure stayed invisible — but no symbols ever reached nuget.org. - Adobe / Airtable / SoftwareOne csprojs: DebugType=portable. Real .pdb alongside .dll; .snupkg now contains it. - ci.yml: upload-artifact path is now `*nupkg` (matches both .nupkg and .snupkg) so the per-package publish job pushes both. The push step's `${{ steps.prefix.outputs.pkg }}.*.nupkg` glob is unchanged — the CLI auto-pushes the matching .snupkg next to the .nupkg. Version bumps: - Adobe 0.2.1 → 0.2.2 - Airtable 0.2.1 → 0.2.2 - SoftwareOne 0.3.1 → 0.3.2 No API or behaviour changes. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 5 ++++- CHANGELOG.md | 20 +++++++++++++++++++ ...SpectreConsole.Auth.Providers.Adobe.csproj | 4 ++-- ...ctreConsole.Auth.Providers.Airtable.csproj | 4 ++-- ...eConsole.Auth.Providers.SoftwareOne.csproj | 4 ++-- 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f5e204..9692b07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,10 @@ jobs: uses: actions/upload-artifact@v6 with: name: nuget-packages - path: ${{ github.workspace }}/artifacts/*.nupkg + # Capture both .nupkg and .snupkg so the publish job's + # `dotnet nuget push *.nupkg` can also push the matching + # symbol package next to it. + path: ${{ github.workspace }}/artifacts/*nupkg # Publishes a single provider's nupkg to nuget.org. Fired by tag push # only — per-package tag prefixes (adobe-v*, airtable-v*, softwareone-v*) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb8e04e..6fbeb63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,26 @@ and each package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [0.2.2 / 0.2.2 / 0.3.2] — 2026-05-03 + +_Adobe → 0.2.2, Airtable → 0.2.2, SoftwareOne → 0.3.2. Coordinated patch release across the four sibling repos to fix symbol-package publishing._ + +### Changed +- **Symbol packaging.** Switched `` from `embedded` to `portable` + in all three provider csprojs so the published `.snupkg` actually + contains `.pdb` files. The previous combination produced an empty + `.snupkg`; nuget.org rejects empty symbol packages with HTTP 400. + Until now the workflow's `upload-artifact` filter (`*.nupkg`) silently + dropped the broken symbol package on its way to the publish job, so + the failure stayed invisible — but no symbols ever reached nuget.org's + symbol server. Consumers debugging into any of the providers now get + sources via the symbol server out of the box. +- **CI artifact path.** `upload-artifact` now captures `*nupkg` (both + `.nupkg` and `.snupkg`) so the publish job pushes both files for the + package matching the tag prefix. + +--- + ## [0.2.1 / 0.2.1 / 0.3.1] — 2026-05-03 _Adobe → 0.2.1, Airtable → 0.2.1, SoftwareOne → 0.3.1. Coordinated patch release driven by an external security review._ diff --git a/src/NextIteration.SpectreConsole.Auth.Providers.Adobe/NextIteration.SpectreConsole.Auth.Providers.Adobe.csproj b/src/NextIteration.SpectreConsole.Auth.Providers.Adobe/NextIteration.SpectreConsole.Auth.Providers.Adobe.csproj index 50ac474..0ed8aa8 100644 --- a/src/NextIteration.SpectreConsole.Auth.Providers.Adobe/NextIteration.SpectreConsole.Auth.Providers.Adobe.csproj +++ b/src/NextIteration.SpectreConsole.Auth.Providers.Adobe/NextIteration.SpectreConsole.Auth.Providers.Adobe.csproj @@ -11,7 +11,7 @@ NextIteration.SpectreConsole.Auth.Providers.Adobe - 0.2.1 + 0.2.2 Adobe VIP Marketplace credential provider for NextIteration.SpectreConsole.Auth. Ships AdobeCredential, AdobeToken, AdobeAuthenticationService (OAuth2 client-credentials against Adobe IMS), and the Spectre.Console collector that drives the accounts-add prompt. true MIT @@ -27,7 +27,7 @@ true true snupkg - embedded + portable true diff --git a/src/NextIteration.SpectreConsole.Auth.Providers.Airtable/NextIteration.SpectreConsole.Auth.Providers.Airtable.csproj b/src/NextIteration.SpectreConsole.Auth.Providers.Airtable/NextIteration.SpectreConsole.Auth.Providers.Airtable.csproj index 6006fe0..3cd087e 100644 --- a/src/NextIteration.SpectreConsole.Auth.Providers.Airtable/NextIteration.SpectreConsole.Auth.Providers.Airtable.csproj +++ b/src/NextIteration.SpectreConsole.Auth.Providers.Airtable/NextIteration.SpectreConsole.Auth.Providers.Airtable.csproj @@ -11,7 +11,7 @@ NextIteration.SpectreConsole.Auth.Providers.Airtable - 0.2.1 + 0.2.2 Airtable credential provider for NextIteration.SpectreConsole.Auth. Ships AirtableCredential, AirtableToken, AirtableAuthenticationService (pass-through personal access token), and the Spectre.Console collector that drives the accounts-add prompt. true MIT @@ -27,7 +27,7 @@ true true snupkg - embedded + portable true diff --git a/src/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne.csproj b/src/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne.csproj index 5e34d4f..1730ab6 100644 --- a/src/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne.csproj +++ b/src/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne/NextIteration.SpectreConsole.Auth.Providers.SoftwareOne.csproj @@ -11,7 +11,7 @@ NextIteration.SpectreConsole.Auth.Providers.SoftwareOne - 0.3.1 + 0.3.2 SoftwareOne Marketplace credential provider for NextIteration.SpectreConsole.Auth. Ships SoftwareOneCredential, SoftwareOneToken, SoftwareOneAuthenticationService, and the Spectre.Console collector that drives the accounts-add prompt. The collector performs a live lookup against the Marketplace API at add-time to validate the token and enrich the credential with the account and token metadata. true MIT @@ -27,7 +27,7 @@ true true snupkg - embedded + portable true