implement moz.yaml parsing and validation

RESOLVED FIXED in Firefox 62

Status

enhancement
RESOLVED FIXED
Last year
6 months ago

People

(Reporter: glob, Assigned: glob)

Tracking

(Blocks 2 bugs)

3 Branch
mozilla62
Dependency tree / graph

Firefox Tracking Flags

(firefox62 fixed)

Details

()

Attachments

(1 attachment)

implement base library and mach command for verifying moz.yaml files.

mach vendor-manifest --verify <file>[..]
Assignee

Updated

Last year
Blocks: 1454869
this needs to validate against a schema with voluptuous, as well as ensuring that "straight yaml" is in use.

when we need to update the yaml file, we'd need to preserve comments.  as the standard yaml libraries drop comments we could vendor in a different yaml file which preserves structure and comments, however as the file will have a strict schema we can use simple text processing to update it.

as yaml is quite flexible in what is valid (eg. json is valid yaml) part of the validation needs to ensure that the `release` and `vendoring:revision` fields can be updated (ie. structured as per the sample manifest).
Assignee: nobody → glob
Creates a standard library for working with moz.yaml files, and adds a `mach
vendor manifest --verify` command that loads and verifies manifest schema.

The list of permitted licenses is one I derived from about:license, pending an
authoritative list from legal.
Comment on attachment 8973928 [details]
Bug 1454868: create `mach vendor manifest --verify` r?gps

Gregory Szorc [:gps] has approved the revision.

https://phabricator.services.mozilla.com/D1208
Attachment #8973928 - Flags: review+

Comment 4

Last year
Pushed by bjones@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5df5e745ce6e
create `mach vendor manifest --verify` r=gps

Comment 5

Last year
bugherder
https://hg.mozilla.org/mozilla-central/rev/5df5e745ce6e
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.