Closed
Bug 908356
Opened 11 years ago
Closed 11 years ago
Mozharness unittest scripts should get virtualenv_modules from in-tree config
Categories
(Release Engineering :: Applications: MozharnessCore, defect, P3)
Release Engineering
Applications: MozharnessCore
Tracking
(firefox26 fixed)
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
firefox26 | --- | fixed |
People
(Reporter: ahal, Assigned: jgriffin)
References
Details
(Whiteboard: [mozharness][leave-open])
Attachments
(2 files, 1 obsolete file)
(deleted),
patch
|
mozilla
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jgriffin
:
review+
|
Details | Diff | Splinter Review |
We may run into cases where we need a new virtualenv module, like bug 907895, where we need to land a patch on every branch (including aurora, beta, release) to avoid bustage.
If the mozharness scripts got their list of modules from the in-tree mozharness config, we wouldn't need to do this.
http://mxr.mozilla.org/mozilla-central/source/testing/config/mozharness_config.py
Comment 1•11 years ago
|
||
I kind of like an in-tree/in-test-zip requirements.txt, or a master mozbase setup.py or install script that either dynamically or statically adds the setup.py's from the subdirs. IMO we might as well install all of the available mozbase modules every time to make things simpler.
In-tree virtualenv_modules works too.
Comment 2•11 years ago
|
||
mozbase does have a master install script: https://github.com/mozilla/mozbase/blob/master/setup_development.py fwiw
Comment 3•11 years ago
|
||
In-tree requirements.txt files FTW. We want as much information as possible to live in the tree. We ideally want in-tree installs to "pin" package versions so we run with a consistent set of package versions no matter when we run the job.
Comment 4•11 years ago
|
||
(In reply to Jeff Hammel [:jhammel] from comment #2)
> mozbase does have a master install script:
> https://github.com/mozilla/mozbase/blob/master/setup_development.py fwiw
I wouldn't mind having a mozilla-specific install_mozbase() mozharness method that calls this. It would have to live outside virtualenv_modules, but assuming this installs everything from the test zip, I think that would be sufficient.
(In reply to Gregory Szorc [:gps] from comment #3)
> In-tree requirements.txt files FTW. We want as much information as possible
> to live in the tree. We ideally want in-tree installs to "pin" package
> versions so we run with a consistent set of package versions no matter when
> we run the job.
I haven't yet figured out how to get the requirements.txt to install from disk rather than trying to hit pypi or whatever --find-links urls, but if we figure it out, great.
Assignee | ||
Comment 5•11 years ago
|
||
> I wouldn't mind having a mozilla-specific install_mozbase() mozharness method
> that calls this. It would have to live outside virtualenv_modules, but
> assuming this installs everything from the test zip, I think that would be
> sufficient.
This seems like the least fragile way to handle it, as long as setup_development.py always installs things in dependent order, so that we don't end up trying to hit pypi.
Comment 6•11 years ago
|
||
setup_development does follow dependency order; i'm not 100% sure it doesn't hit net/pypi, but shouldnt be hard to fix. TBH, I'm not necessarily for or against this vs a requirements file.
Comment 7•11 years ago
|
||
--no-deps is an option to work around hitting pypi if needed.
Reporter | ||
Comment 8•11 years ago
|
||
Installing packages in the right order is a tangential issue (see bug 879765). I proposed a two-pass install algorithm using --no-deps in https://bugzilla.mozilla.org/show_bug.cgi?id=879765#c7.
This issue is more about having the ability to require packages on a per branch basis. A requirements.txt has the advantage of allowing us to do this for non-mozbase modules, so my vote would be for that. While calling setup_development.py would solve the immediate issue, it doesn't let us say "only try to install psutil on mozilla-central"..
Assignee | ||
Comment 9•11 years ago
|
||
Makes sense; we'll undoubtedly have the case at some point where we need package X (from in-tree sources) in some trees but not others.
Updated•11 years ago
|
Priority: -- → P3
Assignee | ||
Comment 10•11 years ago
|
||
This patch implements support for ahal's idea of a 2-pass install of pip requirements files, so that package order isn't important.
Attachment #799120 -
Flags: review?(aki)
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → jgriffin
Assignee | ||
Comment 11•11 years ago
|
||
Gecko patch with Marionette and mozbase requirements files, plus a change to package them into tests.zip
Attachment #799122 -
Flags: review?(aki)
Updated•11 years ago
|
Attachment #799120 -
Flags: review?(aki) → review+
Comment 12•11 years ago
|
||
Comment on attachment 799122 [details] [diff] [review]
In-tree reuqirements files for marionette and mozbase,
Could you do Try run with this after landing/merging the mozharness patch?
And/or an ash run. I'll also take a build peer review.
Asking 'cause I'm somewhat stamping here.
Attachment #799122 -
Flags: review?(aki) → review+
Assignee | ||
Comment 13•11 years ago
|
||
Comment on attachment 799122 [details] [diff] [review]
In-tree reuqirements files for marionette and mozbase,
Sure, asking for gps' review too.
I guess the safest thing to do here is land on ash/ash-mozharness, so I'll do that.
Attachment #799122 -
Flags: review?(gps)
Assignee | ||
Comment 14•11 years ago
|
||
I just landed this on ash/ash-mozharness: https://tbpl.mozilla.org/?tree=Ash&rev=3d2c44a9933c
Updated•11 years ago
|
Attachment #799122 -
Flags: review?(gps) → review+
Assignee | ||
Comment 15•11 years ago
|
||
Missed mozprofile in the requirements file; running again on ash: https://tbpl.mozilla.org/?tree=Ash&rev=0d4ae6057ef5
Assignee | ||
Updated•11 years ago
|
Attachment #799122 -
Attachment is obsolete: true
Assignee | ||
Comment 16•11 years ago
|
||
Comment on attachment 800271 [details] [diff] [review]
In-tree reuqirements files for marionette and mozbase,
Carry r+ forward.
Attachment #800271 -
Flags: review+
Assignee | ||
Comment 17•11 years ago
|
||
ash looks good; landing the gecko part of this: https://hg.mozilla.org/integration/mozilla-inbound/rev/8b4a47eb1217
Whiteboard: [mozharness] → [mozharness][leave-open]
Comment 18•11 years ago
|
||
Assignee | ||
Comment 19•11 years ago
|
||
Reporter | ||
Comment 20•11 years ago
|
||
Cool, so does this mean bug 879765 is fixed (for both lists of modules and requirements.txt files)?
Assignee | ||
Comment 21•11 years ago
|
||
merged to production: http://hg.mozilla.org/build/mozharness/rev/312852646d08
Assignee | ||
Comment 22•11 years ago
|
||
(In reply to Andrew Halberstadt [:ahal] from comment #20)
> Cool, so does this mean bug 879765 is fixed (for both lists of modules and
> requirements.txt files)?
This only affects requirements files, not static lists of modules.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Reporter | ||
Updated•11 years ago
|
status-firefox26:
--- → fixed
Reporter | ||
Updated•11 years ago
|
Updated•10 years ago
|
Component: General Automation → Mozharness
You need to log in
before you can comment on or make changes to this bug.
Description
•