Thank you for taking the time to contribute to Micro-MoB (Microsimulation for Mosquito-Borne pathogens).
Issues
If you find a bug, have a question about how to use a feature that does not have sufficient documentation, or have a suggestion for improvement, please leave an issue at our GitHub repo.
For bug reports please include:
- Micro-MoB version
- Operating System
- R version
- Steps to recreate
- Expected behaviour
- Actual behaviour
Git
We use Git on this project. Which means we use main
,
dev
, feat/*
, bug/*
, and
hotfix/*
branches. Please refer to this
post for more information of each type of branch.
-
main
: this branch always stores the last “production” release of the software, and is a protected branch. A pull request should not be submitted tomain
unless it is fromdev
, meaning that the software version should be updated. -
dev
: all pull requests from users should be made to thedev
branch. This branch is protected from deletion. -
feat
: new and significantly enhanced features are made infeat
branches before being merged withdev
. After afeat/*
branch is merged withdev
, it can be deleted. -
bug
: these branches fix bugs, usually after being raised as an issue. After abug/*
branch is merged withdev
, it can be deleted. -
hotfix
: the difference between abug/*
andhotfix/*
branch ishotfix
is for small quick fixes (misspellings, incorrect arguments, etc.) and are short-lived. After being merged withdev
, they can be deleted.
We periodically merge dev
into main
for
small release updates. These releases will appear on the GitHub releases
page.
Continuous integration
We use GitHub Actions as our continuous integration platform to run workflows. The workflows we use are from r-lib/actions for R packages.
We run three types of workflows.
R
CMD check runs during any pull request to [main, dev]
branches.
Test
coverage runs during pull requests to [main, dev]
and
uses our codecov.io
integration for checking test coverage.
Finally, pkgdown
only runs on pushes to main
, which will occur when
dev
is merged with main
periodically.
Please note that sometimes hard to diagnose bugs can be due to out of date workflows. If you find a strange or unusual bug coming from a workflow, this is something to consider checking.