Skip to content

Commit 3d104b7

Browse files
committed
docs(release): expand winget pre-submission checks from 0.1.12 lessons
The 0.1.12 PR (microsoft/winget-pkgs#366768) tripped on two issues that weren't called out in the previous procedure: - wingetcreate 1.10.x defaults to manifest schema 1.10.0, but the 0.1.11 manifest already in `winget-pkgs:master` is at 1.12.0. Submitting at 1.10 would get pushed back. Add a wingetcreate version check and a schema-parity check against the previously merged manifest. - Local `winget install --manifest <path>` typically stalls at the "applying motw" step on Defender-active machines because the same false-positive that hits validation also hits the local install. Document that a successful local install is nice-to-have, not blocking. Also bump the post-submit step list to include "post the checklist status as a PR comment" — reviewers shouldn't have to re-verify each box manually.
1 parent a7ece95 commit 3d104b7

1 file changed

Lines changed: 46 additions & 12 deletions

File tree

CONTRIBUTING.md

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -301,20 +301,54 @@ fraction of past PRs have been blocked by ML detections like
301301
Rust code with reproducible builds via GitHub Actions. Include a link
302302
to the failing winget PR.
303303

304+
Pre-submission checks (the PR template asks for these — do them
305+
*before* opening the PR):
306+
307+
- [ ] **wingetcreate is current**`wingetcreate --version` should
308+
match a recent release (1.12+ at time of writing). Older
309+
wingetcreate defaults to schema 1.10, which `winget-pkgs` master
310+
has moved past; check with
311+
`winget upgrade Microsoft.WingetCreate`.
312+
- [ ] **Schema matches the previously-merged version's schema.**
313+
Inspect the existing manifest in
314+
`microsoft/winget-pkgs:manifests/s/ShortArrow/runex/<previous>/`
315+
for its `ManifestVersion`, and confirm the regenerated manifest
316+
uses the same or newer. The 0.1.11 PR landed at 1.12.0 — a
317+
regression to 1.10.0 will get pushed back.
318+
- [ ] **No other open PRs for the same manifest:**
319+
`gh search prs --repo microsoft/winget-pkgs "is:pr is:open ShortArrow.runex"`.
320+
- [ ] **Manifest validates locally:**
321+
`winget validate --manifest <path>`.
322+
- [ ] **Local install attempt** with
323+
`winget install --manifest <path> --accept-source-agreements --accept-package-agreements`.
324+
*Be aware:* on Defender-active machines this may stall at the
325+
"applying motw" step due to the same false-positive that hits
326+
the official validation pipeline. A successful local install is
327+
nice-to-have but not required — the PR still gets the same
328+
Defender treatment regardless.
329+
304330
Submission steps:
305331

306-
1. **Generate a manifest update** with `wingetcreate update` against the
307-
previous PR's branch, pointing at the new x86_64-pc-windows-msvc zip
308-
from the GitHub release.
309-
2. **Open a PR against `microsoft/winget-pkgs`** with the regenerated
310-
manifest. Title format: `New version: ShortArrow.runex version X.Y.Z`.
311-
3. **Watch the validation pipeline.** Status is reported as PR comments
312-
from `@microsoft-github-policy-service` and tags like `Validation-Defender-Error`.
313-
4. **If Defender rejects:** post the WDSI submission ID on the PR, ask
314-
for revalidation after the analyst clears the file.
315-
5. **If validation hangs:** the validation pipeline sometimes uses stale
316-
Defender definitions; retry by closing/reopening the PR or pushing
317-
an empty commit to the branch.
332+
1. **Generate the manifest update** with
333+
`wingetcreate update ShortArrow.runex --version X.Y.Z --urls <release-zip-url>`,
334+
passing `--out <dir>` so the files land somewhere obvious. The
335+
tool produces three YAMLs:
336+
`ShortArrow.runex.{installer,locale.en-US,version}.yaml`.
337+
2. **Open a PR against `microsoft/winget-pkgs`** by adding `--submit`
338+
to the same `wingetcreate update` invocation, or by manually
339+
committing on a `winget-pkgs` fork and opening the PR with `gh pr
340+
create`. Title format: `New version: ShortArrow.runex version X.Y.Z`.
341+
3. **Post the checklist confirmation as a PR comment** so reviewers
342+
don't have to verify each box themselves. Mention which boxes
343+
are blocked by Defender (the local-install row).
344+
4. **Watch the validation pipeline.** Status is reported as PR
345+
comments from `@microsoft-github-policy-service` and tags like
346+
`Validation-Defender-Error`.
347+
5. **If Defender rejects:** post the WDSI submission ID on the PR,
348+
ask for revalidation after the analyst clears the file.
349+
6. **If validation hangs:** the validation pipeline sometimes uses
350+
stale Defender definitions; retry by closing/reopening the PR or
351+
pushing an empty commit to the branch.
318352

319353
Until the PR merges, point users at `cargo install runex` or
320354
`brew install shortarrow/runex/runex` as the fastest install path.

0 commit comments

Comments
 (0)