-
Notifications
You must be signed in to change notification settings - Fork 2
Development
For source code control, issue tracking and documentation we use Git and Github. If you are unfamiliar with Git or Github the Github documentation is a good starting point.
MeqTrees consists of various subprojects and related software packages. You can find a list of the repositories here.
All repositories have a master branch and a devel branch. The master branch is supposed to be stable and should work, but it may contain some features that have not been included in a release yet. The devel branch is used for active development and should only be used by hardcore developers that know what they are doing.
The usage of feature branches that implement a specific feature which are merged with pull requests is encouraged.
Every release for every Meqtrees related software package is a tag of the master repository. Before a release is made you should make sure the package:
- Actually works, the test suite runs
- All version numbers in the repository are set the the to-be-released version
The release can be made on the github repository page.
When a release is made the packages in the Launchpad PPA should be updated. Packaging instructions can be fond here.
At the moment most software packages have no proper test suite, apart from the Meqtrees-cattery batch test. From now on developers are encouraged to start writing unit tests that cover the changes made to the code base. Python has really good support for unittesting.
Every commit to every branch and even pull requests of all related software packages will trigger a Travis test build. The repository is downloaded, optionally compiled and installed, and the test suite is run. This integrates really nicely into Github, and if a test suite will fail you will be notified. Every repository has a .travis.yml file which contain the setup & testing procedure. You can read more about this on the travis documentation page.
The central documentation repository for MeqTrees is this github wiki. It supports various documentation formats, but we prefer MarkDown. More about the wiki syntax.
There is also a MeqTrees Forum, but it is not really used anymore. You can still access it for historical documentation purposes. When accessing the page you may see an "expired certificate" warning when you follow this link, please ignore it and click through.