From Fedora Project Wiki

m (→‎Getting the Code: Insert missing verb)
No edit summary
Line 48: Line 48:


After that, just run <code>yum install arcanist</code> to install arcanist.
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 ===
=== Arcanist Setup ===

Revision as of 12:28, 21 October 2014

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

At the time of this writing, the only way to submit code reviews is to use phabricator's cli tool, arcanist.

Installing Arcanist

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:

sudo curl http://repos.fedorapeople.org/repos/tflink/phabricator/fedora-phabricator.repo -o /etc/yum.repos.d/fedora-phabricator.repo

After that, just run yum install arcanist to install arcanist.

As we are using code linting, you will also need the flake8 tool - run sudo yum install python-flake8 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 arc install-certificate

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 arc diff command. More detailed instructions are available in the arcanist user guide.


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