Skip to content

Development

Adam English edited this page Aug 19, 2021 · 26 revisions

CI/CD

Extra dependencies need to be installed in order to run Truvari's CI/CD scripts. These scripts help ensure the tool's quality.

pip install pylint,anybadge,coverage

Check code formatting with

python repo_utils/pylint_maker.py

Test the code and generate a coverage report with

bash repo_utils/truvari_ssshtests.sh

Truvari leverages github actions to perform these checks when new code is pushed to the repository. We've noticed that the actions sometimes hangs through no fault of the code. If this happens, cancel and resubmit the job.

git flow

To organize the commits for the repository, we use git-flow. Therefore, develop is the default branch, the latest tagged release is on master, and new, in-development features are within feature/<name>

When contributing to the code, be sure you're working off of develop and have run git flow init.

More information soon.

versioning

Truvari uses Semantic Versioning. As of v3.0.0, a single version is kept in the code under truvari/__init__:__version__. We try to keep the suffix -dev on the version in the develop branch. When cutting a new release, we either replace the suffix with -rc if we've built a release candidate that may need more testing/development. Once we've committed to a full release that will be pushed to PyPi, no suffix is placed on the version.

docs

The github wiki serves the documentation most relevant too the develop/ branch. When cutting a new release, we freeze and version the wiki's documentation with the helper utility docs/freeze_wiki.sh.

Clone this wiki locally