-
Notifications
You must be signed in to change notification settings - Fork 56
Developer Notes
Proteus uses Git branches to coordinate development and to track "stable" tests of our builds. Recall that branches are just lightweight pointers to individual commits. We provide a list of the branches used by the various repositories and what they mean.
The HashDist project is a USACE-sponsored tool for managing the development of isolated software profiles. There are three branches to be aware of:
Branch | Purpose | Descends From | Use |
---|---|---|---|
master | Development | New features go here, sometimes before being tested on every system | |
stable/cygwin | Stable | master | Last known working build on Cygwin, tracking branch |
stable/garnet | Stable | master | Last known working build on the Garnet supercomputer, tracking branch |
The HashStack project is a USACE-sponsored collection of known working profiles for a variety of packages in scientific computing, with a focus on those needed for high performance computation of numerical simulations using Python. The branch structure mirrors HashDist.
Branch | Purpose | Descends From | Use |
---|---|---|---|
master | Development | New features go here, sometimes before being tested on every system | |
stable/cygwin | Stable | master | Last known working profiles on Cygwin, tracking branch |
stable/garnet | Stable | master | Last known working profiles on the Garnet supercomputer, tracking branch |
The ERDC-CM HashStack-Private repository is a private downstream repository of the publicly available HashStack repository. This repository contains packages which are currently not available for public redistribution. ROAMS developers should first consider placing their changes in the public upstream repositories.
Branch | Purpose | Descends From | Use |
---|---|---|---|
roams | Stable | HashStack stable/cygwin | New ROAMS packages and profile development goes here. |
Proteus is a public Python package for rapidly developing computer models and numerical methods. The master branch descends from the public master branches of the HashDist and HashStack repositories. There are a few situations where it is advantageous to build or contribute to other Proteus branches.
Branch | Purpose | Descends From | Use |
---|---|---|---|
master | Development | New features go here, sometimes before being tested on every system | |
stable/cygwin | Stable | master | Last known working profiles on Cygwin, uses HashDist/HashStack stable/cygwin branches |
stable/garnet | Stable | master | Last known working profiles on the Garnet supercomputer, uses HashDist/HashStack stable/garnet branches |
roams-hashstack | Stable | stable/cygwin | Uses HashStack-private roams branch. |
Proteus has a collection of unit tests to prevent regressions in the code base. Developers should include tests whenever developing new features and add tests whenever a bug in the code is found. To run the test suite, go to the test directory of interest and run the command nosetests . -vv
.