Update moz_yaml to support significantly more expressive instructions
Categories
(Developer Infrastructure :: Mach Vendor & Updatebot, enhancement)
Tracking
(Not tracked)
People
(Reporter: tjr, Assigned: tjr)
References
(Blocks 1 open bug)
Details
Attachments
(18 files)
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
Bug 1637845 - Implement --check-for-update, controlling the output carefully for scripted use r?glob
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review |
I would like to refactor the moz.yaml schema to support significantly more expressive updating steps. libdav1d and libaom are presently codified as separate python scripts and I'd like to convert these into pure-yaml updates.
When I get that working, let's look at the resulting yaml schema and see how confusing it is and if we want to land it.
This bug will probably accumulate a fairly large patchset as I work towards that goal.
The purpose of this is to make it easier to specify vendor in new libraries (by avoiding duplicating python logic) as well more easily support top-level vendor commands such as --check-for-update which would return an identifier of an update if available.
| Assignee | ||
Comment 1•5 years ago
|
||
This is a straight copy, no edits.
| Assignee | ||
Comment 2•5 years ago
|
||
Add license-file to allow one to specify a special file the
project's license is in.
Add 'vendor-directory' to allow vendoring the files into a
separate directory (e.g. under third_party.) Remove a contradictory
comment.
Remove 'revision' from 'vendoring'. This doesn't make sense to me:
'vendoring' is about how to update the library. In a future iteration
we may wish to restrict updates to a branch; but specifying a revision
is specifically about not updating. It appears the intent of revision
was to identify what revision was currently in-tree; but that information
should live in the 'origin' section.
Depends on D75693
| Assignee | ||
Comment 3•5 years ago
|
||
This will tell us how to interact with the upstream repository.
Depends on D75694
| Assignee | ||
Comment 4•5 years ago
|
||
This section is for expressing actions that occur after extracting
the files, before vendoring is completed. While we support running
scripts (or at least, we will...) this section can be used for simple
actions that don't need scripts.
Also, add the dav1d excluded files.
Depends on D75695
| Assignee | ||
Comment 5•5 years ago
|
||
Additionally, raise voluptuous.Invalid errors so the message provided in
the Exception is shown to the user on error.
Depends on D75696
| Assignee | ||
Comment 6•5 years ago
|
||
This is more descriptive for where this error is coming from.
Depends on D75697
| Assignee | ||
Comment 7•5 years ago
|
||
This copies the steps of dav1d but tries to make them generic
for future libraries.
Depends on D75698
| Assignee | ||
Comment 8•5 years ago
|
||
glob: Adding a ni so you see this. I'm not done with this bug; I need to delete the old implementations and port aom over, but I wanted to post it up for early feedback.
(In reply to Tom Ritter [:tjr] (OOTO until 6/1?) from comment #8)
glob: Adding a ni so you see this. I'm not done with this bug; I need to delete the old implementations and port aom over, but I wanted to post it up for early feedback.
Thanks, I've had a quick skim and it looks sane. Will leave some random comments on Phabricator.
What are your thoughts on running black on this code with the default settings? It's highly likely this will be required for python code in m-c as some point, and it would immediately resolve the formatting issues.
Comment 10•5 years ago
|
||
Can you also mark the revisions as WIP until they are ready for final review?
Updated•5 years ago
|
| Assignee | ||
Comment 11•5 years ago
|
||
Depends on D75693
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
| Assignee | ||
Comment 12•5 years ago
|
||
When you have a directory src and you want to move all the contents
to dst, this is surprisingly annoying. shutil.move doesn't operate
on globs. shutil.copytree does exactly what we need except it
requires the destination to not exist. In Python 3.7 it gained the
ability to not care about the destination existing but... we need
to handle the pre-Python 3.7 case.
Depends on D75698
| Assignee | ||
Comment 13•5 years ago
|
||
Here we unify the 'run_after' section with 'file-updates' just naming
them 'update-actions'. This will allow a simpler schema and a clearer
picture of the order of actions that are taken.
Depends on D75699
| Assignee | ||
Comment 14•5 years ago
|
||
Depends on D76428
| Assignee | ||
Comment 15•5 years ago
|
||
Depends on D76429
| Assignee | ||
Comment 16•5 years ago
|
||
Depends on D76430
| Assignee | ||
Comment 17•5 years ago
|
||
It is possible to have both a default command (with positional arguments) and
sub-commands (with arguments) in mach. If the subcommand exists, it
is dispatched to; if it doesn't the default command is called the positional
argument filled in.
However, when you run ./mach command --help, it will detect the subcommands
and only print out their help section. If the default command has arguments,
they were not printed out. Now they are.
Small papercuts in this patch are that the Default Command Arguments are
printed after the subcommands and that subcommand help without default
arguments have an extra newline after them. Both of these seem small
enough that the refactoring necessary to abate them is undesirable.
Depends on D76432
| Assignee | ||
Comment 18•5 years ago
|
||
Depends on D76505
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
| Assignee | ||
Comment 19•5 years ago
|
||
Depends on D76506
| Assignee | ||
Comment 20•5 years ago
|
||
Move all imports to the top, instead of inside functions,
then run it through black.
Depends on D76083
| Assignee | ||
Comment 21•5 years ago
|
||
Depends on D76614
Comment 22•5 years ago
|
||
Comment 23•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/9c72208359b4
https://hg.mozilla.org/mozilla-central/rev/5410c7af6596
https://hg.mozilla.org/mozilla-central/rev/5c7bae6fcd36
https://hg.mozilla.org/mozilla-central/rev/3ad87515c7fd
https://hg.mozilla.org/mozilla-central/rev/287275c7275e
https://hg.mozilla.org/mozilla-central/rev/a55dd5ad2285
https://hg.mozilla.org/mozilla-central/rev/3a08c2a3b302
https://hg.mozilla.org/mozilla-central/rev/b459114e8008
https://hg.mozilla.org/mozilla-central/rev/47744e5c0829
https://hg.mozilla.org/mozilla-central/rev/f495b58337dc
https://hg.mozilla.org/mozilla-central/rev/98ae9c7d8dfb
https://hg.mozilla.org/mozilla-central/rev/d22bc1280d8f
https://hg.mozilla.org/mozilla-central/rev/5877126012cd
https://hg.mozilla.org/mozilla-central/rev/f100ac23b748
https://hg.mozilla.org/mozilla-central/rev/a15f6c29bbeb
https://hg.mozilla.org/mozilla-central/rev/84ed48eb7d0c
https://hg.mozilla.org/mozilla-central/rev/70bc5f4b56d5
https://hg.mozilla.org/mozilla-central/rev/6500c049e562
| Assignee | ||
Comment 24•3 years ago
|
||
Re-assigning bugs to the new Mach Vendor and Updatebot Component. Guid for this change: ade7b229-ec85-41f8-bafe-9d4451bfeed1
| Assignee | ||
Comment 25•3 years ago
|
||
A mass updatebot change inadvertently added a security group to bugs. Removing it. Guid for this change: 09d63db4-11a1-4820-a398-d718f112f885
Description
•