Closed Bug 1391605 Opened 7 years ago Closed 7 years ago

Release geckodriver 0.19.0

Categories

(Testing :: geckodriver, defect, P1)

57 Branch
defect

Tracking

(firefox57 fixed)

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

To better plan the next release of geckodriver I would like to add all the required bugs as dependencies. Reason is that I make proxy capability related changes in webdriver-rust, which all would need a patch in geckodriver too.
Andreas, would it make sense to wait for the webdriver-rust import into m-c on bug 1368265? Not sure how long this would actually take. I ask because of https://github.com/mozilla/webdriver-rust/commit/89df5f92278488697460b279eea0708e482c3813 which would not be part of bug 1368265 as of yet, and would have be cherry-picked.

Regarding proxy support everything important has been landed now for Marionette, and geckodriver would need an update to a new release of webdriver. Once done we could do a new geckodriver release, which people are waiting for.
Flags: needinfo?(ato)
Blocks: 1370959
Depends on: 1395886
Depends on: 1387470
(In reply to Henrik Skupin (:whimboo) from comment #1)

> [W]ould it make sense to wait for the webdriver-rust import into
> m-c on bug 1368265? Not sure how long this would actually take.

I think we ought to wait for the webdriver library to land on
central.  According to gps’ latest feedback the last commit can be
annotated with a special incantation that will allow the push to be
landed.

All that is required is to rebase it on to inbound, amend the last
commit, and push it.

> I ask because of https://github.com/mozilla/webdriver-rust/commit/
> 89df5f92278488697460b279eea0708e482c3813 which would not be part
> of bug 1368265 as of yet, and would have be cherry-picked.

Yes, we need to cherry pick that onto inbound after landing, unless
we repeat the whole process described in https://bugzil.la/1368265
again.
Flags: needinfo?(ato)
FYI the webdriver crate is part of mozilla-central now. See bug 1368265.
Depends on: 1368265
Depends on: 1396831
Depends on: 1396838
Depends on: 1396866
No longer depends on: 1395886
Depends on: 1398450
Depends on: 1388251, 1398057
Depends on: 1399441
Priority: -- → P1
As decided in our meeting today we will not wait for bug 1399441. The last one which needs landing is bug 1398057. So by tomorrow we can work on the release!
No longer depends on: 1399441
All the changes for the 0.19.0 release:

% hg log -M -r 0e2cd0ea8392:: --template "{desc|firstline}\n" .
Bug 1383931 - Accept base64-encoded addons in the addon install command. r=ato
Bug 1380936 - Add Minimize Window command to geckodriver; r=ato
Bug 1387552 - Order capabilities lexicographically. r=automatedtester
Bug 1387552 - Document pageLoadStrategy in geckodriver README. r=automatedtester
Bug 1388072 - Drop Marionette fallback prefs from geckodriver. r=automatedtester
Bug 1390486 - Add "dom.file.createInChild" preference to recommended prefs. r=ato
Bug 1387092 - Update geckodriver readme for proxyType 'direct'. r=ato
Bug 1387403 - Force quitting the browser if no session can be established. r=jgraham
Bug 1388036 - Map WebDriverCommand::FullscreenWindow correctly. r=automatedtester
Bug 1385484 - Remove obsolete prefs and add missing blockedURIs. r=hchang
Bug 1385484 - Ensure that login reputation checks are disabled in tests. r=hchang
Bug 1388249 - Add crashreporter environment variables to geckodriver. r=jgraham
Bug 1369827 - Upgrade webdriver crate to 0.30. r=ato
Bug 1369827 - Update geckodriver docs for proxy port changes. r=ato
Bug 1368265 - Use in-tree testing/webdriver. r=automatedtester
Bug 1368265 - Update geckodriver and webdriver Cargo.tomls. r=automatedtester
Bug 1368265 - Remove unnecessary license files. r=automatedtester
Bug 1396838 - Drop WindowState. r=jgraham
Bug 1387470 - Allow geckodriver to use the webdriver conforming click. r=ato
Bug 1398450 - Fix prefs test regression. r=jgraham
Bug 1388251 - Bump mozrunner crate to version 0.5.0. r=jgraham
Bug 1388251 - Cancel connection attempts if process is not running. r=jgraham
Bug 1388251 - Updated geckodriver changelog for process handling changes. r=jgraham
Bug 1396866 - Relax WindowRectResponse typing. r=jgraham
Bug 1398493 - Improve testing/geckodriver Markdown docs. r=automatedtester
Bug 1398493 - Recommend Selenium 3.5 for geckodriver. r=automatedtester
Bug 1398057 - Not all command arguments are printed to the log. r=jgraham

I assume that we can skip minor (like ordering) and the documentation related changes.
I found a problem with bug 1385484 where two safebrowsing preferences have been removed. Given that we want to keep backward compatibility to 55.0, this change might have to be undone before we can release. I'm waiting for feedback from the patch author now.
(In reply to Henrik Skupin (:whimboo) from comment #6)
> I found a problem with bug 1385484 where two safebrowsing preferences have
> been removed. Given that we want to keep backward compatibility to 55.0,
> this change might have to be undone before we can release. I'm waiting for
> feedback from the patch author now.

Those referenced prefs are not in use since Firefox 50.0. Which means that we do not have to restore anything, and can go ahead with the release. I will update the CHANGES.md file, and Andreas can do the review and release tomorrow.
Depends on: 1399628
Comment on attachment 8908201 [details]
Bug 1391605 - Update CHANGES.md for changes in geckodriver 0.19.0.

https://reviewboard.mozilla.org/r/179862/#review185390

::: testing/geckodriver/CHANGES.md:10
(Diff revision 2)
> +Note that with geckodriver v0.19.0 the following versions are recommended:
> +- Firefox 55.0 (and greater)
> +- Selenium 3.5 (and greater)

testing/geckodriver/README.md also needs to be updated with this
information.

::: testing/geckodriver/CHANGES.md:16
(Diff revision 2)
> +- Added endpoints:
> +  - POST `/session/{session id}/window/minimize` to invoke the window
> +    manager-specific `minimize` operation

Not sure if a list is required for one item.

::: testing/geckodriver/CHANGES.md:20
(Diff revision 2)
>  
> +- Added endpoints:
> +  - POST `/session/{session id}/window/minimize` to invoke the window
> +    manager-specific `minimize` operation
> +
> +- Introduced the temporary, boolean capability [`moz:webdriverClick`] to enable the webdriver conforming [`Element Click`].

fmt this, drop final stop, s/webdriver/WebDriver/

::: testing/geckodriver/CHANGES.md:20
(Diff revision 2)
>  
> +- Added endpoints:
> +  - POST `/session/{session id}/window/minimize` to invoke the window
> +    manager-specific `minimize` operation
> +
> +- Introduced the temporary, boolean capability [`moz:webdriverClick`] to enable the webdriver conforming [`Element Click`].

Missing reference for moz:webdriverClick.

::: testing/geckodriver/CHANGES.md:48
(Diff revision 2)
> -
>  - The [`WindowRectParameters`] have been updated to return signed 32-bit
>    integers in accordance with the CSS and WebDriver specifications, and
>    to be more liberal with the input types
>  
> +- Mapped the [`WebDriverCommand::FullscreenWindow`] to the correct Marionette command

fmt

::: testing/geckodriver/CHANGES.md:53
(Diff revision 2)
> +- `/moz/addon/install` command accepts an `addon` parameter, in lieu of
> +  `path`, containing an addon as a Base64 string

We should probably attribute this to Jason Juang.

::: testing/geckodriver/CHANGES.md:62
(Diff revision 2)
>  
>  - [mozrunner crate] upgraded to version 0.5.0
>  
> +### Removed
> +
> +- Removed [`WindowState`] because it was dropped from WebDriver level 1.

WindowState was never released, so we can leave it out from the change log.

::: testing/geckodriver/CHANGES.md:64
(Diff revision 2)
> +- Removed the following obsolete preferences for Firefox:
> +  - `browser.safebrowsing.enabled`
> +  - `browser.safebrowsing.forbiddenURIs.enabled`
> +  - `marionette.defaultPrefs.port`
> +  - `marionette.logging`

Did this change since 0.18.0?
Attachment #8908201 - Flags: review?(ato) → review-
Comment on attachment 8908202 [details]
Bug 1391605 - Bump geckodriver to 0.19.0.

https://reviewboard.mozilla.org/r/179864/#review185394

testing/geckodriver/Cargo.lock needs to be updated.
Attachment #8908202 - Flags: review?(ato) → review-
Comment on attachment 8908201 [details]
Bug 1391605 - Update CHANGES.md for changes in geckodriver 0.19.0.

https://reviewboard.mozilla.org/r/179862/#review185390

> Not sure if a list is required for one item.

Without it the formatting is odd and hard to read. Or if you agree we just say: "Added new endpoint for `Minimize Window`.

> fmt this, drop final stop, s/webdriver/WebDriver/

What do you mean with `fmt this`? If there is something wrongly formatted please point it out directly. Or was that meant for the two following issues?

> Missing reference for moz:webdriverClick.

I made this a command enclosed in backticks. But `Element Click` was missing a reference!

> fmt

Well, not sure what that means, but I had to update it to [`FullscreenWindow`] because that is the correct reference.

> Did this change since 0.18.0?

See the changelog on the bug. That's what hg spit me out.
Comment on attachment 8908201 [details]
Bug 1391605 - Update CHANGES.md for changes in geckodriver 0.19.0.

https://reviewboard.mozilla.org/r/179862/#review185460

Looks great now, thanks!
Attachment #8908201 - Flags: review?(ato) → review+
Comment on attachment 8908202 [details]
Bug 1391605 - Bump geckodriver to 0.19.0.

https://reviewboard.mozilla.org/r/179864/#review185462
Attachment #8908202 - Flags: review?(ato) → review+
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7f5db3c91958
Update CHANGES.md for changes in geckodriver 0.19.0. r=ato
https://hg.mozilla.org/integration/autoland/rev/26275c18b48c
Bump geckodriver to 0.19.0. r=ato
We should leave this bug open until the release has been done. As discussed with Andreas he will take care of it today. Thanks!
Status: RESOLVED → REOPENED
Flags: needinfo?(ato)
Resolution: FIXED → ---
Hm, why did we had to do another release of webdriver? Now the version in geckodriver's CHANGES.md is not correct anymore.
Assignee: nobody → hskupin
(In reply to Henrik Skupin (:whimboo) from comment #25)

> Hm, why did we had to do another release of webdriver? Now the
> version in geckodriver's CHANGES.md is not correct anymore.

The relative path used in testing/geckodriver/Cargo.toml is not
available in the GitHub repository Travis builds the release from:

> [dependencies]
> webdriver = { path = "../webdriver" }

This is a new scenario since the the 0.18.0 release and I didn’t
think about it upfront.  I’ve updated the how-to on making a
release (in https://bugzil.la/1400289) to reflect this.

To ensure a speedy release, I pushed an additional patch bumping the
webdriver crate to 0.31.0 and made a manual change to Cargo.toml on
GitHub to get the release builds rolling.

In the midst of it I forgot to update the webdriver version number
in testing/geckodriver/CHANGES.md, but I can make a follow-up commit
to address this.  I will also update the GitHub release information.
Flags: needinfo?(ato)
Pushed by atolfsen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ce0bfafc57be
Correct webdriver create version number in 0.19.0 release. r=me
Release done.
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Backed out for build bustage on Linux x64 and Windows:

https://hg.mozilla.org/integration/mozilla-inbound/rev/2edd69b245fbc493c3a1cf17c40c63b0280ead12
https://hg.mozilla.org/integration/mozilla-inbound/rev/573ff832bf623811c4adebc3f39c973435b46ac3

Latest push with bustage: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=ce0bfafc57bed52b7a6dad35a72fbf8e11623c1b&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Build log: https://treeherder.mozilla.org/logviewer.html#?job_id=131460308&repo=mozilla-inbound

[task 2017-09-16T12:05:48.325Z] 12:05:48     INFO -  error: no matching version `= 0.30.0` found for package `webdriver` (required by `geckodriver`)
[task 2017-09-16T12:05:48.325Z] 12:05:48     INFO -  location searched: file:///builds/worker/workspace/build/src/testing/webdriver
[task 2017-09-16T12:05:48.325Z] 12:05:48     INFO -  versions found: 0.31.0
[task 2017-09-16T12:05:48.326Z] 12:05:48     INFO -  consider running `cargo update` to update a path dependency's locked version
[task 2017-09-16T12:05:48.326Z] 12:05:48     INFO -  /builds/worker/workspace/build/src/config/rules.mk:1033: recipe for target 'force-cargo-program-build' failed
[task 2017-09-16T12:05:48.326Z] 12:05:48     INFO -  gmake[5]: *** [force-cargo-program-build] Error 101
[task 2017-09-16T12:05:48.326Z] 12:05:48     INFO -  gmake[5]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/testing/geckodriver'
[task 2017-09-16T12:05:48.326Z] 12:05:48     INFO -  /builds/worker/workspace/build/src/config/recurse.mk:73: recipe for target 'testing/geckodriver/target' failed
[task 2017-09-16T12:05:48.327Z] 12:05:48     INFO -  gmake[4]: *** [testing/geckodriver/target] Error 2
[task 2017-09-16T12:05:48.327Z] 12:05:48     INFO -  gmake[4]: *** Waiting for unfinished jobs....
Status: RESOLVED → REOPENED
Flags: needinfo?(ato)
Resolution: FIXED → ---
Target Milestone: mozilla57 → ---
The testing/geckodriver/Cargo.lock file appears to be out of date.
Unfortunately "./mach vendor rust" errors (and deletes everything
under third_party/rust!) when run.  I have had to modify the
lockfile manually.

This should address the build issues.
Flags: needinfo?(ato)
Pushed by atolfsen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a7d36c4c2e14
Release webdriver 0.31.0. r=me
https://hg.mozilla.org/integration/mozilla-inbound/rev/f0b5f3476d8b
Correct webdriver create version number in 0.19.0 release. r=me
https://hg.mozilla.org/mozilla-central/rev/a7d36c4c2e14
https://hg.mozilla.org/mozilla-central/rev/f0b5f3476d8b
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: