feat(win): ✨ adding Winget distribution channel #98#120
Draft
dvorka wants to merge 4 commits into
Draft
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a WinGet distribution channel to MyTraL by introducing Makefile targets and PowerShell automation for generating/submitting WinGet manifests, plus documentation updates describing install and release workflow.
Changes:
- Added WinGet-related Makefile targets and PowerShell scripts to generate manifests from GitHub Releases and submit PRs to
microsoft/winget-pkgs. - Documented WinGet installation for end users and added a WinGet feature/process write-up for maintainers.
- Updated changelogs and regenerated static HTML documentation pages to reflect the new channel.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Adds WinGet install link; adjusts installation/build TOC entries. |
| INSTALLATION.md | Adds “Install on Windows using winget” section and TOC updates. |
| docs/INSTALLATION.md | Mirrors INSTALLATION.md updates for docs build pipeline. |
| docs/FEATURE_WINGET.md | New maintainer-facing WinGet design/release process doc. |
| CHANGELOG.md | Adds 1.57.0 notes referencing WinGet work. |
| docs/CHANGELOG.md | Mirrors CHANGELOG.md updates for docs build pipeline. |
| Makefile | Adds distro-winget-* targets and a release-tag helper. |
| build/winget/generate-from-release.ps1 | Downloads release installer, computes SHA256, emits WinGet YAML manifests. |
| build/winget/sha256-from-url.ps1 | Utility to compute SHA256 from a GitHub Release URL. |
| build/winget/submit-pr.ps1 | Copies manifests into a local winget-pkgs fork and opens a PR via gh. |
| build/desktop/build-executable.ps1 | Extends Windows desktop build output (now also creates extra artifacts). |
| .github/workflows/release-win.yml.SKIP | Adds a tag-triggered release workflow, but currently disabled by filename. |
| mytral/static/documentation/installation.html | Regenerated static docs with WinGet install chapter + TOC tweaks. |
| mytral/static/documentation/feature_winget.html | New static HTML doc for the WinGet feature/process. |
| mytral/static/documentation/changelog.html | Regenerated changelog HTML including the new release entry. |
|
|
||
| * [Linux (Snap)](INSTALLATION.md#install-on-linux-using-snap) | ||
| * [Linux (Flatpak)](INSTALLATION.md#install-on-linux-using-flatpak) | ||
| * [Linux (download)](INSTALLATION.md#install-on-linux-using-snap) |
|
|
||
| * [Linux (Flatpak)](#install-on-linux-using-flatpak) | ||
| * [Linux (Snap)](#install-on-linux-using-snap) | ||
| * [Linux (download)](#install-on-linux-using-snap) |
|
|
||
| * [Linux (Flatpak)](#install-on-linux-using-flatpak) | ||
| * [Linux (Snap)](#install-on-linux-using-snap) | ||
| * [Linux (download)](#install-on-linux-using-snap) |
| <ul> | ||
| <li><a href="#install-on-linux-using-flatpak">Linux (Flatpak)</a></li> | ||
| <li><a href="#install-on-linux-using-snap">Linux (Snap)</a></li> | ||
| <li><a href="#install-on-linux-using-snap">Linux (download)</a></li> |
| # | ||
| # DISTRIBUTION: winget (Windows Package Manager) | ||
| # | ||
| # See WINGET_DISTRO.md for the full release workflow. |
Comment on lines
+10
to
+12
| ### Changed | ||
| - . | ||
|
|
Comment on lines
+19
to
+20
| ### Fixed | ||
| - . |
Comment on lines
+216
to
+219
| <h3 id="changed">Changed</h3> | ||
| <ul> | ||
| <li>.</li> | ||
| </ul> |
Comment on lines
+227
to
+230
| <h3 id="fixed">Fixed</h3> | ||
| <ul> | ||
| <li>.</li> | ||
| </ul> |
Comment on lines
+81
to
+97
| # generate .desktop file with Exec= pointing to the .exe by bare filename | ||
| $DesktopFile = Join-Path $DistDir "mytral.desktop" | ||
| $TemplateFile = Join-Path $BuildDir "mytral.desktop.in" | ||
| $DesktopContent = (Get-Content $TemplateFile -Raw) ` | ||
| -replace '@@MYTRAL_VERSION@@', $MytralVersion ` | ||
| -replace '@@EXEC_PATH@@', $ExecutableName | ||
| Set-Content -Path $DesktopFile -Value $DesktopContent -Encoding UTF8 | ||
| Write-Host "Desktop file: $DesktopFile" -ForegroundColor Green | ||
|
|
||
| # create .zip archive containing the .exe and .desktop file | ||
| $ZipName = "mytral-$MytralVersion-win.zip" | ||
| $ZipPath = Join-Path $DistDir $ZipName | ||
|
|
||
| if (Test-Path $ZipPath) { Remove-Item $ZipPath -Force } | ||
|
|
||
| Compress-Archive -Path @($ExecutablePath, $DesktopFile) -DestinationPath $ZipPath | ||
| Write-Host "Archive: $ZipPath" -ForegroundColor Green |
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.
This PR brings Winget distribution channel.
Related: