Uh oh!
There was an error while loading. Please reload this page.
Doc manifest schema process - #6280
Conversation
This comment has been minimized.
This comment has been minimized.
Flor Chacón (florelis)
left a comment
There was a problem hiding this comment.
I didn't read the script that closely, but it looks enough like it's good
| ## Helper script | ||
| `Branch-LatestManifestSchema.ps1` (in this directory) automates most of both workflows below. |
There was a problem hiding this comment.
Nit: Branch is not an approved PS verb. If not using an approved verb
| the in-flight schema needs to be locked in. | ||
| With -BumpVersion: | ||
| Reads the target version from src/binver/binver/version.h (MAJOR.MINOR.0) and compares |
There was a problem hiding this comment.
Could we have this script also update version.h?
There was a problem hiding this comment.
That feels like a part of a larger operation. We could certainly collect a bunch of things, including this, into a "Move the version forward" process.
| `ManifestSchemaValidation.cpp`, converting the old top block to an `else if`. | ||
| 10. Adds a new version constant to `ManifestVersion.cs`. | ||
| **Manual steps always required (not automated):** |
There was a problem hiding this comment.
Why not also automate this?
There was a problem hiding this comment.
Dropped them as it is actually part of modifying the latest schema, not preparing to do so.
| param([string]$Content, [string]$Path) | ||
| [System.IO.File]::WriteAllText($Path, $Content, (New-Object System.Text.UTF8Encoding $false)) |
| $vcxitemsFile = Join-Path $manifestSchemaDir 'ManifestSchema.vcxitems' | ||
| $filtersFile = Join-Path $manifestSchemaDir 'ManifestSchema.vcxitems.filters' | ||
| $manifestCommonH = Join-Path $RepoRoot 'src\AppInstallerCommonCore\Public\winget\ManifestCommon.h' | ||
| $schemaValidationCpp = Join-Path $RepoRoot 'src\AppInstallerCommonCore\Manifest\ManifestSchemaValidation.cpp' |
There was a problem hiding this comment.
Pull request overview
This PR documents the WinGet manifest JSON schema versioning/branching process and introduces a PowerShell helper script to automate freezing latest/ schemas into versioned snapshots and (optionally) bumping latest/ to match the binary version.
Changes:
- Added
schemas/JSON/manifests/README.mddescribing schema directory layout and the two versioning workflows. - Added
Branch-LatestManifestSchema.ps1to automate schema branching and source-file updates during version bumps. - Added a path-scoped Copilot instructions file for manifest schema versioning guidance.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| schemas/JSON/manifests/README.md | Documents schema folder structure, versioning workflows, and required manual steps. |
| schemas/JSON/manifests/Branch-LatestManifestSchema.ps1 | Adds automation for branching latest/ into vX.Y.0/ and optionally bumping schema/version references across source files. |
| .github/instructions/manifest-schema-versioning.instructions.md | Adds path-scoped contributor/agent guidance for the manifest schema versioning process. |
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
## 📖 Description <!-- Describe what this PR changes, why, and any limitations. --> Bumps the manifest version to 1.30, checkpointing the 1.28 manifests for use with the community repository. Used the new checkpoint script from #6280 and then had copilot add the AppInstallerCLITests ## 🔗 References <!-- Link related issues, PRs, or docs. Use "Resolves #1234" to auto-close. --> * microsoft/winget-pkgs#397446 ## 🔍 Validation <!-- How did you test? List manual steps or note automated test coverage. --> Built and ran tests locally ## ✅ Checklist <!-- Place an "x" between the brackets to check an item. e.g: [x] --> - [x] Signed the [Contributor License Agreement](https://cla.opensource.microsoft.com) - [x] Linked to an issue - [ ] Updated [Release Notes](../doc/ReleaseNotes.md) (if applicable) - [x] Updated documentation (if applicable) - [ ] Updated [Copilot instructions](.github/copilot-instructions.md) (if build, architecture, or conventions changed) ## 📋 Issue Type <!-- Select the type that best describes this PR --> - [ ] Bug fix - [ ] Feature - [x] Task ###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/6379)
📖 Description
Includes some human and 🤖 notes for updating the manifest schema files, as well as a script that does most/all of it for you.
🔍 Validation
Tested the script output locally.
Microsoft Reviewers: Open in CodeFlow