Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

Latest commit

 

History

History
43 lines (40 loc) · 4.34 KB

export-to-firefox.md

File metadata and controls

43 lines (40 loc) · 4.34 KB

Exporting to Firefox

Firefox Screenshots is developed in GitHub, but on each release we export into the Firefox source tree.

Start the system addon release process by copying the following checklist into a new github bug, then work through the list:

  • If any upstream changes were made to screenshots in mozilla-central, add those commits to github master before starting the export.
  • Bump the minor version number in package.json, following our version numbering conventions
  • If exporting from a branch besides master, review differences in locales between the export:
    git diff --shortstat HEAD..master locales/ (--shortstat gives a summary, --numstat is more detailed, remove to see full diff)
  • Update changelog: ./bin/generate-commit-log --write recent
    • Be sure to exclude renovate (dependency update) PRs
  • Create tag: git tag MAJOR.MINOR.0 – the version should be higher than the version currently in package.json (e.g., if the in-development version is 10.0.0, then tag 10.1.0)
  • Push tag: git push --tags
  • Create a Bugzilla release bug, cloning bug 1403661
    • Use "Show Advanced Fields" and review CC list and dependencies
    • Ensure the bug is filed under the Firefox product, Screenshots component
    • Assign yourself to the bug
  • Export Screenshots to a local copy of Gecko:
    • If you've never exported to Firefox before, do make .venv in the Screenshots repo
    • Make sure the mozilla-central branch is checked out in your local copy of Gecko, and make sure it is up to date
    • Export changes: EXPORT_MC_LOCATION=path/to/gecko ./bin/export_mc.py --no-commit --no-switch-branch
  • In your copy of Gecko, double-check the diff, and split the changes into two commits: one containing any translations and any translation-related changes to the moz.build file, and one containing non-translation code.
    • Ensure your commit messages follow the Firefox bug conventions, for example:
      • "Bug 1436218 - Export Screenshots 29.0.0 to Firefox (code excluding translations); r?ianbicking"
      • "Bug 1436218 - Export Screenshots 29.0.0 to Firefox (translations only); r?ianbicking"
    • Choosing reviewers:
      • For all changes, r? a Screenshots owner or peer (currently :ianbicking or :_6a68)
      • For translation-only changes, also r? the l10n driver for Firefox (currently :flod)
      • For changes to chrome-privileged code or security-sensitive content script code, also r? a Firefox peer (suggested: :kmag or :mossop)
      • For changes to screenshots UI code not inside a content script, also r? a Firefox peer if the additional review seems warranted
      • This guidance may change in the future. Last communication on this topic: bug 1412091 comment 6
  • Push the changes to the Try server
    • Suggested incantation: ./mach try -b o -p linux64,macosx64,win32,win64 -u all -t all --rebuild-talos 5 --no-artifact
    • When running tests against mozilla-beta, run the above incantation for regular unit tests and Talos testing against osx, then also run this separate build to test Talos against pgo builds for windows and linux: ./mach try fuzzy -q 'pgo talos-'
    • See #2822 for Talos and Treeherder basics
  • Add the Try links to the release bug
  • Push the review request using moz-phab
    • Note that this step should automatically attach the patch to the Bugzilla bug and request review from the reviewer mentioned in the commit message (should be reflected as an r? flag on the Bugzilla attachment)
  • Check that the Try build works (the decision step and build tasks in treeherder should be green)
    • If the build looks ok, send an email to the QA email alias (testpilot-qa) and CC the team alias (team-screenshots), asking QA to verify closed bugs are fixed and no new bugs are present.
  • Open a Github PR with the version number commit and the changelog commit
  • Relax! 🏖️