Skip to content

No release since v2.0.2 (Oct 12): every main CI run since Oct 13 fails at pack on package validation (CP0014/CP0015) after the Polyfill 11.4.5 bump #90

Closed

Description

@matt-edmondson

What's wrong

Every CI run on main since 2026-10-13 (merge of #88, Polyfill 11.4.3 → 11.4.5) fails in ci / .NET / Analyze & Release → Release: dotnet pack stops on package validation (Microsoft.NET.ApiCompat.ValidatePackage.targets(39,5)). Tests pass on all three OSes; only the pack/validate step fails. The last release is v2.0.2 (2026-10-12), so nothing merged since has reached NuGet.

Errors in the latest run (2026-10-31): 30 × CP0014 and 3 × CP0015.

The diagnostics are on Polyfill's embedded shim types rather than this library's own API, e.g.

error CP0015: Cannot change arguments of attribute 'System.Runtime.CompilerServices.NullableContextAttribute' on 'System.Diagnostics.CodeAnalysis.ExperimentalAttribute'.
error CP0014: Cannot remove attribute 'System.Runtime.CompilerServices.NullableContextAttribute(2)' from 'System.Runtime.CompilerServices.DefaultInterpolatedStringHandler'.

DelegateTransform/ has no CompatibilitySuppressions.xml, so the fix below adds one.

The first red run coincides with the Polyfill 11.4.x → 11.4.5 bump landing on main. That's going by timing; I didn't bisect it.

Why it matters

  • Unreleased on main right now: the Polyfill 11.4.5 and MSTest.Sdk 4.5.2 bumps (7 commits; VERSION.md already reads 2.0.3-pre.1).
  • Any fix merged from here on also won't ship until pack is green again, and a daily red CI on main hides any new, real failure.

Suggested fix

Regenerate the API-compat suppressions the way ktsu-dev/Schema#295 did for the same failure. Build with the SDK and compiler CI uses (Windows runner, SDK 10.0.403), run dotnet pack -c Release -p:ApiCompatGenerateSuppressionFile=true on the library project, and commit the updated CompatibilitySuppressions.xml. That adds the Polyfill shim entries and removes stale ones.

Acceptance criteria

  • dotnet pack -c Release of the library succeeds with package validation on and no suppression generation.
  • The next scheduled CI run on main passes Analyze & Release and publishes a release.

Generated by Claude Code

Activity

  1. matt-edmondson commented on Nov 1, 2026

    @matt-edmondson
    ContributorAuthor

    Triage

    • Category: Bug (CI/release)
    • Priority: High. No release has gone out since Oct 12 and main is red every day. The unreleased content is only dependency bumps, but the blockage applies to everything merged from here on. This is the simplest instance of the pattern (33 errors and no existing suppression file), so it is a good first repo for confirming the fix recipe.
    • Area: Build/packaging: the fix adds a new DelegateTransform/CompatibilitySuppressions.xml
    • Related (org-wide): This is the same Polyfill 11.4.5 failure as CodeBlocker#153, SingleAppInstance#207, Invoker#86, ScopedAction#85, DeepClone#118, IntervalAction#98, Sorting#72, FuzzySearch#128, AppDataStorage#358, CaseConverter#149, Containers#123, GitIntegration#281, Semantics#517 and SvnToGit#151. CaseConverter#151 ("Add CompatibilitySuppressions.xml for the Polyfill shim drift") is the closest template.
    • Duplicates / in progress: It isn't a duplicate, and there is no open DelegateTransform PR for it.

    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions