ci: add AOT CI validation, public JsonTypeInfo API, and e2e test app#2
Open
cshung wants to merge 1 commit into
Open
ci: add AOT CI validation, public JsonTypeInfo API, and e2e test app#2cshung wants to merge 1 commit into
cshung wants to merge 1 commit into
Conversation
- Add dotnet publish step to CI workflow to catch AOT/trimming warnings - Add OrasProject.Oras.AotTest: native AOT app exercising Manifest, Index, and Descriptor round-trips plus successors traversal - Expose public OrasJsonTypeInfo class with JsonTypeInfo<T> for Manifest, Index, Descriptor, and Platform so AOT consumers don't need their own JsonSerializerContext - Add live registry pull test (mcr.microsoft.com/hello-world) gated behind ORAS_AOT_LIVE_TEST=1 env var Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: cshung <3410332+cshung@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up patches on top of the AOT work — adds CI-level validation and a public API for AOT consumers.
Changes
dotnet publishstep in build workflow that catches AOT/trimming analyzer warningsOrasProject.Oras.AotTest) exercising Manifest, Index, and Descriptor round-trips + successors traversalOrasJsonTypeInfo— public static class exposingJsonTypeInfo<T>for Manifest, Index, Descriptor, and Platform so AOT consumers don't need their ownJsonSerializerContextORAS_AOT_LIVE_TEST=1)Performance (30 iterations, live registry pull)
Median speedup: ~2x — AOT eliminates JIT startup overhead. Higher variance in AOT numbers is from network jitter (the native binary itself starts in <20ms).
Feel free to merge into your branch so these ship together with PR oras-project#378.