Refactor: Hardening InfiniFrame.Tools.Pack#158
Merged
AnnaSasDev merged 34 commits intocorefrom Apr 6, 2026
Merged
Conversation
…oded values across `InfiniFrame.Tools.Pack` components. Add output validation for `PublishService` and associated tests.
…ck`, replacing console-based logging and adding verbose mode support.
…and update project configuration. - Added `install-or-update-pack-tool.ps1` (PowerShell) and `install-or-update-pack-tool.sh` (Bash) scripts for automating tool installation. - Updated `.csproj` to exclude installation scripts from packaging.
…or `InfiniFrame.Tools.Pack`.
This was
linked to
issues
Apr 5, 2026
- Enhanced `.csproj` to support conditional `InfiniFramePackCommand` and improved file linking logic. - Updated `install-or-update-pack-tool.ps1` to add `.dotnet\tools` to user/system PATH automatically.
…existing CI pipelines.
…ion (Linux, macOS, and Windows). Refactor and modularize actions, integrate platform-specific configurations, and update CI pipelines.
…ctions for Pack tool workflows.
…ux, macOS, Windows).
…d testing workflow
This was
linked to
issues
Apr 5, 2026
Add a new integration test PublishAsync_ReturnsSuccessAndSingleFileOutput_WhenProjectIncludesInfiniFrame that creates a temporary minimal app project referencing src/InfiniFrame/InfiniFrame.csproj, publishes it with resolved RID, and asserts a successful exit code, presence of the main output binary, and that the publish output contains exactly one file. Also add a FindRepoRoot helper to locate the repository root by searching for InfiniFrame.slnx.
… asynchronous read methods
This was
linked to
issues
Apr 5, 2026
…rameNativeArtifactManifest` to reduce repetition across Pack, Shared, and BlazorWebView projects.
3 tasks
…PathSafety` and `PublishService` - Updated `OutputPathSafety` to respect platform-specific path casing rules when validating directory paths and outputs. - Introduced tests to ensure correct behavior on case-sensitive and case-insensitive platforms. - Adjusted `PublishService` validation to use consistent path comparison logic.
… binary checks - Added architecture validation for native artifacts against RIDs, with specific checks for Windows PE binaries. - Updated `ValidateArtifacts` method to verify file architecture compatibility. - Introduced `ReadPeMachine` to parse PE machine types from binaries and handle architecture mismatches. - Enhanced test coverage for architecture mismatches and PE validation logic.
…dPropertyResolver` for better process output management.
…consistent cross-platform behavior.
- Introduced retry attempts for directory and file deletions to improve reliability. - Enhanced `Cleanup` method to return detailed warnings for failed delete operations. - Updated `PublishService` to log cleanup warnings for better visibility. - Added new tests to validate retry logic and warning behavior, including handling of read-only files.
Add a private PackageReference to "Polyfill" in multiple csproj files so polyfills are available during build/runtime without flowing to consumers. Updated projects: src/InfiniFrame/InfiniFrame.csproj, src/InfiniFrame.Blazor/InfiniFrame.Blazor.csproj, src/InfiniFrame.BlazorWebView/InfiniFrame.BlazorWebView.csproj, src/InfiniFrame.Js/InfiniFrame.Js.csproj, and src/InfiniFrame.WebServer/InfiniFrame.WebServer.csproj. Each reference sets PrivateAssets="all" and IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive".
…ngle-file-output' of https://github.com/InfiniLore/InfiniFrame into 127-strengthen-pack-success-criteria-to-enforce-true-single-file-output
… log prefixes in `Pack` tool
…ack-related builds
…lify `SelfContained` handling
… in `PublishService` preflight logic.
…stent and robust path resolution
… expression' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
…ngle-file-output' of https://github.com/InfiniLore/InfiniFrame into 127-strengthen-pack-success-criteria-to-enforce-true-single-file-output
…ArtifactManifest` and update references across the codebase.
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.
Closes #126
Closes #127
Closes #128
Closes #129
Closes #131
Closes #132
Closes #134
Closes #135
Closes #136
Closes #138
Closes #139
Closes #140
Closes #141
Closes #142
Closes #143