ReleaseEngineering/Releaseduty/FAQ

From MozillaWiki
< ReleaseEngineering‎ | Releaseduty
Revision as of 16:31, 7 January 2016 by Mtabara (talk | contribs) (Add the first draft of FAQ)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

1. With respect to Ship-it workflow, is the following description viable? Release Manager comes and submits a new release form, another Release Manager (RelMan) reviews that and once it hits 'Ready' the release enters the 'Reviewed' section and wais to be run. Since there's a release-runner.sh script running in a loop on bm81, there's a max windows of (I believe 60 seconds) till the job gets its share. Following which it enters the 'Running/Complete' table where we can observe its state. The "Reviewed" tab goes to "No pending release" yet again.

TODO answer

2. With respect to release-runner, I grasped the release-runner part in the graph. However the http://hg.mozilla.org/build/tools/file/tip/buildfarm/release/release-runner.py#l309 shows me a TC task is created.

  • Where are those operations (patch, tag, sanity check, push &reconfig, trigger) being run?
  • What does the scheduler.createTaskGraph mean and the mark_as_completed part?

TODO answer

3. What does release-promotion refer to within all this context?

TODO answer

4. Is this schema roughly up-to-date? https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Preparation#L10N_Changesets

TODO answer

5. Somebody on IRC said "we need to update several stuff till the beta goes out in the release channel". Are all these hotfixes for stuff that has been observed since the changes started riding the trains?

TODO answer

6. Overall rate vs update rate?

  • What's the overall rate everyone's keep talking about in the release channel mtg?

(e.g. Overall rate: 1.0 - yellow (almost green), on the upper edge of what 42 data looked like)

  • when they are talking about "update rate from 30 to 100" they are talking about throttling a release?

TODO answer

7. All of the following bugs are excerpt from a channel mtg. Are all these bugs noticed when 44 was already riding the trains in beta channel?

Overall rate: 1.1 - yellow, slightly up from last week of 43

  • bug 1212133 (a11y::DocAccessible::RemoveDependentIDsFor) is 2.2% of 44.0b1 data
  • bug 1233481 (js::AutoEnterOOMUnsafeRegion::crash) is 2.0%
  • bug 1215970 (CondVar::Wait) is 1.5%, see release
  • bug 1217135 (layers::ImageBridgeChild::EndTransaction) is 1.3%
  • bug 1234170 (nsIWebSocketChannel::Serial) is 1.2%
  • bug 1233962 (net::InterceptedChannelBase::DoNotifyController) is 1.1%

Therefore, are all of these hotfixes that need to get immediately in the release?

TODO answer

8. Scenario: Release-runner triggers a sendchange to buildbot. Buildbot builds. Is there any automatic testing chained up as soon as the build is ready? (as in, the same testing I see on treeherder for regular granular commits?)

TODO answer

9. Just a general overview, no need for microlevel details, how do the QA tools work?

  • their testing is subsequent to automatic testing, right? (that is regular tests from treeherder)
  • how do they test a build? Do they have specific tools?
  • do they focus on verifying bugs that are "stated as fixed" for that specific release? (whatsnew page)

TODO answer

10. What is a partner repack change for FF? What does "partner" refer to in this context? (e.g. Bug 1231679)

TODO answer

11. During the release-drivers meeting, people often refer to conversations noticed on Twitter (as in complaints or positive feedback on something). How do people know what's on Twitter? Is there a specific handle or hashtag they're following or it's just the @mozilla and related conversations?

TODO answer

12. Is there a programmed calendar for the Thunderbird events?As it is for FF desktop or it's just something that is being setup in the #release-drivers and synced-up with TB folks?

TODO answer

13. I got confused by the order of the things happening.

As soon as the build is completed and available, the QE starts testing it? (manual, regresion, smoking, etc) I ask that because earlier today I was debugging some firefox_antivirus and update_verify_release on win64 steps when I saw an email like "[desktop] Firefox 43.0.4 (build 3) - Sign Off on Manual Functional Testing". Indeed the build was successful but there were many following steps afterwards that were not yet completed. How does it work, when does QE actually start testing?

TODO answer

14. Email stages I've noticed for <release> and <beta>.

Are these stages correct?

release

  • [desktop] Firefox 43.0.4 (build 3) - Sign Off on Manual Functional Testing by Softvision

assumption: QA performs manual and smoke testing following which it signs-off and hands to release-drivers

  • [Desktop] Firefox 43.0.4 build3 signed off on the release-localtest channel by QE

assumption: release-drivers perform update testing on release-localtest channel following which they sign-off and hand to release-management

  • [desktop] Please push Firefox 43.0.3 (build#1) to the release-cdntest channel

assumption: RelMan asks releng to push to release-cdntest (aka push to mirrors / push to cdn)

  • releng pushes to mirrors
  • [Desktop] Firefox 43.0.3 signed off on the release-cdntest channel by QE

assumption: QE performs the update tests on the release cdn-tests following which they sign off and hand to releaase managers

  • [desktop] Please push Firefox Desktop 43.0.3 (build #1) to the release channel - 100% update rate

assumption: release managers ask releng to push to release channel (aka push to balrog)

  • releng pushes to release channel
  • release-automation sends notification: "[release] Firefox 43.0.3 build1: Updates available on release"
  • [Desktop] QE signing off on 43.0.3 release

assumptioon: release-drivers perform the updates tests on the release channel

  • releng runs post-release for the release
  • release-automation sends notification stating that: "[release] Firefox 43.0.3 build1: completed firefox_postrelease"
  • done

betas

  • [desktop] Firefox 44.0 Beta 4 (build 1) - Sign Off on Manual Functional Testing

assumption: QA performs manual, regression and smoke testing on beta-localchannel (??) following which it signs-off and hands to release-drivers

  • [Desktop] Please push Firefox 44.0b4 build1 to the beta channel

assumption: QE and release-drivers perform the updates on the beta-cdntest channel and ask releng to push it to beta channel

  • releng performs the 'Push to balrog' action
  • release-automation sends notification stating: "[release] Firefox 44.0b4 build1: Updates available on beta"
  • [Desktop] Firefox 44.0b4 updates on beta channel signed off by QE

assumption: QE performs update testing on the beta channel and ask releng for post-release step

  • releng performs the 'post-release' action step
  • release-automation sends notification stating that: "[release] Firefox 44.0b4 build1: completed firefox_postrelease"
  • done

Questions:

  • My explanation so far is that betas are auto when it comes to push-to-mirrors, while for releases this step is to be done manually. Is this correct?
  • what does the "updates testing" refer to? I saw it performed at various steps during the release process. Is it automated / stage?
  • for betas, is there a beta-localtest or is it the same thing with beta-cdntest?

TODO answer