From Fedora Project Wiki

(arcanist instructions moved to phab)
Line 36: Line 36:


== Arcanist ==
== Arcanist ==
At the time of this writing, the only way to submit code reviews is to use phabricator's cli tool, [http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide.html arcanist].


=== Installing Arcanist ===
For instructions on installing and using the 'Arcanist' tool to submit changes for review, see [https://phab.qadevel.cloud.fedoraproject.org/w/contributing/ the Contributing page on the Phab wiki].
{{admon/important|Use the Provided Packages|Do not install arcanist using the upstream installation guide. This will install whatever code is in git and may not match the phabricator server we are using.}}
 
There are phabricator related packages available for Fedora in a siderepo and you'll need to enable this siderepo before installing arcanist:
 
<pre>
sudo curl https://repos.fedorapeople.org/repos/tflink/phabricator/fedora-phabricator.repo -o /etc/yum.repos.d/fedora-phabricator.repo
</pre>
 
After that, just run <code>yum install arcanist</code> to install arcanist.
 
As we are using code linting, you will also need the flake8 tool - run <code>sudo yum install python-flake8</code> to install it.
 
=== Arcanist Setup ===
 
In order to communicate with the phabricator instance, arcanist needs to have a certificate associated with your phabricator user. The easiest way to configure this is to clone the libtaskotron repo and from the checkout, execute <code>arc install-certificate</code>
 
You will be prompted to visit a link for a generated certificate used for api calls. After visiting that link and logging into phabricator, you will see a string of characters in a text box. Copy those characters and paste them into the arc prompt.
 
=== Submitting a Code Review ===
 
In short, code reviews are submitted through arcanist to phabricator through the <code>arc diff</code> command. More detailed instructions are available in the [http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide_arc_diff.html arcanist user guide].


As we are using code linting, you will also need the flake8 tool - run {{code|sudo dnf install python-flake8}} to install it.


= General Thoughts and Conventions =
= General Thoughts and Conventions =

Revision as of 07:05, 6 February 2016

This is an initial guide to getting started with contributing to taskotron, please let us know if you find any errors in this document or if something doesn't make sense

Introduction

Getting the Code

For now, all taskotron related code is on bitbucket. You can find most of the needed repositories under the fedoraqa team.

Other repos which are potentially of interest are:

If you need team membership, send a message out to qa-devel@ or file a ticket in phabricator against the infrastructure project.

Getting the Tools

A general list of the tools we are using (read: should be installed on dev machines) and available in the Fedora repos are:

  • git
  • py.test
  • gitflow


gitflow

Gitflow is a git branching strategy that has been used successfully in the blocker tracking app and several Fedora infra apps.

Use the develop branch
When using gitflow, the current in-development branch is develop, not master. Be careful not to start developing against an older branch

Arcanist

For instructions on installing and using the 'Arcanist' tool to submit changes for review, see the Contributing page on the Phab wiki.

As we are using code linting, you will also need the flake8 tool - run sudo dnf install python-flake8 to install it.

General Thoughts and Conventions

These will be fleshed out more in the near future but in general:

  • Be smart
  • All code going into develop branches **MUST** be reviewed
  • All code should have good unit tests where appropriate
    • When in doubt, ask