-
Check the
TODO.mdandSTYLEGUIDE.mdfiles. -
Fork the
PanDAWMS/pilot2repository into your private account asorigin. Clone it and set thePanDAWMS/pilot2repository asupstream. -
Make new code contributions only to a new branch in your repository, push to
originand make a pull request intoupstream. Depending on the type of contribution this should go against eitherupstream/master,upstream/nextorupstream/hotfix.
Do not submit code that does not conform to the project standards. We use PEP8 and Flake verification, with everything enabled at a maximum line length of 160 characters and McCabe complexity 12:
flake8 pilot.py pilot/
For Python 2.6 you need to install flake8<3.0.0, which can miss a few things. Check the output of TravisCI to verify if you have to use this old version.
The pilot is a dependency-less Python application and relies on /usr/bin/env python. The minimum pilot can be called like:
./pilot.py -q <PANDA_QUEUE> -r <PANDA_RESOURCE> -s <PANDA_SITE>
where QUEUE_NAME correspond to the ATLAS PandaQueue as defined in AGIS etc. This will launch the default generic workflow.
The test cases are implemented as standard Python unittests under directory pilot/test/. They can be discovered and executed automatically:
unit2 -v
-
Install
sphinxinto your environment bypipor other means with all the necessary requirements. -
Navigate into
./docin your fork and runmake html. -
Open
_build/html/index.htmlwith your browser.
Add the following lines somewhere in the documentation:
.. automodule:: your.module
:members:
For more info, visit http://sphinx-doc.org
Before making a pull request, make sure that you are synced to the latest version.
- git clone https://github.com/USERNAME/pilot2.git
- cd pilot2
- git checkout next
- git remote -v
- git remote add upstream https://github.com/PanDAWMS/pilot2.git
- git fetch upstream
- git merge upstream/next