Closed Bug 1028254 Opened 8 years ago Closed 8 years ago

Release mozrunner 6.0 to pypi and update associated dependencies

Categories

(Testing :: Mozbase, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: wlach, Assigned: davehunt)

References

Details

Attachments

(4 files)

We want to release the shiny new mozrunner 6.0 to pypi, however this requires a bunch of concurrent changes since it (sigh) has a circular dependency on marionette_client. Let's just tackle them under the same bug for sanity:

1. New version of marionette_client uploaded to pypi
2. Update gaiatest to depend on new version of marionette_client
3. Update branched version of marionette_client to depend on mozrunner 5.37
Dave Hunt will take this
Assignee: wlachance → dave.hunt
We also need:
2a. New version of gaiatest uploaded to pypi
Attachment #8443543 - Flags: review?(dave.hunt) → review+
FTR mozrunner has no dependency on marionette. Also, please either release from mozilla-inbound, or hold off until bug 1028119 makes it way to m-c.
Depends on: 1028119
(In reply to Andrew Halberstadt [:ahal] from comment #5)
> FTR mozrunner has no dependency on marionette. Also, please either release
> from mozilla-inbound, or hold off until bug 1028119 makes it way to m-c.

Yes, sorry for the incorrect information. I guess the problem is that marionette client has a dependency on mozrunner for the testrunner stuff, which not all consumers of marionette want to use.
(In reply to Dave Hunt (:davehunt) from comment #2)
> We also need:
> 2a. New version of gaiatest uploaded to pypi

I grepped through gaiatest and it doesn't seem to use any of the API's that changed, so I don't think it even needs to be updated. I guess it doesn't hurt though.
(In reply to Andrew Halberstadt [:ahal] from comment #8)
> (In reply to Dave Hunt (:davehunt) from comment #2)
> > We also need:
> > 2a. New version of gaiatest uploaded to pypi
> 
> I grepped through gaiatest and it doesn't seem to use any of the API's that
> changed, so I don't think it even needs to be updated. I guess it doesn't
> hurt though.

gaiatest depends on marionette, and marionette depends on latest mozrunner. When 6.0 was briefly released last week we had failures. I think it was in the GeckoInstance class, but I don't recall exactly.
Bug 1028119 landed. Dave do you want me to release mozrunner 6.0 to pypi? Just asking in case other stuff needs to be updated first still.
Flags: needinfo?(dave.hunt)
Comment on attachment 8444361 [details] [diff] [review]
Pin mozrunner on branched marionette client and bump version number. v1.0

Review of attachment 8444361 [details] [diff] [review]:
-----------------------------------------------------------------

lgtm
Attachment #8444361 - Flags: review?(wlachance) → review+
(In reply to Andrew Halberstadt [:ahal] from comment #11)
> Bug 1028119 landed. Dave do you want me to release mozrunner 6.0 to pypi?
> Just asking in case other stuff needs to be updated first still.

Not just yet. We need to get new versions of marionette-client, gaiatest, and marionette-client-b2g28_v1_3 out first. This should all happen tomorrow, hopefully.
Flags: needinfo?(dave.hunt)
(In reply to Dave Hunt (:davehunt) from comment #14)
> (In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #10)
> > https://hg.mozilla.org/mozilla-central/rev/ad12bc5b8bb9
> 
> Released as:
> https://pypi.python.org/pypi/marionette_client/0.7.10

I removed this as it's dependent on an unreleased version of mozrunner. It seems we need to fix bug 994176 first, and then we can line up release of mozrunner, marionette-client, and gaiatest.
Status: NEW → ASSIGNED
Depends on: 994176
Comment on attachment 8445151 [details] [diff] [review]
Pin mozrunner to latest from branch. v1.0

Review of attachment 8445151 [details] [diff] [review]:
-----------------------------------------------------------------

stealing review, this makes sense for b2g28 branch.
Attachment #8445151 - Flags: review?(ahalberstadt) → review+
The original mozilla-b2g28_v1_3 patch landed in:
http://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/2a3cce3fb84f

But this didn't take into account that the target branch does not have the same version of mozrunner as mozilla-central prior to 6.0, so it caused failures in TBPL.

The followup patch was landed in:
http://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/ff91d6aebedd
(In reply to Dave Hunt (:davehunt) from comment #18)
> The original mozilla-b2g28_v1_3 patch landed in:
> http://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/2a3cce3fb84f
> 
> But this didn't take into account that the target branch does not have the
> same version of mozrunner as mozilla-central prior to 6.0, so it caused
> failures in TBPL.
> 
> The followup patch was landed in:
> http://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/ff91d6aebedd

This time it looks like it stuck. Released to PyPI as:
https://pypi.python.org/pypi/marionette_client-mozilla-b2g28_v1_3/0.2
Note that this patch requires the release of mozrunner 6.0 and marionette-client 0.7.10 before it can land. I'm running tests locally with these installed from m-c, once I have r+ and have good test results I will land and release these in order. Also note that this will likely need uplifting to v2.0.
Attachment #8446616 - Flags: review?(zcampbell)
Comment on attachment 8446616 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/21059

Stealing review by request. Lgtm!
Attachment #8446616 - Flags: review?(zcampbell) → review+
We may still need to uplift the marionette-client bump to v2.0 and we may need to release a new gaiatest for Eideticker so we get the mozrunner 6.0 compatible version of mozrunner. I'll run some tests to see if these steps are necessary and if so I will carry them out.
The uplift to 2.0 was necessary, done in:
https://github.com/mozilla-b2g/gaia/commit/8df02268fcd7e80c5fab8c1ec099772e37f8659d

In case you're interested, the traceback without bumping the marionette client follows.

Traceback (most recent call last):
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/bin/gaiatest", line 9, in <module>
    load_entry_point('gaiatest==0.23', 'console_scripts', 'gaiatest')()
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 337, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 2279, in load_entry_point
    return ep.load()
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 1989, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/tests/python/gaia-ui-tests/gaiatest/__init__.py", line 5, in <module>
    from gaia_test import *
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/tests/python/gaia-ui-tests/gaiatest/gaia_test.py", line 9, in <module>
    from marionette import MarionetteTestCase, EnduranceTestCaseMixin, \
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/marionette_client-0.7.9-py2.7.egg/marionette/__init__.py", line 5, in <module>
    from gestures import smooth_scroll, pinch
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/marionette_client-0.7.9-py2.7.egg/marionette/gestures.py", line 5, in <module>
    from marionette import MultiActions, Actions
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/marionette_client-0.7.9-py2.7.egg/marionette/marionette.py", line 29, in <module>
    import geckoinstance
  File "/var/jenkins/workspace/b2g.flame.mozilla-aurora.ui.smoketest/.env/local/lib/python2.7/site-packages/marionette_client-0.7.9-py2.7.egg/marionette/geckoinstance.py", line 87, in <module>
    class CloneRunner(Runner):
TypeError: Error when calling the metaclass bases
    function() argument 1 must be code, not str
Depends on: 1030906
All done, phew!
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Duplicate of this bug: 1031207
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.