Bug 1854550 - pt 2. Move PHC into memory/build r=glandium
[gecko.git] / remote / doc / marionette / NewContributors.md
blobcde397a9fb4360954b55d0fb766422eeae6b5b02
1 # New contributors
3 This page is aimed at people who are new to Mozilla and want to contribute
4 to Mozilla source code related to Marionette Python tests, WebDriver
5 spec tests and related test harnesses and tools. Mozilla has both
6 git and Mercurial repositories, but this guide only describes Mercurial.
8 If you run into issues or have doubts, check out the [Resources](#resources)
9 section below and **don't hesitate to ask questions**. :) The goal of these
10 steps is to make sure you have the basics of your development environment
11 working. Once you do, we can get you started with working on an
12 actual bug, yay!
14 ## Accounts, communication
16   1. Set up a [Bugzilla] account (and, if you like, a [Mozillians] profile).
17      Please include your Element nickname in both of these accounts so we can work
18      with you more easily. For example, Eve Smith would set the Bugzilla name
19      to "Eve Smith (:esmith)", where "esmith" is the Element nick.
21   2. For a direct communication with us it will be beneficial to setup [Element].
22      Make sure to also register your nickname as described in the linked document.
24   3. Join our [#webdriver:mozilla.org] channel, and introduce yourself to the
25      team. :whimboo, :jdescottes, and :jgraham  are all familiar with Marionette.
26      We're nice, I promise, but we might not answer right away due to different
27      time zones, time off, etc. So please be patient.
29   4. When you want to ask a question on Element, just go ahead an ask it even if
30      no one appears to be around/responding.
31      Provide lots of detail so that we have a better chance of helping you.
32      If you don't get an answer right away, check again in a few hours --
33      someone may have answered you in the mean time.
35   5. If you're having trouble reaching us over Element, you are welcome to send an
36      email to our [mailing list](index.rst#communication) instead. It's a good
37      idea to include your Element nick in your email message.
39 [Element]: https://chat.mozilla.org
40 [#webdriver:mozilla.org]: https://chat.mozilla.org/#/room/#webdriver:mozilla.org
41 [Bugzilla]: https://bugzilla.mozilla.org/
42 [Mozillians]: https://mozillians.org/
44 ## Getting the code, running tests
46 Follow the documentation on [Contributing](Contributing.md) to get a sense of
47 our projects, and which is of most interest for you. You will also learn how to
48 get the Firefox source code, build your custom Firefox build, and how to run the
49 tests.
51 ## Work on bugs and get code review
53 Once you are familiar with the code of the test harnesses, and the tests you might
54 want to start with your first contribution. The necessary steps to submit and verify
55 your patches are laid out in [Patches](Patches.md).
57 ## Resources
59 * Search Mozilla's code repository with searchfox to find the [code for
60   Marionette] and the [Marionette client/harness].
62 * Another [guide for new contributors].  It has not been updated in a long
63   time but it's a good general resource if you ever get stuck on something.
64   The most relevant sections to you are about Bugzilla, Mercurial, Python and the
65   Development Process.
67 * [Mercurial for Mozillians]
69 * More general resources are available in this little [guide] :maja_zf wrote
70   in 2015 to help a student get started with open source contributions.
72 * Textbook about general open source practices: [Practical Open Source Software Exploration]
74 * If you'd rather use git instead of hg, see [git workflow for
75   Gecko development] and/or [this blog post by :ato].
77 [code for Marionette]: https://searchfox.org/mozilla-central/source/remote/marionette/
78 [Marionette client/harness]: https://searchfox.org/mozilla-central/source/testing/marionette/
79 [guide for new contributors]: https://ateam-bootcamp.readthedocs.org/en/latest/guide/index.html#new-contributor-guide
80 [Mercurial for Mozillians]: https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/index.html
81 [guide]: https://gist.github.com/mjzffr/d2adef328a416081f543
82 [Practical Open Source Software Exploration]: https://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/index.html
83 [git workflow for Gecko development]: https://github.com/glandium/git-cinnabar/wiki/Mozilla:-A-git-workflow-for-Gecko-development
84 [this blog post by :ato]: https://sny.no/2016/03/geckogit