Release Management/Onboarding: Difference between revisions
m (→Release Calendar: how to subscribe to the calendars added) |
|||
(112 intermediate revisions by 15 users not shown) | |||
Line 1: | Line 1: | ||
Welcome to Release Management. | {{DISPLAYTITLE:Onboarding process in the Release Management team}} | ||
<p style="font-size: large; font-weight:bold;">Welcome to Release Management! Here is a list of accounts to set up, tools to check out, and any other details we can think of to help you start getting yourself set up.</p> | |||
= Account Permissions = | |||
You'll want to make sure you have the necessary permissions to do the following and some will take longer than others to achieve so start early. | |||
= | == Bugzilla == | ||
* Create a [https://bugzilla.mozilla.org/createaccount.cgi Bugzilla] account. | |||
* | * File a bug to request for your bugzilla account to be added to the <code>mozilla-next-drivers</code> and <code>mozilla-stable-branch-drivers</code> groups in order to set tracking flags (eg: {{bug|962151}}). Make sure you also have the <code>edit-bugs</code> and <code>canconfirm</code> permissions. | ||
* You can see security sensitive bugs if someone CCs you into the bug, or if you eventually join the security group list. [https://www.mozilla.org/en-US/about/governance/policies/security-group/bugs/#expanding Security permission] comes later. See [https://mana.mozilla.org/wiki/pages/viewpage.action?spaceKey=FIREFOX&title=Client+Security+Bug+Access+Policy Client Security Bug Access Policy] mana page for additional info on requesting access. | |||
* | |||
== Internal Documentation == | |||
* Ask your manager for the permissions to access the [https://drive.google.com/drive/folders/0B0AhJMhJM7DnbXQ0NlplR0swdjQ?resourcekey=0-Y0JOgzS9u8wDPabHQRvbLQ&usp=sharing|shared team Google drive folder]. | |||
== VPN == | |||
Configure your system to access to the Mozilla VPN in order to get access to internal tools like Ship-It. | |||
'''Documentation:''' | |||
* To get access to Mozilla OpenVPN, place a request for Viscosity for Mac/PC on the [https://mozilla-hub.atlassian.net/servicedesk/customer/portal/6 JSM portal] and follow the Mac/PC installation instructions. | |||
* https:// | * [https://mana.mozilla.org/wiki/display/SD/Viscosity+Install+for+Windows Viscosity Install for Windows] | ||
* [https://mana.mozilla.org/wiki/display/SD/Viscosity+Install+for+Mac Viscosity Install for Mac]. | |||
* [https://mana.mozilla.org/wiki/display/IT/Configuring+OpenVPN+on+Ubuntu OpenVPN Install for Linux] | |||
== | == Ship It and Balrog == | ||
[https://shipit.mozilla-releng.net/ Ship It] is available behind our VPN, as is [https://balrog.services.mozilla.com balrog's admin UI]. | |||
File a bug ([https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&component=Infrastructure%3A%20LDAP Infrastructure & Operations::Infrastructure:LDAP]) to be added to the <code>shipit_firefox</code>, <code>shipit_mobile</code>, <code>vpn_cloudops_shipit</code>, <code>balrog</code> and <code>vpn_balrog</code> groups. Example: {{Bug|1469544}} | |||
Once you are using the Mozilla VPN, you can access the application and use your LDAP account to log in. | |||
== Ubuntu Snaps == | |||
We build and publish a [https://snapcraft.io/firefox Firefox Ubuntu snap package] ourselves. | |||
Release Engineering has [https://github.com/JohanLorenzo/releasewarrior-2.0/blob/b9db9be529e8e9fa7300bdad06862bcf6a651e17/docs/release-promotion/desktop/ubuntu-snap.md some documentation] on how we create and push snaps. | |||
The [https://dashboard.snapcraft.io/snaps/firefox/ Firefox Snaps Dashboard] requires a [https://login.ubuntu.com Ubuntu One developer account] and this account to be associated with your @mozilla.com email address. Your Ubuntu One account should have 2FA activated ([https://help.ubuntu.com/community/SSO/FAQs/2FA#How_do_I_add_a_new_authentication_device_and_start_using_2-factor_authentication.3F Ubuntu Specific instructions]). | |||
Once you have set up your Ubuntu One account and registered as a developer on Snapcraft with this account, ask Release Engineering to send you an invite to manage Firefox snaps. An unfinished stab at defining the Snap uploading process is in {{Bug|1467261}}. Anyone who is on the list at https://dashboard.snapcraft.io/snaps/firefox/collaboration/ can add someone else to the list. | |||
== Samsung Store == | |||
You will need to ask for access to the [https://account.samsung.com/accounts/v1/MBR/signInGate?locale=en_US&countryCode=US&goBackURL=https:%2F%2Faccount.samsung.com%2Fmembership%2Fintro&returnURL=https:%2F%2Faccount.samsung.com%2Fmembership%2Fintro&redirect_uri=https:%2F%2Faccount.samsung.com%2Fmbr-svc%2Fauth%2FregistAuthentication&tokenType=OAUTH&response_type=code&client_id=k2jxgrvd6k&state=FZCyUxHKqJUDlXilPsAYuQElMtpvHEwu Samsung Store] | |||
== Release Notes == | |||
Request admin access to https://nucleus.mozilla.org by filing two bugs. | |||
First, one to get the Nucleus site added to your SSO account in [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&component=Infrastructure%3A%20SSO Infrastructure & Operations::Infrastructure: SSO], Example: {{Bug|1351680}}. | |||
The second bug is to be added as admin in the Web App [https://bugzilla.mozilla.org/enter_bug.cgi?product=Websites&component=Nucleus Websites::Nucleus]. Example: {{Bug|1135186}} | |||
== Google Play Console == | |||
File a bug in the App Stores component, https://bugzilla.mozilla.org/enter_bug.cgi?product=App%20Stores | |||
Example: https://bugzilla.mozilla.org/show_bug.cgi?id=1724432 | |||
== Socorro/Stability (crash-stats) == | |||
* [https://bluesock.org/~willkg/blog/mozilla/socorro_overview_2021.html This blog post] provides an overview of Mozilla's crash reporting pipeline. | |||
* https://crash-stats.mozilla.org/ should be accessible for general use. If you require enhanced permissions (typically to [https://crash-stats.mozilla.org/documentation/protected_data_access/ access protected data], file a bug in [https://bugzilla.mozilla.org/enter_bug.cgi?product=Socorro Socorro | General]. | |||
* there is more crash info at https://mozilla.cloud.looker.com/dashboards/918?Channel=release&OS+Name=&Ten+Percent+Sample=Yes But no special account is needed. | |||
== Github == | |||
Some of our tools are developed on Github, some Firefox features are also developped on Github and many teams use Github for development but also documentation, blogging, project management… | |||
* | * if you don't have an account, [https://github.com/join get one]. | ||
* Ask your manager to add you to the Release management team on Github (https://github.com/orgs/mozilla/teams/release-management/members) | |||
Please note that although you can use Github to file bugs in Bugzilla, you should not use it as your work account because Github accounts on bugzilla can't access security and internal bugs. | |||
* | == Repositories == | ||
* hg commit access (''scm_level3'') -- read https://www.mozilla.org/hacking/committer/, fill out a committer agreement, file a bug (eg: {{bug|738713}} except you'll request '''commit''' access, not elevation of current permissions). For this, you will need two [[Modules/All#Core | owners or peers for a core hg module]] to vouch for you as described in [https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/ Commit Access Policy]. (later) | |||
* | * Example of asking for level 1 commit access (which lets you push changes to the ''try'' server): {{bug|1116226}}. This is good to start with to get your SSH key and committer agreement set up. (earlier) | ||
* | * Socorro permissions: {{bug|1229732}} | ||
== PTO calendar == | |||
Ask your manager to give you access to the Release Management PTO calendar where all release managers indicate when they are on PTO. | |||
== | == Other == | ||
* This wiki! [[Special:RequestAccount | Create an account]] and update the [[Release_Management/Team_members | team members page]]. | |||
* Once you are familiar with the release checklists, it will be extremely useful to read this [https://wiki.mozilla.org/Release_Management/Release_Process_Checklist_Documentation#Beta_Checklist documentation] on what each step means since the checklists are shorthanded | |||
* A lot of names will be thrown around the first couple of months, here is a list of common [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html#definitions definitions.] | |||
* Things to Bookmark | |||
** Bugzilla [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&keywords=regression&keywords_type=allwords&v1=affected&o1=equals&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&f1=cf_status_firefox94&title=Open%20regressions Queries] | |||
** Current Firefox trains: https://fx-trains.herokuapp.com | |||
* | = Communication Channels = | ||
== Release Calendar == | |||
This page describes our release schedule: [[Release_Management/Calendar | Firefox Release Calendar]]. You should add these to your regular Google calendar so you can easily see the state of any release. Click through on the links below and then hit the + button at bottom right to add this to your Mozilla Google calendar. | |||
* This is the basic public calendar with release dates: https://www.google.com/calendar/embed?src=mozilla.com_2d37383433353432352d3939%40resource.calendar.google.com | |||
* This is the release manager team with tons of detail: https://www.google.com/calendar/embed?src=bW96aWxsYS5jb21fZGJxODRhbnI5aTh0Y25taGFiYXRzdHY1Y29AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ - This is really helpful for the first managed release cycle. | |||
== | == E-Mail == | ||
Note that some of these mailing lists need approval from an administrator. | |||
'''Our team list ''' | |||
* release-mgmt@mozilla.com: Discussions about releases, schedule… | |||
* | |||
''' Other useful lists ''' | |||
You'll need to manually subscribe to: | |||
* [https://groups.google.com/a/mozilla.org/g/release-drivers release-drivers] | |||
* [https://groups.google.com/a/mozilla.org/g/release-signoff release-signoff] | |||
* [https://groups.google.com/a/mozilla.org/g/release Release-mgmt] | |||
* [https://groups.google.com/a/mozilla.org/g/dev-platform dev-platform] | |||
* [https://groups.google.com/a/mozilla.org/g/enterprise Enterprise] | |||
* [https://groups.google.com/a/mozilla.org/g/stability Stability] | |||
* [https://groups.google.com/a/mozilla.org/g/announce Announce] | |||
* [https://groups.google.com/a/mozilla.org/g/security-group security-group] Check out the [https://www.mozilla.org/en-US/about/governance/policies/security-group/membership/ policy] for getting added to the security-group list. | |||
* [https://groups.google.com/a/mozilla.com/g/funstuff Funstuff] | |||
== Websites == | |||
* [https://crash-stats.mozilla.org/ Crash reports] | |||
== | == Matrix == | ||
We hang out in the <code>#release-drivers:mozilla.org</code> and <code>#releaseduty:mozilla.org</code> channels. | |||
The following can also be useful: | |||
* <code>#developers:mozilla.org</code> | |||
* <code>#firefox-ci:mozilla.org</code> | |||
* <code>#sheriffs:mozilla.org</code> | |||
== Slack == | |||
[https://mozilla.slack.com/ Mozilla Slack], you can login with [https://sso.mozilla.org sso]. | |||
* <code>release-drivers</code> - release related discussions | |||
* <code>qa-coordination</code> - QE team channel | |||
* <code>release-coordination</code> - Cross functional coordination room during a release | |||
* <code>triage-and-tracking</code> - All things bugzilla | |||
* <code>release-notes</code> - coordination with release notes stakeholders, marketing and writers | |||
* <code>moco</code> - backchannel for meetings | |||
* <code>firefox</code> - firefox development room | |||
* <code>planning</code>- backchannel for weekly Cross Functional Meeting | |||
* <code>fx-weekly-digest</code>- Where the weekly digest is posted and updated | |||
* <code>release-mgmt</code>- Relman team channel | |||
== | == Meetings == | ||
As a release manager, you will need to attend recurrent meetings, here is the list: | |||
'''Tuesday:''' | |||
* 1st Channel meeting | |||
'''Wednesday''' | |||
* Our Team meeting | |||
'''Thursday''' | |||
* 2nd Channel meeting | |||
Ask your manager and colleagues to invite you to these meetings. | |||
== EtherPad == | |||
EtherPad is a great tool for dynamic collaboration during meetings, brainstorming, or other times when you need to collaborate: | |||
* https://pad.mozilla.org/ for general use | |||
* https://pad.mozilla.org/p/channel-meeting for release information | |||
== | == Pastebin == | ||
There's a local pastebin instance at https://paste.mozilla.org/, so you don't need to paste multi-lines into a channel. You can use <code>mach pastebin</code> to paste from a terminal. | |||
== Planet == | |||
Add a bug similar to {{bug|605709}} to get your blog syndicated on https://planet.mozilla.org. You can choose to send every post, or create a feed for a custom tag (eg: 'mozilla'). Having your blog syndicated to planet is a great channel for announcing new features (along with tweeting and posting to newsgroups). | |||
=Handy Links= | = Software = | ||
==How To and Oft-Used== | == Firefox == | ||
# Please download & install Firefox [https://nightly.mozilla.org nightly], [https://beta.mozilla.org beta], [https://firefox.com release], and [https://www.mozilla.org/en-US/firefox/developer/ devedition] | |||
# [https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles#w_creating-a-profile Create new profiles] for each version + your own profile. Read [https://developer.mozilla.org/en-US/docs/Mozilla/Multiple_Firefox_Profiles Multiple Firefox Profiles] for more help with the profile manager. | |||
= Handy Links = | |||
== How To and Oft-Used == | |||
* [[Release_Management]] | * [[Release_Management]] | ||
* [[Firefox/Channels/Meetings]] | * [[Firefox/Channels/Meetings]] | ||
Line 115: | Line 167: | ||
* [[Release_Management/ESR_Landing_Process]] | * [[Release_Management/ESR_Landing_Process]] | ||
General info on module owners and partners: | |||
* | * Module owners [[Modules/All | All Modules]] | ||
* Mozilla Partners [https://docs.google.com/spreadsheets/d/1H38b9RgunWtuUjuv0jc3wiSwcAbpc4Ee2T5egmEojQw/edit#gid=0 Partner Rolodex] - Request permissions to your manager if you can't access this document. | |||
== Bugzilla == | |||
* Configure the [https://bugzilla.mozilla.org/userprefs.cgi?tab=securemail securemail] section if you want to see the content of security bugs in your email client. GPG key or [http://kb.mozillazine.org/Getting_an_SMIME_certificate SMIME certificate] are accepted. | * Configure the [https://bugzilla.mozilla.org/userprefs.cgi?tab=securemail securemail] section if you want to see the content of security bugs in your email client. GPG key or [http://kb.mozillazine.org/Getting_an_SMIME_certificate SMIME certificate] are accepted. | ||
* If you don't mind receiving plenty of emails, you can [https://bugzilla.mozilla.org/show_bug.cgi?id=1144694 ask to the bugzilla admin to receive notifications] for Firefox uplift requests | |||
=== Reports === | === Reports === | ||
* [https://bugzilla.mozilla.org/page.cgi?id=release_tracking_report.html release tracking report] | * [https://bugzilla.mozilla.org/page.cgi?id=release_tracking_report.html release tracking report] (builds bugzilla queries for uplifts) | ||
=== Queries === | === Queries === | ||
In your bugzilla preferences, under Saved Searches, you can add some of the following to your footer for quick access: | In your bugzilla preferences, under Saved Searches, you can add some of the following to your footer for quick access: | ||
* [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=dorem&remaction=run&namedcmd=approval-beta%3F&sharer_id=272375 approval-beta?] | * [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=dorem&remaction=run&namedcmd=approval-beta%3F&sharer_id=272375 approval-beta?] | ||
* [https://bugzilla.mozilla.org/buglist.cgi?o1=equals&v1=%3F&known_name=tracking-ff32%3F&f1=cf_tracking_firefox37&query_based_on=tracking-ff32%3F&query_format=advanced&list_id=12037223 | * As an exercise, also create the query approval-release? (hint: edit the approval-beta? such, update the value and save it with the new name) | ||
* [https://bugzilla.mozilla.org/buglist.cgi? | * [https://bugzilla.mozilla.org/buglist.cgi?o1=equals&v1=%3F&known_name=tracking-ff32%3F&f1=cf_tracking_firefox37&query_based_on=tracking-ff32%3F&query_format=advanced&list_id=12037223 tracking_firefoxXY?] (adjust for current beta version as needed) | ||
* [https://bugzilla.mozilla.org/buglist.cgi?o5=notequals&v11=unaffected&j10=OR&o14=notequals&f13=OP&o2=equals&j16=OR&f23=cf_status_firefox50&f29=CP&v5=wontfix&f12=CP&j4=OR&f14=cf_status_firefox50&o17=notequals&o20=notequals&f24=CP&v2=%2B&f21=CP&known_name=Tracking50%2B-Remaining&f10=OP&f19=OP&f22=OP&f1=OP&f20=cf_status_firefox50&f0=OP&f8=cf_status_firefox50&j13=OR&j19=OR&o11=notequals&f18=CP&columnlist=bug_severity%2Cpriority%2Ccomponent%2Clast_visit_ts%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ccf_status_firefox47%2Ccf_status_firefox48%2Ccf_status_firefox49%2Ccf_status_firefox50%2Ccf_status_firefox51%2Ccf_status_firefox52&f15=CP&resolution=---&resolution=FIXED&query_based_on=Tracking50%2B-Remaining&f9=CP&j7=OR&v20=verified%20disabled&f4=OP&o23=notequals&query_format=advanced&v23=fix-optional&j1=OR&f3=CP&v17=disabled&f2=cf_tracking_firefox50&f11=cf_status_firefox50&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&f5=cf_status_firefox50&f17=cf_status_firefox50&v8=fixed&f6=CP&v14=verified&f7=OP&o8=notequals&f16=OP&list_id=13255854 Firefox XY tracked bugs] (Make sure to query for the resolved bugs as well as open ones) | |||
* [https://bugzilla.mozilla.org/buglist.cgi?o5=notequals&list_id=13255848&v11=unaffected&j10=OR&o14=notequals&f13=OP&o2=equals&j16=OR&f29=CP&v5=wontfix&f12=CP&j4=OR&f14=cf_status_firefox_esr45&o17=notequals&o20=notequals&f21=CP&v2=50%2B&known_name=Tracking-esr-50%2B-Remaining&f10=OP&f19=OP&f1=OP&f20=cf_status_firefox_esr45&j13=OR&f8=cf_status_firefox_esr45&f0=OP&j19=OR&o11=notequals&f18=CP&columnlist=bug_severity%2Cpriority%2Ccomponent%2Clast_visit_ts%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ccf_status_firefox40%2Ccf_status_firefox41%2Ccf_status_firefox42%2Ccf_status_firefox43%2Ccf_status_firefox44%2Ccf_status_firefox45%2Ccf_status_firefox46&f15=CP&resolution=---&resolution=FIXED&query_based_on=Tracking-esr-50%2B-Remaining&f9=CP&v20=verified%20disabled&j7=OR&f4=OP&query_format=advanced&j1=OR&v17=disabled&f3=CP&f2=cf_tracking_firefox_esr45&f11=cf_status_firefox_esr45&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&f5=cf_status_firefox_esr45&f17=cf_status_firefox_esr45&v8=fixed&v14=verified&f6=CP&f7=OP&o8=notequals&f16=OP ESR tracked list] | |||
* [https://bugzilla.mozilla.org/buglist.cgi?o5=equals&keywords=regression%2C&keywords_type=allwords&list_id=13255849&v11=INCOMPLETE&j2=OR&o1=equals&o9=notequals&v10=WORKSFORME&f13=CP&v5=---&f12=resolution&v9=WONTFIX&o4=equals&o12=notequals&v1=affected&known_name=New-Regressions-50&v4=%3F&f10=resolution&f1=cf_status_firefox50&o3=equals&f8=resolution&v3=unaffected&o11=notequals&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ccf_status_firefox48%2Ccf_status_firefox49%2Ccf_status_firefox50%2Ccf_status_firefox51%2Ccf_status_firefox52&query_based_on=New-Regressions-50&f9=resolution&f4=cf_status_firefox49&query_format=advanced&o10=notequals&f3=cf_status_firefox49&f2=OP&v12=EXPIRED&f11=resolution&f5=cf_status_firefox49&v8=INVALID&f6=CP&f7=OP&o8=notequals New regressions] - Note that fix-optional should be removed from this query | |||
* [https://bugzilla.mozilla.org/buglist.cgi?o5=equals&n2=1&keywords=regression%2C&keywords_type=allwords&list_id=13255850&v11=INCOMPLETE&j2=OR&o1=equals&o9=notequals&v10=WORKSFORME&f13=CP&v5=---&f12=resolution&v9=WONTFIX&o4=equals&o12=notequals&v1=affected&known_name=Carryover-Regressions-50&v4=%3F&f10=resolution&f1=cf_status_firefox50&o3=equals&f8=resolution&o11=notequals&v3=unaffected&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ccf_status_firefox47%2Ccf_status_firefox48%2Ccf_status_firefox49%2Ccf_status_firefox50%2Ccf_status_firefox51%2Ccf_status_firefox52&query_based_on=Carryover-Regressions-50&f9=resolution&f4=cf_status_firefox49&o10=notequals&query_format=advanced&f3=cf_status_firefox49&f2=OP&v12=EXPIRED&f11=resolution&f5=cf_status_firefox49&v8=INVALID&f6=CP&f7=OP&o8=notequals Carryover regressions] - Note that fix-optional should be removed from this query | |||
* [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=dorem&remaction=run&namedcmd=relnote-firefox%3F&sharer_id=272375 relnote-firefox?] | |||
* Also create query for approval-esrXY | |||
=Tools= | = Tools = | ||
==Repos to check out== | == Repos to check out if you are going to develop == | ||
* [https://github.com/ | * [https://github.com/mozilla/relman-auto-nag Bugzilla nag tool] | ||
* [https://github.com/mozilla/ | * [https://github.com/mozilla-releng/shipit/ ship-it] | ||
* [https://github.com/ | * [https://github.com/mozilla/rna Nucleus] | ||
* [ | * [https://github.com/mozilla/bedrock Bedrock] Mozilla website | ||
* [http://harthur.github.io/mozregression/ mozregression] | * [http://harthur.github.io/mozregression/ mozregression] | ||
== Helpful webextensions == | |||
* [https://addons.mozilla.org/en-US/firefox/addon/bugzilla-crash-stop/ Crash Stop] provides crash data in Bugzilla | |||
* [https://addons.mozilla.org/en-US/firefox/addon/gecko-code-coverage/ Gecko Code Coverage] provides code coverage info in Bugzilla, crash-stats, dxr, hg.m.o, ... | |||
= Community Contributors = | = Community Contributors = | ||
Some of the above access & permissions will either not be accessible to community contributors or it might take a bit longer to achieve depending on the level & needs of the contributions being made. | Some of the above access & permissions will either not be accessible to community contributors or it might take a bit longer to achieve depending on the level & needs of the contributions being made. | ||
Line 147: | Line 212: | ||
== Links to get started == | == Links to get started == | ||
* [[Release_Management/Queries/Nightly Nightly Triage]] | * [[Release_Management/Queries/Nightly|Nightly Triage]] | ||
* [[Release_Management/Queries All Queries]] | * [[Release_Management/Queries|All Queries]] | ||
* [[RapidRelease/LandingPlan Landing Plan]] | * [[RapidRelease/LandingPlan|Landing Plan]] | ||
* [ | * Article on our release process in [http://www.drdobbs.com/architecture-and-design/firefox-release-engineering/240168409 Dr. Dobbs] (mostly still true) | ||
= Fun Tips & Tricks = | = Fun Tips & Tricks = | ||
== | == Subscribe to fun stuff == | ||
* See [https://wiki.mozilla.org/Release_Management/Onboarding#E-Mail Email] groups "Fun Stuff" above to self-subscribe | |||
== | = Overview Summary of Role = | ||
* | * It would help to imagine the Relman role as a manager of three stages. Imagine a kanban with three columns where each stage is a column. Each stage is a cycle of the release process. (Nightly, Beta, Release). A Relman is assigned a release (#). You see that release (#) through each column(stage). Each column has different dates, similar processes(some automated some manual), different dates, and different level of critical tasks. To ensure nothing is forgotten, we follow checklists which change depending on which stage you are in as well as which part of the stage you are in (beginning/end). | ||
* Must Read: [https://wiki.mozilla.org/Release_Management/Release_Process Release Process] | |||
[[category:Release_Management|O]] | [[category:Release_Management|O]] |
Latest revision as of 23:48, 27 March 2024
Welcome to Release Management! Here is a list of accounts to set up, tools to check out, and any other details we can think of to help you start getting yourself set up.
Account Permissions
You'll want to make sure you have the necessary permissions to do the following and some will take longer than others to achieve so start early.
Bugzilla
- Create a Bugzilla account.
- File a bug to request for your bugzilla account to be added to the
mozilla-next-drivers
andmozilla-stable-branch-drivers
groups in order to set tracking flags (eg: bug 962151). Make sure you also have theedit-bugs
andcanconfirm
permissions. - You can see security sensitive bugs if someone CCs you into the bug, or if you eventually join the security group list. Security permission comes later. See Client Security Bug Access Policy mana page for additional info on requesting access.
Internal Documentation
- Ask your manager for the permissions to access the team Google drive folder.
VPN
Configure your system to access to the Mozilla VPN in order to get access to internal tools like Ship-It.
Documentation:
- To get access to Mozilla OpenVPN, place a request for Viscosity for Mac/PC on the JSM portal and follow the Mac/PC installation instructions.
- Viscosity Install for Windows
- Viscosity Install for Mac.
- OpenVPN Install for Linux
Ship It and Balrog
Ship It is available behind our VPN, as is balrog's admin UI.
File a bug (Infrastructure & Operations::Infrastructure:LDAP) to be added to the shipit_firefox
, shipit_mobile
, vpn_cloudops_shipit
, balrog
and vpn_balrog
groups. Example: bug 1469544
Once you are using the Mozilla VPN, you can access the application and use your LDAP account to log in.
Ubuntu Snaps
We build and publish a Firefox Ubuntu snap package ourselves.
Release Engineering has some documentation on how we create and push snaps.
The Firefox Snaps Dashboard requires a Ubuntu One developer account and this account to be associated with your @mozilla.com email address. Your Ubuntu One account should have 2FA activated (Ubuntu Specific instructions).
Once you have set up your Ubuntu One account and registered as a developer on Snapcraft with this account, ask Release Engineering to send you an invite to manage Firefox snaps. An unfinished stab at defining the Snap uploading process is in bug 1467261. Anyone who is on the list at https://dashboard.snapcraft.io/snaps/firefox/collaboration/ can add someone else to the list.
Samsung Store
You will need to ask for access to the Samsung Store
Release Notes
Request admin access to https://nucleus.mozilla.org by filing two bugs.
First, one to get the Nucleus site added to your SSO account in Infrastructure & Operations::Infrastructure: SSO, Example: bug 1351680.
The second bug is to be added as admin in the Web App Websites::Nucleus. Example: bug 1135186
Google Play Console
File a bug in the App Stores component, https://bugzilla.mozilla.org/enter_bug.cgi?product=App%20Stores Example: https://bugzilla.mozilla.org/show_bug.cgi?id=1724432
Socorro/Stability (crash-stats)
- This blog post provides an overview of Mozilla's crash reporting pipeline.
- https://crash-stats.mozilla.org/ should be accessible for general use. If you require enhanced permissions (typically to access protected data, file a bug in Socorro | General.
- there is more crash info at https://mozilla.cloud.looker.com/dashboards/918?Channel=release&OS+Name=&Ten+Percent+Sample=Yes But no special account is needed.
Github
Some of our tools are developed on Github, some Firefox features are also developped on Github and many teams use Github for development but also documentation, blogging, project management…
- if you don't have an account, get one.
- Ask your manager to add you to the Release management team on Github (https://github.com/orgs/mozilla/teams/release-management/members)
Please note that although you can use Github to file bugs in Bugzilla, you should not use it as your work account because Github accounts on bugzilla can't access security and internal bugs.
Repositories
- hg commit access (scm_level3) -- read https://www.mozilla.org/hacking/committer/, fill out a committer agreement, file a bug (eg: bug 738713 except you'll request commit access, not elevation of current permissions). For this, you will need two owners or peers for a core hg module to vouch for you as described in Commit Access Policy. (later)
- Example of asking for level 1 commit access (which lets you push changes to the try server): bug 1116226. This is good to start with to get your SSH key and committer agreement set up. (earlier)
- Socorro permissions: bug 1229732
PTO calendar
Ask your manager to give you access to the Release Management PTO calendar where all release managers indicate when they are on PTO.
Other
- This wiki! Create an account and update the team members page.
- Once you are familiar with the release checklists, it will be extremely useful to read this documentation on what each step means since the checklists are shorthanded
- A lot of names will be thrown around the first couple of months, here is a list of common definitions.
- Things to Bookmark
- Bugzilla Queries
- Current Firefox trains: https://fx-trains.herokuapp.com
Communication Channels
Release Calendar
This page describes our release schedule: Firefox Release Calendar. You should add these to your regular Google calendar so you can easily see the state of any release. Click through on the links below and then hit the + button at bottom right to add this to your Mozilla Google calendar.
- This is the basic public calendar with release dates: https://www.google.com/calendar/embed?src=mozilla.com_2d37383433353432352d3939%40resource.calendar.google.com
- This is the release manager team with tons of detail: https://www.google.com/calendar/embed?src=bW96aWxsYS5jb21fZGJxODRhbnI5aTh0Y25taGFiYXRzdHY1Y29AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ - This is really helpful for the first managed release cycle.
Note that some of these mailing lists need approval from an administrator.
Our team list
- release-mgmt@mozilla.com: Discussions about releases, schedule…
Other useful lists You'll need to manually subscribe to:
- release-drivers
- release-signoff
- Release-mgmt
- dev-platform
- Enterprise
- Stability
- Announce
- security-group Check out the policy for getting added to the security-group list.
- Funstuff
Websites
Matrix
We hang out in the #release-drivers:mozilla.org
and #releaseduty:mozilla.org
channels.
The following can also be useful:
#developers:mozilla.org
#firefox-ci:mozilla.org
#sheriffs:mozilla.org
Slack
Mozilla Slack, you can login with sso.
release-drivers
- release related discussionsqa-coordination
- QE team channelrelease-coordination
- Cross functional coordination room during a releasetriage-and-tracking
- All things bugzillarelease-notes
- coordination with release notes stakeholders, marketing and writersmoco
- backchannel for meetingsfirefox
- firefox development roomplanning
- backchannel for weekly Cross Functional Meetingfx-weekly-digest
- Where the weekly digest is posted and updatedrelease-mgmt
- Relman team channel
Meetings
As a release manager, you will need to attend recurrent meetings, here is the list:
Tuesday:
- 1st Channel meeting
Wednesday
- Our Team meeting
Thursday
- 2nd Channel meeting
Ask your manager and colleagues to invite you to these meetings.
EtherPad
EtherPad is a great tool for dynamic collaboration during meetings, brainstorming, or other times when you need to collaborate:
- https://pad.mozilla.org/ for general use
- https://pad.mozilla.org/p/channel-meeting for release information
Pastebin
There's a local pastebin instance at https://paste.mozilla.org/, so you don't need to paste multi-lines into a channel. You can use mach pastebin
to paste from a terminal.
Planet
Add a bug similar to bug 605709 to get your blog syndicated on https://planet.mozilla.org. You can choose to send every post, or create a feed for a custom tag (eg: 'mozilla'). Having your blog syndicated to planet is a great channel for announcing new features (along with tweeting and posting to newsgroups).
Software
Firefox
- Please download & install Firefox nightly, beta, release, and devedition
- Create new profiles for each version + your own profile. Read Multiple Firefox Profiles for more help with the profile manager.
Handy Links
How To and Oft-Used
- Release_Management
- Firefox/Channels/Meetings
- ESR FAQ
- Enterprise/Firefox/ExtendedSupport:Proposal
- Release_Management/ESR_Landing_Process
General info on module owners and partners:
- Module owners All Modules
- Mozilla Partners Partner Rolodex - Request permissions to your manager if you can't access this document.
Bugzilla
- Configure the securemail section if you want to see the content of security bugs in your email client. GPG key or SMIME certificate are accepted.
- If you don't mind receiving plenty of emails, you can ask to the bugzilla admin to receive notifications for Firefox uplift requests
Reports
- release tracking report (builds bugzilla queries for uplifts)
Queries
In your bugzilla preferences, under Saved Searches, you can add some of the following to your footer for quick access:
- approval-beta?
- As an exercise, also create the query approval-release? (hint: edit the approval-beta? such, update the value and save it with the new name)
- tracking_firefoxXY? (adjust for current beta version as needed)
- Firefox XY tracked bugs (Make sure to query for the resolved bugs as well as open ones)
- ESR tracked list
- New regressions - Note that fix-optional should be removed from this query
- Carryover regressions - Note that fix-optional should be removed from this query
- relnote-firefox?
- Also create query for approval-esrXY
Tools
Repos to check out if you are going to develop
- Bugzilla nag tool
- ship-it
- Nucleus
- Bedrock Mozilla website
- mozregression
Helpful webextensions
- Crash Stop provides crash data in Bugzilla
- Gecko Code Coverage provides code coverage info in Bugzilla, crash-stats, dxr, hg.m.o, ...
Community Contributors
Some of the above access & permissions will either not be accessible to community contributors or it might take a bit longer to achieve depending on the level & needs of the contributions being made.
Currently when Early Feedback Community Release Managers are onboarded we're basing it on these blog posts (one was based on the other). The short version is that we're looking for people who are interested in understanding how Release Management in a major Open Source project works and our hope is that they learn while also helping us maintain a higher level of quality and visibility into release-affecting issues than a small team of employees can manage.
How that can play out is in several ways. First, any new community member who wants to work with RelMan should have a very informal conversation with a current staff member to discuss their experience, interests, and then ultimately to come up with a good time for a regular meeting that can onboard them (if they're still interested) over a period of weeks & months.
Depending on the volunteer's time availability, usually 1 or 2 hour-long triage sessions a week are feasible. Ideally these will at least sometimes include other members of the team so that the new contributor is getting to know the rest of the members. Eventually the contributor should also start getting invited to (and attending when possible) our 30 min weekly team meeting.
Links to get started
- Nightly Triage
- All Queries
- Landing Plan
- Article on our release process in Dr. Dobbs (mostly still true)
Fun Tips & Tricks
Subscribe to fun stuff
- See Email groups "Fun Stuff" above to self-subscribe
Overview Summary of Role
- It would help to imagine the Relman role as a manager of three stages. Imagine a kanban with three columns where each stage is a column. Each stage is a cycle of the release process. (Nightly, Beta, Release). A Relman is assigned a release (#). You see that release (#) through each column(stage). Each column has different dates, similar processes(some automated some manual), different dates, and different level of critical tasks. To ensure nothing is forgotten, we follow checklists which change depending on which stage you are in as well as which part of the stage you are in (beginning/end).
- Must Read: Release Process