microsoft / microsoft/winget-create

Allow multiple manifests to be submitted as a single PR

Open
#253 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C#
Stars
651
Forks
114
Avg merge
7h 52m
Merged PRs (30d)
3

Description

Description of the new feature / enhancement

Currently wingetcreate submit only allows a single manifest to be submitted to the winget-pkgs repo as a PR. This is limiting in cases where multiple manifests are associated with a single release. For example, .NET consists of multiple runtimes and an SDK, all of which are associated with a single release. But there are multiple manifests associated with this single release. Requiring separate PRs to be submitted for each manifest exposes a risk that a subset of those PRs will be auto-merged while one or more PRs may fail for some reason. This would create an inconsistent set of manifests for that product release. Depending on how customers use these packages, this kind of inconsistency could lead to their workflow breaking. To prevent this, it'd be better for a single PR to be submitted for the product release that contains changes for multiple manifests. This essentially allows for atomicity for the release's manifest updates.

Proposed technical implementation details

When calling winget submit I want to be able to pass multiple manifest paths and have a single PR generated for the whole set:

wingetcreate.exe submit --token <GitHubPersonalAccessToken> <PathToManifest1> <PathToManifest2>...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the wingetcreate submit command and trace how manifest paths are parsed and how the winget-pkgs pull request is generated. Verify the behavior with multiple manifest paths, ensuring one PR contains the complete set and that existing single-manifest submission still works; add or update the relevant command tests if present.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, github
Domain
cli, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
40/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.