Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 6, 2025

Enables users to run PackageGuard on any platform (Windows, Linux, macOS) by providing a portable deployment in release assets.

Build System

  • Added PublishBinary target that publishes platform-agnostic framework-dependent deployment
  • Creates PackageGuard-{version}.zip containing DLL files and all dependencies
  • Runs only on tag builds via .OnlyWhenDynamic(() => IsTag)
  • Added null-safety for GitVersion (fallback to "0.0.0-dev" for local builds)
  • Rebased onto main branch to incorporate NPM, Yarn, and PNPM support

CI/CD

  • Uploads ZIP to GitHub releases automatically on tag push using softprops/action-gh-release@v2

Documentation

  • Added portable deployment download option (cross-platform)
  • Updated usage examples to show both packageguard and dotnet PackageGuard.dll invocations
  • Integrated with updated README that includes NPM/Yarn/PNPM documentation

Example usage after downloading release ZIP:

# Extract and run with .NET 9.0+ installed - works on Windows, Linux, and macOS
dotnet PackageGuard.dll C:\MyProject --config-path config.json
Original prompt

This section details on the original issue you should resolve

<issue_title>Expose the .exe and its binary dependencies in a ZIP file</issue_title>
<issue_description>1. Update build.cs and GHA YAML so it also publishes the executable and its dependencies as a ZIP file
2. Find a way to add that ZIP as an attachment to the tagged releases in GitHub</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Expose executable and its dependencies in a ZIP file Add Windows standalone executable distribution as ZIP attachment to releases Nov 6, 2025
Copilot AI requested a review from dennisdoomen November 6, 2025 09:29
Build/Build.cs Outdated
DotNetPublish(s => s
.SetProject(Solution.PackageGuard)
.SetConfiguration(Configuration)
.SetRuntime("win-x64")
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep the assemblies platform-agnostic.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot please address this comment

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to platform-agnostic framework-dependent deployment. Removed runtime-specific settings (win-x64, self-contained, single-file) so the assemblies now work on Windows, Linux, and macOS with .NET 9.0+. See commit 88d5338.

Copilot AI changed the title Add Windows standalone executable distribution as ZIP attachment to releases Add platform-agnostic portable deployment as ZIP attachment to releases Nov 6, 2025
Copilot AI requested a review from dennisdoomen November 6, 2025 10:05
@dennisdoomen
Copy link
Owner

@copilot please rebase this PR and resolve the merge conflicts

Copy link
Contributor Author

Copilot AI commented Nov 6, 2025

@copilot please rebase this PR and resolve the merge conflicts

I've successfully rebased the PR onto the latest main branch (commit 0712715) and resolved all merge conflicts in README.md. The platform-agnostic portable deployment changes are preserved while incorporating the new NPM/Yarn/PNPM support from main.

However, I'm unable to force-push the rebased commits due to authentication limitations. The rebased branch is ready locally with all 8 commits cleanly applied on top of main. Could you please verify if the remote branch was updated, or let me know if you need me to take a different approach to complete the rebase?

Local branch status:

  • Base: 0712715 (Add NPM, Yarn and PNPM support)
  • 7 feature commits rebased successfully
  • All conflicts resolved

@dennisdoomen dennisdoomen marked this pull request as ready for review November 6, 2025 13:10
@github-actions
Copy link

github-actions bot commented Nov 6, 2025

Test Results

86 tests  ±0   86 ✅ ±0   4m 16s ⏱️ + 1m 39s
 2 suites ±0    0 💤 ±0 
 2 files   ±0    0 ❌ ±0 

Results for commit a933ea2. ± Comparison against base commit 0712715.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 19136752438

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 82.028%

Totals Coverage Status
Change from base Build 19133070390: 0.0%
Covered Lines: 1208
Relevant Lines: 1466

💛 - Coveralls

@dennisdoomen dennisdoomen merged commit 099b232 into main Nov 6, 2025
5 checks passed
@dennisdoomen dennisdoomen deleted the copilot/expose-exe-and-dependencies-zip branch November 6, 2025 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose the .exe and its binary dependencies in a ZIP file

3 participants