CONTRIBUTING.md

LHCbDIRAC is the LHCb extension of DIRAC.
Repository structure
Due to the fact that we support only the production and the development versions, only 2 branchs are present: master, and devel.
- master is the stable branch. Production tags are created starting from this branch.
- devel is the development branch. Tags created starting from this branch are subject to a certification process.
The following diagram highlights the interactions between the branches and the merging and tagging strategy:
Repositories
Developers should have 2 remote repositories (which is the typical GitHub/GitLab workflow):
- origin : cloned from your private fork done on GitLab
- upstream : add it via git remote add upstream and pointing to the blessed repository (https://gitlab.cern.ch/lhcb-dirac/LHCbDIRAC.git)
a full explanation of actions can be found in this KB
Issue Tracking
Issue tracking for the project is LHCbDIRAC JIRA.
Code quality
The contributions are subject to reviews.
Pylint is run regularly on the source code. The .pylintrc file defines the expected coding rules and peculiarities (e.g.: tabs consists of 2 spaces instead of 4)
Testing
Unit tests are provided within the source code. Integration, regression and system tests are instead in the tests directory.
Packages
On top of what's required for DIRAC, LHCbDIRAC needs uproot
, LbPlatformUtils
and LbEnv
. These can be found from either PyPI or conda-forge.