You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test(stjm): run the previous release's test suite against the current library in CI #218
The contract that matters most for this package is that JSON written by an earlier release still reads the same. Running the last release's own behavior tests, unmodified, against the current library is a cheap and direct check of that, and doing it by hand on #213 found a real 1.x-to-2.0 read regression (numeric payload for an enum source with JsonStringEnumConverter, introduced in #199's non-object matching rewrite).
Change
Add a CI job (or a target in the test project) that resolves the latest egil-systemtextjson-migration/v* tag, extracts test/Egil.SystemTextJson.Migration.Tests from it with git archive, drops in the current test csproj, and runs it against the current src on every target framework.
Maintain an explicit allowlist of previous-release test names that are expected to fail because of a documented behavior change (currently Copied_options_use_their_own_metadata_context_for_converter_creation), so every other failure breaks the build. Each allowlist entry must link the upgrade-page section that documents the change.
Skip tests that no longer compile against the current API only when a documented API removal exists; today there are none.
Mention the job in docs/recipes/upgrading-to-v2.md as the mechanism behind the "stored data" guarantee.
The manual recipe used on #213 (from the project root):
Activity