Home | History | Annotate | Download | only in catapult
      1 <!-- Copyright 2015 The Chromium Authors. All rights reserved.
      2      Use of this source code is governed by a BSD-style license that can be
      3      found in the LICENSE file.
      4 -->
      5 # Code of Conduct
      6 
      7 We follow the [Chromium code of conduct](
      8 https://chromium.googlesource.com/chromium/src/+/master/CODE_OF_CONDUCT.md) in
      9 our our repos and organizations, mailing lists, and other communications.
     10 
     11 # Workflow
     12 
     13 Install [depot_tools]
     14 (https://www.chromium.org/developers/how-tos/install-depot-tools).
     15 
     16 Then checkout the catapult repo.
     17 
     18 `git clone https://github.com/catapult-project/catapult.git`
     19 
     20 You can then create a local branch, make and commit your change.
     21 
     22 ```
     23 cd catapult
     24 git checkout -t -b foo origin/master
     25 ... edit files ...
     26 git commit -a -m "New files"
     27 ```
     28 
     29 Once you're ready for a review do:
     30 
     31 `git cl upload`
     32 
     33 Once uploaded you can view the CL in Rietveld and request a review by clicking
     34 the 'publish & mail' link. You can also click the "CQ Dry Run" link to run all
     35 the tests on your change.
     36 
     37 If you get review feedback, edit and commit locally and then do another upload
     38 with the new files. Before you commit you'll want to sync to the tip-of-tree.
     39 You can either merge or rebase, it's up to you.
     40 
     41 Then, submit your changes through the commit queue by checking the "Commit" box.
     42 
     43 Once everything is landed, you can cleanup your branch.
     44 
     45 ```
     46 git checkout master
     47 git branch -D foo
     48 ```
     49 
     50 # Becoming a committer
     51 
     52 If you're new to the chromium-family of projects, you will also need to sign the
     53 chrome contributors license agreement. You can sign the
     54 [Contributor License Agreement]
     55 (https://cla.developers.google.com/about/google-individual?csw=1), which you can
     56 do online.
     57 It only takes a minute. If you are contributing on behalf of a corporation, you
     58 must fill out the [Corporate Contributor License Agreement]
     59 (https://cla.developers.google.com/about/google-corporate?csw=1) and send it to
     60 us as described on that page.
     61 
     62 If you've never submitted code before, you must add your (or your
     63 organization's) name and contact info to the Chromium AUTHORS file.
     64 
     65 Next, ask an admin to add you (see
     66 [adding committers](/docs/adding-committers.md))
     67 
     68 # Contributing from a Chromium checkout
     69 
     70 If you already have catapult checked out as part of a Chromium checkout and want
     71 to edit it in place (instead of having a separate clone of the repository), you
     72 will probably want to disconnect it from gclient at this point so that it
     73 doesn't do strange things on updating. This is done by editing the .gclient file
     74 for your Chromium checkout and adding the following lines:
     75 
     76 ```
     77 'custom_deps': {
     78     'src/third_party/catapult': None,
     79 },
     80 ```
     81 
     82 In order to be able to land patches, you will most likely need to update the
     83 `origin` remote in your catapult checkout to point directly to this GitHub
     84 repository. You can do this by executing the following command inside the
     85 catapult folder (third_party/catapult):
     86 
     87 `git remote set-url origin git (a] github.com:catapult-project/catapult`
     88 
     89 # Code style
     90 
     91 See the [style guide](/docs/style-guide.md).
     92 
     93 # Individual project documentation
     94 
     95 Look to individual project documentation for more info on getting started:
     96    * [perf dashboard](/dashboard/README.md)
     97    * [systrace](/systrace/README.md)
     98    * [telemetry](/telemetry/README.md)
     99    * [trace-viewer](/tracing/README.md)
    100 
    101 # Tests
    102 
    103 Check individual project documentation for instructions on how to run tests.
    104 You can also check the current status of our tests on the
    105 [waterfall](http://build.chromium.org/p/client.catapult/waterfall).
    106 Use the "commit" checkbox in rietveld to commit through the commit queue, which
    107 automatically runs all tests. Run the tests before committing with the
    108 "CQ dry run" link.
    109 
    110 # Updating Chromium's about:tracing (rolling DEPS)
    111 
    112 Chromium's DEPS file needs to be rolled to the catapult revision containing your
    113 change in order for it to appear in Chrome's about:tracing or other
    114 third_party/catapult files. Follow the [directions for rolling DEPS]
    115 (/docs/rolling-deps.md) to do this.
    116 
    117 # Adding a new project
    118 
    119 Please read the [directory structure guide](/docs/directory-structure.md)
    120 to learn the conventions for new directories.
    121