We welcome your contributions, questions and issues regarding Wirepas Mesh software.
If you are one of our licensees, our support channels are available to you, otherwise please send your inquiries to [email protected].
We are working on porting our tests to github and we will update this section later in the future.
We appreciate if you can provide a simple example on how to validate your change.
Before preparing your commit, be sure to install the developers tools. The developers tools consist of a set of style configuration files and a pre-commit configuration file (.pre-commit-config.yaml).
Files are stored in the manifest repository. For your convenience, execute
.ci/install-devtools.sh
to pull down all the necessary style and configuration files. The script won't touch your environment, thus you will still need to install other host and language requirements.
Python dependencies are specified in dev-requirements.txt and installable with pip
pip install dev-requirements.txt
On your pull request, we would like you to use atomic commits with a clear log message such as:
$ git commit
"
Change title
A paragraph describing what this change introduces and what it aims
to fix. Is should also mention any issue or pull request that it
addresses, for example, closes issue #4.
"
One liners are acceptable if the change is very minimal.
For merging strategies, pick either squash and merge or rebase and merge. The strategy depends on the nature of the pull request. If the pull request contains several commits that would make sense to keep separated in the master history, please use rebase and merge. Otherwise, pick squash and merge.
We would like to keep the branches under order. Please try to observe the following rules:
-
feature-<name> : for a branch related to feature name
-
fix-<name> : for a branch that addresses the name bug
-
update-<name> : for a branch that aims to update name documentation or supporting name files
-
add-<name> : for a branch that aims to add configuration file for an integration/tool name
Here are a couple of ground rules:
-
We indent with spaces
-
We use Linux line endings
-
We use Black and flake8 for python code (automated checks on PR)
-
We use shellcheck for shell scripts (automated checks on PR)
-
We use clang-format to enforce coding style
-
We don't add a "/" on folder path variables
✔️ TARGET_FOLDER=example/folder
✖️ TARGET_FOLDER=example/folder/