Warning, /pilot2/README.md is written in an unsupported language. File is not indexed.
0001 # PanDA Pilot 2
0002
0003 ## Contributions
0004
0005 1. Check the ``TODO.md`` and ``STYLEGUIDE.md`` files.
0006
0007 2. Fork the ``PanDAWMS/pilot2`` repository into your private account as ``origin``. Clone it and set the ``PanDAWMS/pilot2`` repository as ``upstream``.
0008
0009 3. Make new code contributions only to a new branch in your repository, push to ``origin`` and make a pull request into ``upstream``. Depending on the type of contribution this should go yo either ``upstream/next`` or ``upstream/hotfix``.
0010 Any pull requests directly to the master branch will be rejected since that would trigger the automatic pilot tarball creation.
0011 ## Verifying code correctness
0012
0013 Do not submit code that does not conform to the project standards. We use PEP8 and Flake verification, with everything
0014 enabled at a maximum line length of 160 characters and McCabe complexity 12, as well Pylint:
0015
0016 flake8 pilot.py pilot/
0017 pylint <path to pilot module>
0018
0019 ## Running the pilot
0020
0021 The pilot is a dependency-less Python application and relies on ``/usr/bin/env python``. The minimum pilot can be called like:
0022
0023 ./pilot.py -q <PANDA_QUEUE>
0024
0025 where ``PANDA_QUEUE`` correspond to the ATLAS PandaQueue as defined in AGIS. This will launch the default ``generic`` workflow.
0026
0027 ## Running the testcases
0028
0029 The test cases are implemented as standard Python unittests under directory ``pilot/test/``. They can be discovered and executed automatically:
0030
0031 unit2 -v
0032
0033 ## Building and viewing docs
0034
0035 1. Install ``sphinx`` into your environment by ``pip`` or other means with all the necessary requirements.
0036
0037 2. Navigate into ``./doc`` in your fork and run ``make html``.
0038
0039 3. Open ``_build/html/index.html`` with your browser.
0040
0041 ### Automate documentation to your module
0042
0043 For automatic code documentation of any new pilot module, add the following lines to the corresponding rst file in the doc area:
0044
0045 .. automodule:: your.module
0046 :members:
0047
0048 See existing rst files. For more info, visit http://sphinx-doc.org
0049
0050 ### Syncing your GitHub repository
0051
0052 Before making a pull request, make sure that you are synced to the latest version.
0053
0054 1. git clone https://github.com/USERNAME/pilot2.git
0055 2. cd pilot2
0056 3. git checkout next
0057 4. git remote -v
0058 5. git remote add upstream https://github.com/PanDAWMS/pilot2.git
0059 6. git fetch upstream
0060 7. git merge upstream/next