salt-wrapper developer manual¶
This manual covers all you need to develop for a Nasqueron software, with the relevant aspects specific to salt-wrapper.
Note
Nasqueron development servers have already those software installed. Ask an access if you wish to get directly a working environment.
Contribution workflow¶
You’ll find at https://agora.nasqueron.org/How_to_contribute_code a comprehensive guide.
- In a nutshell:
- from the master branch, create a new Git branch for the fix
- craft one commit (if you need to edit it, use
git commit --amend
) - send this commit to our code review system with
arc diff
If you don’t have Arcanist installed, you can instead open a pull request on GitHub, if you submit a small fix like fix a typo.
If you’ve several changes to submit, prepare distinct branches, one per change.
Arcanist configuration¶
Shellcheck¶
Arcanist is configured to lint the shell code with shellcheck.
Shellcheck installation¶
You first need to install shellcheck through your package manager,
of if it’s not available for your OS/distro with cabal install shellcheck
.
On FreeBSD, the package name is in CamelCase: pkg install hs-ShellCheck
.
Shellcheck Arcanist linter installation¶
Clone the linter repository in the same folder where you’ve Arcanist and libphutil.
For example, if you’ve Arcanist installed as /opt/phabricator/arcanist
,
you can install the linter as /opt/phabricator/shellcheck-linter
.
$ cd /opt/phabricator
$ git clone https://devcentral.nasqueron.org/source/shellcheck-linter.git
Python linters¶
You need pep8
and flake8
commands, for Python 3.
Warning
Most Nasqueron software use Python 3, and not Python 2. As such, linter tools must also be for Python 3.
Install directly the software¶
$ pip3 install flake8 pep8
Use a virtualenv instead¶
If you need to develop for Python 2 and Python 3, the easiest road is through a Python virtual environment.
To create one:
$ python3 -m venv ~/dev/python/general3
$ source ~/dev/python/general3/activate # use activate.csh for tcsh
$ pip install flake8 pep8