-
Notifications
You must be signed in to change notification settings - Fork 36
DeveloperGuide
This Guide is intended for OpenMalaria Developers (original by @tph-thuering) It contains notes regarding Continuous Integration with github
Use semantic versioning as follows:
"schema-MAJOR.MINOR.PATCH" for example: schema-33.0.1
- Increase MAJOR number when the XML is changed or there are bigger changes to OpenMalaria
- Increase MINOR number when a small feature is added without changes to the XML
- Increase PATCH number for bugfixes
The file version.txt should reflect the version. Use "schema-MAJOR-dev" when working on a major feature, while MAJOR is the next version and remove "-dev" after finishing. Or use "schema-MAJOR.MINOR-dev" when working on a minor feature. Bugfixes can still use "schema-MAJOR.MINOR" while working in a separate branch, but must be updated to "schema-MAJOR.MINOR.PATCH" once this branch gets merged to develop or a schema-branch.
If you want to work on a new feature, please create a new feature-branch from master or develop depending on urgency and other features.
git checkout master
git checkout -b "YOUR_FEATURE_BRANCH_NAME"
"Do work here"
git commit
git push "YOUR_FEATURE_BRANCH_NAME"
Once you have a new feature ready you can merge it to a MAJOR branch (named "schema-NUMBER").
If you have implemented a new feature or a bugfix, update the version like this:
echo "schema-33.1" > version.txt
git add version.txt
git commit -m "Bump version to schema-33.1"
git tag schema-33.1
git push --tags
This will create an openMalaria-binary for download. (This means you don't have to build manually anymore).
If a tag is pushed to our github repository, the following happens:
(ci = Continuous Integration Service, travis-ci for Linux and OS X, appveyor for Windows)
- ci checks out our repository and tries to build it
- ci runs unittests and scenario tests and gives feedback
- ci will upload the build (if successful) to github releases if a tagged commit is successful.
For example see this build for a bugfix (schema-33.0.1): https://travis-ci.org/SwissTPH/openmalaria/builds/71915483#L528
Currently (2015-07-20) builds are Linux-only.
We are working on integration of OS X builds and Windows as well. For more information see: Build infrastructure Milestone
- User Guide
- Compilation Guide
- Developer Guide
- Schema Update Guide
- Scenario Design Guide
- Monitoring Guide
- Changelog
- XML: Example Scenario
- XSD: Schema Documentation
- Human demography
- Transmission and EIR
- Parasite dynamics within humans
- P vivax dynamics
- Vector bionomics and transmission to humans
- Mosquito population dynamics
- Clinical (illness) models
- Time in the models
- Elimination