Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Git and Github
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 (i.e. strings printed such as "version XYZ") are set the the to-be-released version
The release can be made on the github repository page (Releases | Draft new release ...)
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.
Documentation & Wiki
The old repositories can be found here.