-
Check the
TODO.mdandSTYLEGUIDE.mdfiles. -
Fork the
PanDAWMS/pilot3repository into your private account asorigin. Clone it and set thePanDAWMS/pilot3repository 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 to eitherupstream/nextorupstream/hotfix. Any pull requests directly to the master branch will be rejected since that would trigger the automatic pilot tarball creation.
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, as well Pylint:
flake8 pilot.py pilot/
pylint <path to pilot module>
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>
where PANDA_QUEUE correspond to the ATLAS PandaQueue as defined in AGIS. 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:
python3 -m unittest
To run the unit test on an individual module, use e.g.
python3 -m unittest -v pilot/test/test_copytools_mv.py
-
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.
For automatic code documentation of any new pilot module, add the following lines to the corresponding rst file in the doc area:
.. automodule:: your.module
:members:
See existing rst files. 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/pilot3.git
- cd pilot3
- git checkout next
- git remote -v
- git remote add upstream https://github.com/PanDAWMS/pilot3.git
- git fetch upstream
- git merge upstream/next