Closed Bug 1265031 Opened 4 years ago Closed 4 years ago

Document the version scheme and release process for Firefox Puppeteer

Categories

(Testing :: Firefox UI Tests, defect)

Version 3
defect
Not set
normal

Tracking

(firefox49 fixed)

RESOLVED FIXED
mozilla49
Tracking Status
firefox49 --- fixed

People

(Reporter: davehunt, Assigned: whimboo)

References

Details

Attachments

(1 file)

I can't find anything on http://firefox-puppeteer.readthedocs.org/ that explains the version scheme or release process (and cadence) for Firefox Puppeteer.

I see from https://pypi.python.org/simple/firefox-puppeteer/ that version history is 2.0.0, 3.1.0, 3.2.0, and 4.0.0. Do the major versions track different Firefox versions, or is the latest release expected to work against multiple versions?

Would it even be possible to set up a Mercurial hook that automatically build and releases a new version whenever the code changes (and tests pass)? That would mean we wouldn't have to release arbitrarily.
There's now pulse notifications [1] when a push is made to hg.mozilla.org. We could potentially use this to examine the paths of the files changed, and trigger a package/release so we always have the latest version available. This could be adopted for other packages (such as mozbase) too.

[1] https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmo/notifications.html
(In reply to Dave Hunt (:davehunt) from comment #0)
> I can't find anything on http://firefox-puppeteer.readthedocs.org/ that
> explains the version scheme or release process (and cadence) for Firefox
> Puppeteer.

We indeed have no documentation about it yet. So we should get this added.

> I see from https://pypi.python.org/simple/firefox-puppeteer/ that version
> history is 2.0.0, 3.1.0, 3.2.0, and 4.0.0. Do the major versions track
> different Firefox versions, or is the latest release expected to work
> against multiple versions?

Our current versioning schema (X.Y.Z) is:

* X - major release for a new Firefox release which introduced API and UI changes from the Firefox side.
* Y - minor release for API changes in puppeteer.
* Z - bug fix release

We were originally thinking of coupling the major release to the version of Firefox. But weren't doing it at this time. If you see benefit in it we can clearly use the version of Firefox here. That would imply that we have to release a new version once a version bump happened, or skip a version in case absolutely no changes in Firefox caused bustage. I would propose we discuss that in the meeting tomorrow.

> Would it even be possible to set up a Mercurial hook that automatically
> build and releases a new version whenever the code changes (and tests pass)?
> That would mean we wouldn't have to release arbitrarily.

Maybe but no idea. Even if we use the pulse message, a dedicated host would be necessary to do this work for us. A side-effect of PyPI which hides former releases would need manual intervention anyway, in case we have to push a bug fix release for an older version.

If you have anything similar running for webqa packages please let me know.
During the meeting yesterday we agreed on the above proposal. Dave, would you also need a new release for the 48.0 (currently aurora) branch?
Flags: needinfo?(dave.hunt)
So far I have found my notification changes to even work against the latest release (my primary target), so although strictly support would not be guaranteed, I'm okay with using 48.x.x against earlier releases. If I - or anyone else - hits issues, perhaps we can revisit.
Flags: needinfo?(dave.hunt)
Sorry, in my last comment I meant 49.x.x (current Nightly). I don't see a need for a 48.x.x release at this time.
Sounds good. I will concentrate on the 49.0 branch then.
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Attachment #8753809 - Flags: review?(dave.hunt)
Comment on attachment 8753809 [details]
MozReview Request: Bug 1265031 - Document the version scheme and release process for Firefox Puppeteer. r?davehunt

https://reviewboard.mozilla.org/r/53492/#review50304

::: testing/puppeteer/firefox/docs/index.rst:48
(Diff revision 1)
> +last part of the version number is the patch level, and is only used for bugfix
> +releases without any API changes.
> +
> +Examples:
> +
> +  firefox_puppeteer_45.0.0 - Firts release for Firefox 45.0 and Firefox 45.xESR

Typo: Firts/First
Comment on attachment 8753809 [details]
MozReview Request: Bug 1265031 - Document the version scheme and release process for Firefox Puppeteer. r?davehunt

https://reviewboard.mozilla.org/r/53492/#review50318

Once the typo is fixed, this can land.
Attachment #8753809 - Flags: review+
Comment on attachment 8753809 [details]
MozReview Request: Bug 1265031 - Document the version scheme and release process for Firefox Puppeteer. r?davehunt

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/53492/diff/1-2/
https://hg.mozilla.org/mozilla-central/rev/23545494d4ef
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
You need to log in before you can comment on or make changes to this bug.