microsoft / microsoft/winget-pkgs
[New Feature]: Removal PRs should skip the Validation Pipeline
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 11.1k
- Forks
- 9.7k
- Avg merge
- 1h 32m
- Merged PRs (30d)
- 376
Description
Description of the new feature/enhancement
A removal PR is where a manifest version is removed. To contrast with an addition PR, which adds a manifest version.
Example of a removal PR: https://github.com/microsoft/winget-pkgs/pull/138377/files
This would both conserve pipeline resources and also greatly reduce the time that removal PRs spend in pipeline. Removing a PR should skip most checks:
- No need to verify URL (static scan).
- No need to verify the manifest.
- No need to install and verify installer operation and application execution.
- No need to install and scan (dynamic scan).
Proposed technical implementation details (optional)
- Have some mechanism for detecting removal PRs.
- One method is using the plus/minus ("+" or "-") which GitHub prepends to raw diffs:
- If all of a file's lines start with minus "-", then the file is being removed.
- If all files in the PR are being removed, then it's a removal PR.
- Another method is to detect based on PR title. This is easier to implement but much more error-prone.
- Other methods might exist. (Possibly in API calls)
- One method is using the plus/minus ("+" or "-") which GitHub prepends to raw diffs:
- Have removal PRs be exempted from pipeline checks which are unnecessary for removal.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Validation Pipeline and how it identifies pull-request changes; the issue names no files or tests. Determine how a manifest removal PR can be detected reliably, then verify that removal PRs skip URL, manifest, installer, application-execution, and dynamic-scan checks while other PRs retain their existing validation.
Written by the indexing model from the issue text.
Assessment
- Domain
- ci-cd, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100