======================================================
Getting Started Contributing to non-kernel KUnit repos
======================================================

This page is for contributing code to repos that live outside of
https://git.kernel.org.

You most likely want to contribute to KUnit in upstream Linux directly, see
:doc:`start`.

Why is there a difference?
--------------------------

The Linux kernel has been around a lot longer than KUnit, and thus has rules
that we have no say on. However, any code that lives outside of the kernel is
managed by Google; it's open source and everyone has equal right to it, but
because it is under the Google umbrella and not the Linux Foundation's umbrella
it means that there are certain rules we have to follow in one place, and
different rules in the other.

The details are not important, all you have to know is that if you send code to
the Linux kernel you should follow the rules above, and if you are contributing
to any other KUnit repos, you should follow the rules here.

If you still have confusion, feel free to reach out to us.

Sign the Contributor License Agreement
--------------------------------------

For any contributions not sent directly to the Linux kernel via the Linux
kernel mailing lists, we require contributors to sign our Contributor License
Agreement (CLA).

You may sign our CLA here: https://cla.developers.google.com/

.. note::
   Your company may already have a CLA on file with Google.

Submitting Changes
------------------

We use `Gerrit <https://kunit-review.googlesource.com>`_ for all non-upstream
code reviews.

In order for Gerrit to accept your change, you must first make sure your commit
messages are formatted correctly. It should have a:

- ``Change-Id`` - see
  https://gerrit-review.googlesource.com/Documentation/user-changeid.html for
  more information.
- ``Signed-off-by`` - see
  https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin

Now you are ready to send your change for review:

.. code-block:: bash

   git push -u origin HEAD:refs/for/master

For more information on submitting changes through Gerrit, please see the
following section :doc:`gerrit-workflow`.
