Closed Bug 1358420 Opened 3 years ago Closed 2 years ago

[Before 55.0b1 goes to build] - Allow fennec beta staged rollout

Categories

(Release Engineering :: Release Automation: Other, defect, P2)

defect

Tracking

(firefox54 wontfix, firefox55+ fixed)

RESOLVED FIXED
Tracking Status
firefox54 --- wontfix
firefox55 + fixed

People

(Reporter: jcristau, Assigned: jcristau, Mentored)

References

Details

(Keywords: good-first-bug, Whiteboard: [releaseduty])

Attachments

(1 file)

For beta55 we'll likely want a staged rollout of the first few builds, since they'll be fresh off nightly.
We need a patch similar to the one in bug 1354038. This is a good occasion to get familiar with Taskcluster's taskgraph.

OBJECTIVE
Modify the task definition of push-apk[1], so the payload contains:
>   "google_play_track": "rollout",
>   "rollout_percentage": 10,

Note: the value of rollout_percentage will be defined by release management

PROPOSED SOLUTION
The line at [2] defines what Google Play Track we're going to use. We'll need a new key/value at [3].

TESTING PROTOCOL
1. Download the parameters file of a Fennec release definition task[4], and save it to parameters-beta-candidate-fennec.yml
2. Execute `name='beta-candidate-fennec' ; ./mach taskgraph optimized --json -p parameters-$name.yml > $name.json`
3. Open beta-candidate-fennec.json and look up "push-apk". See the new payload.


[1] For instance https://tools.taskcluster.net/task-group-inspector/#/tAQFNkeSTVa7RF1HmdpJwQ/VeeyC5OLTLiQ72-_FIH1bg
[2] https://dxr.mozilla.org/mozilla-release/rev/f50b8b33a3523b542db42008c27551edf1baad58/taskcluster/taskgraph/util/scriptworker.py#216
[3] https://dxr.mozilla.org/mozilla-release/rev/f50b8b33a3523b542db42008c27551edf1baad58/taskcluster/taskgraph/util/scriptworker.py#238
[4] For instance: https://queue.taskcluster.net/v1/task/tAQFNkeSTVa7RF1HmdpJwQ/runs/0/artifacts/public/parameters.yml
Blocks: dawn-project-fennec
No longer blocks: dawn-project
Mentor: jlorenzo
Keywords: good-first-bug
See Also: → 1354038
Summary: allow fennec beta staged rollout → 55.0b1 - Allow fennec beta staged rollout
Whiteboard: [releaseduty]
Summary: 55.0b1 - Allow fennec beta staged rollout → [Before 55.0b1 goes to build] - Allow fennec beta staged rollout
Priority: -- → P2
Hi,
I would like to contribute. I'm very new here, I will let you know once I get the build env ready.
Given that this is a Dawn blocker, do we really want to use automation to do this? Is it too painful to do by hand for the transition?
AIUI currently automation is set up to push beta builds at 100% immediately.  If we can disable that for the first few beta55 builds I'd be fine with uploading manually if it's easier.
(In reply to Julien Cristau [:jcristau] from comment #5)
> Created attachment 8865837 [details]
> Bug 1358420 - use staged rollout for fennec beta builds
> 
> Review commit: https://reviewboard.mozilla.org/r/137442/diff/#index_header
> See other reviews: https://reviewboard.mozilla.org/r/137442/

@jcristau: sorry to interfere, just a FWIW that Johan is currently on PTO and he's coming back only next week. Normally this can wait since 55.0b1 is still a few weeks ahead, but if you want to land this sooner (on nightly), I think :aki is your best bet for a r? redirect. Alternatively I can also look into it ;-)
Comment on attachment 8865837 [details]
Bug 1358420 - use staged rollout for fennec beta builds

https://reviewboard.mozilla.org/r/137442/#review140642

lgtm!
Attachment #8865837 - Flags: review+
Comment on attachment 8865837 [details]
Bug 1358420 - use staged rollout for fennec beta builds

https://reviewboard.mozilla.org/r/137442/#review143044

lgtm as well!
Attachment #8865837 - Flags: review?(jlorenzo) → review+
Keywords: checkin-needed
Pushed by cbook@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f1872f3e6e34
use staged rollout for fennec beta builds r=aki,jlorenzo
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/f1872f3e6e34
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Like discussed a few weeks ago, we might want to test the rollout on 54.0b12 or b13. Do you still agree with that? If so, I'd suggest to keep the bug open until we uplift attachment 8865837 [details] to beta.
Flags: needinfo?(jcristau)
Comment on attachment 8865837 [details]
Bug 1358420 - use staged rollout for fennec beta builds

Hi Gerry, as discussed in email:

Approval Request Comment
[Feature/Bug causing the regression]: dawn
[User impact if declined]: we won't have a chance to test staged rollout for fennec beta before 55.0b1
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: n/a
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: not really
[Why is the change risky/not risky?]: patch is pretty simple, and the worst case is either the upload to google play fails (and we can fallback to manual upload), or the staged rollout doesn't work (which is fine for beta54)
[String changes made/needed]: none
Flags: needinfo?(jcristau) → needinfo?(gchang)
Attachment #8865837 - Flags: approval-mozilla-beta?
Also, the plan is to back this out of beta54 once verified to work, so future 54.0bN builds keep going out at 100%.
Comment on attachment 8865837 [details]
Bug 1358420 - use staged rollout for fennec beta builds

This is for Dawn purpose. We have to make sure the staged rollout for fennec beta works. Beta54+. Should be in 54 beta 10.
Flags: needinfo?(gchang)
Attachment #8865837 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Assignee: nobody → jcristau
rollout was successfully tested with 54.0b10, so we won't need this on beta54 anymore.  Ryan, can you back this out of m-b?  Thanks!
Flags: needinfo?(ryanvm)
Blocks: 1421346
You need to log in before you can comment on or make changes to this bug.