[
https://issues.apache.org/jira/browse/THRIFT-6314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-6314.
--------------------------------
Resolution: Fixed
> Publish the Windows Thrift compiler through WinGet
> --------------------------------------------------
>
> Key: THRIFT-6314
> URL: https://issues.apache.org/jira/browse/THRIFT-6314
> Project: Thrift
> Issue Type: New Feature
> Components: Build Process
> Reporter: Jens Geyer
> Priority: Major
> Fix For: 0.26.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> h2. Proposal
> Publish the Windows Thrift compiler through the [Windows Package
> Manager|https://learn.microsoft.com/en-us/windows/package-manager/], so that
> it can be installed with
> {noformat}
> winget install Apache.Thrift
> {noformat}
> h2. Package identifier
> {{Apache.Thrift}}, under the {{Apache}} publisher folder that the ASF already
> uses in {{microsoft/winget-pkgs}} for Apache Directory Studio, Groovy,
> NetBeans and OpenOffice. There is no Thrift manifest in that repository today
> - the whole manifest tree was swept, and nothing matches.
> Note the two decoys in the same folder: {{ApacheFriends}} is XAMPP and
> {{ApacheLounge}} is a third party httpd build. Neither is the ASF.
> h2. Where the installer comes from
> The manifest points at {{archive.apache.org}}, not at
> {{downloads.apache.org}}. The latter only carries the current release, so a
> manifest naming it rots as soon as the next release goes out, and every older
> version in winget-pkgs stops installing. The archive is permanent.
> That makes this a post release step: the manifest cannot be generated until
> the release has been promoted to {{dist.apache.org}} and the archive has
> picked it up. This is the same wait the Docker Official Image update already
> has.
> The checksum in the manifest is computed from the file downloaded from that
> very URL, so a manifest can never claim a checksum the published file does
> not have.
> h2. Automation
> A workflow renders the three manifest files a submission needs, checks them
> over, and uploads them. When a submission token is configured it also opens
> the pull request against {{microsoft/winget-pkgs}} with {{wingetcreate}},
> which forks that repository itself, so nothing has to be set up there by hand.
> {{wingetcreate}} needs a *classic* GitHub personal access token with the
> {{public_repo}} scope; fine grained tokens are not supported. The token is
> read from the environment rather than passed on the command line, which is
> what Microsoft's own release workflows do, so that it cannot end up in a log.
> Without the token the workflow still renders and checks the manifests and
> leaves them as an artifact, and the pull request can be opened by hand.
> h2. Depends on
> THRIFT-6311, which produces the installer this manifest describes.
> _Drafted with AI assistance (Claude Opus 5); reviewed and posted by Jens
> Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)