Refactor: Hardening CI and AOT and trimming compatibility#210
Merged
AnnaSasDev merged 16 commits intocorefrom Apr 11, 2026
Merged
Refactor: Hardening CI and AOT and trimming compatibility#210AnnaSasDev merged 16 commits intocorefrom
AnnaSasDev merged 16 commits intocorefrom
Conversation
- Introduced `.github/workflows/shared-testing-js.yml` for docs validation and JS bundle checks. - Updated `InfiniFrame.Js.csproj` with TypeScript build targets for `Release` and `Pack` configurations. - Added `jsbundle-tests` job to `.github/workflows/ci-testing.yml` for verifying webpack output. - Registered `jsbundle-validate` composite action for bundle drift detection. - Included the shared JS testing workflow in `InfiniFrame.slnx`.
- Introduced `js-validation` job in `shared-testing.yml` for JS bundle validation. - Added `.github/actions/jsbundle-validate/action.yml` to solution file. - Updated `shared-testing-js.yml` to focus on JS validation.
…ed-testing-js.yml`
2 tasks
- Introduced `shared-testing-trim-aot.yml` workflow for trimming and NativeAOT compatibility validation. - Updated `.github/workflows/shared-testing.yml` and `ci-testing.yml` to include Trim/AOT validation jobs with configurable inputs. - Annotated public APIs with `RequiresUnreferencedCode` and `RequiresDynamicCode` for AOT compatibility. - Added guidance on trimming and NativeAOT to the documentation. - Extended solution file and sidebars to integrate the new workflow and guide.
…FrameWindowConfigurationSectionApplier` for AOT and trimming compatibility - Added `InfiniFrameWindowConfigurationSectionApplier` to handle configuration application without reflection. - Updated `InfiniFrameWindowBuilder` to use the new applier for improved NativeAOT compatibility. - Removed `RequiresUnreferencedCode` and `RequiresDynamicCode` annotations from relevant methods and interfaces. - Added tests for `InfiniFrameWindowConfigurationSectionApplier`.
- Changed `ci-testing.yml` name to "CI: Full Test Suite." - Updated job context to "CI Testing - Js Bundling." - Removed unused `docs/package-lock.json` from dependency cache paths in `shared-testing-js.yml`.
- Refined `BuildTypeScript` and `BuildTypeScriptForPack` targets to use `npm ci` and `npm run production:build` for better consistency. - Applied conditional execution for `Release` configuration in `BuildTypeScript`.
.csproj upgrades…ld process - Added `InfiniFrameExample.TrimAotSmoke` project to validate trimming and NativeAOT compatibility. - Enhanced TypeScript build process in `InfiniFrame.Js.csproj` with refined conditional targets for single and cross-targeting builds. - Updated solution file to include the new smoke test project. - Modified `shared-testing-trim-aot.yml` workflow to integrate the smoke test example and improve output validation.
…nfiniFrameWindow - Replaced instance-based methods in `InfiniWindowExtensions` with extension methods for improved readability and consistency. - Updated method calls to use `this` keyword, allowing fluent API usage. - Added `[SuppressMessage]` annotation to suppress "ConvertToExtensionBlock" warnings.
- Added `AnalyzerBaseline.props` to manage temporary warnings not treated as errors. - Enabled .NET analyzers and set `AnalysisLevel` to `latest` in `Directory.Build.props`. - Included `AnalyzerBaseline.props` in solution and project configuration.
… the latest runtime
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
Type of Change
Affected Modules / Scope
Changes Introduced
Related Issues
Closes #202
Closes #201
Closes #200
Closes #198
Closes #197
Checklist
📖 Additional Context