Skip to content

Refactor: Hardening InfiniFrame.Tools.Pack#158

Merged
AnnaSasDev merged 34 commits intocorefrom
127-strengthen-pack-success-criteria-to-enforce-true-single-file-output
Apr 6, 2026
Merged

Refactor: Hardening InfiniFrame.Tools.Pack#158
AnnaSasDev merged 34 commits intocorefrom
127-strengthen-pack-success-criteria-to-enforce-true-single-file-output

Conversation

@AnnaSasDev
Copy link
Copy Markdown
Member

@AnnaSasDev AnnaSasDev commented Apr 5, 2026

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

…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.
- 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.
@AnnaSasDev AnnaSasDev linked an issue Apr 5, 2026 that may be closed by this pull request
…ion (Linux, macOS, and Windows). Refactor and modularize actions, integrate platform-specific configurations, and update CI pipelines.
@AnnaSasDev AnnaSasDev linked an issue Apr 5, 2026 that may be closed by this pull request
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.
@AnnaSasDev AnnaSasDev linked an issue Apr 5, 2026 that may be closed by this pull request
…rameNativeArtifactManifest` to reduce repetition across Pack, Shared, and BlazorWebView projects.
@AnnaSasDev AnnaSasDev linked an issue Apr 5, 2026 that may be closed by this pull request
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.
- 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
Comment thread src/InfiniFrame.Tools.Pack/Services/PublishService.cs Fixed
Comment thread src/InfiniFrame.Tools.Pack/Services/PublishService.cs Fixed
AnnaSasDev and others added 5 commits April 6, 2026 03:37
… 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.
@AnnaSasDev AnnaSasDev merged commit bb572c7 into core Apr 6, 2026
49 checks passed
@AnnaSasDev AnnaSasDev deleted the 127-strengthen-pack-success-criteria-to-enforce-true-single-file-output branch April 6, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment