[ 
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)

Reply via email to