Skip to content

Implement dual package system to reduce update download size from 60MB to 0.5MB#3

Merged
lsd-techno merged 4 commits intomainfrom
copilot/fix-2
Sep 7, 2025
Merged

Implement dual package system to reduce update download size from 60MB to 0.5MB#3
lsd-techno merged 4 commits intomainfrom
copilot/fix-2

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Sep 7, 2025

This PR addresses the issue where updates required downloading 60+ MB instead of the desired 0.5MB by implementing a dual package build system.

Problem

The previous fix in PR #1 introduced self-contained .NET publishing which bundles the entire .NET runtime (~60MB) into every artifact. While this solved deployment issues, it created a new problem: users downloading updates had to download the full 67.5MB package even when they already had .NET installed.

Solution

Created two distinct build outputs to serve different use cases:

Full Install Package (~60MB)

  • Purpose: Clean installations for new users
  • Configuration: --self-contained true with complete .NET runtime
  • Artifact name: full-install
  • Requirements: None - runs on any Windows system
  • Use case: First-time installations or systems without .NET 8

Update Package (~0.5MB)

  • Purpose: Updates for existing installations
  • Configuration: --self-contained false (framework-dependent)
  • Artifact name: update-package
  • Requirements: .NET 8 runtime pre-installed
  • Use case: Updates for users who already have the runtime

Key Changes

GitHub Actions Workflow:

  • Split the single publish step into two parallel builds
  • Created separate artifact uploads with descriptive names
  • Added comprehensive size reporting and download instructions
  • Enhanced error handling and validation

Documentation:

  • Updated README with clear installation instructions for both packages
  • Added comparison table showing sizes, requirements, and use cases
  • Included .NET runtime installation guidance
  • Explained the 120x size reduction benefit for updates

Impact

  • Solves the core issue: Updates are now 0.5MB instead of 60+MB
  • Maintains compatibility: Full install option preserves existing functionality
  • Improves user experience: Clear choice between packages based on needs
  • Saves bandwidth: 120x reduction in download size for updates
  • Future-proof: Sustainable approach for ongoing updates

Users can now choose the appropriate package for their situation, dramatically reducing download times and bandwidth usage for updates while maintaining the reliability of self-contained installations for new users.

Fixes #2.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI self-assigned this Sep 7, 2025
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 7, 2025

@lsd-techno 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot AI and others added 3 commits September 7, 2025 13:52
… (~0.5MB)

Co-authored-by: lsd-techno <6795932+lsd-techno@users.noreply.github.com>
…son table

Co-authored-by: lsd-techno <6795932+lsd-techno@users.noreply.github.com>
Co-authored-by: lsd-techno <6795932+lsd-techno@users.noreply.github.com>
Copilot AI changed the title [WIP] huge download size Implement dual package system to reduce update download size from 60MB to 0.5MB Sep 7, 2025
Copilot AI requested a review from lsd-techno September 7, 2025 13:55
@lsd-techno lsd-techno marked this pull request as ready for review September 7, 2025 14:00
@lsd-techno lsd-techno merged commit de41828 into main Sep 7, 2025
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.

huge download size

2 participants