-
Notifications
You must be signed in to change notification settings - Fork 64
Development Workflow
Dom Heinzeller edited this page Jan 23, 2019
·
19 revisions
- Open an Issue
- Develop new feature or bug fix
- Test! Test! Test!
- Submit Pull Request
- Code Merged to Master
- Post-merge Testing
All development, whether for a new feature, bug fix, re-engineering task, or documentation or data update, MUST begin with opening an issue. An open issue allows for transparency, developer and community input, assignment of the task, and progress tracking.
To open an issue, follow these steps
Coding should take place in a branch, or ideally, in a fork
Prerequisites:
- access to public repositories ccpp-framework, ccpp-physics and FMS (under http://www.github.com/NCAR)
- access to private repositories FV3, NEMS, NEMSfv3gfs (under http://www.github.com/NCAR)
- password-less GitHub access via https from Cheyenne (
How to set up password-less GitHub access on Cheyenne
- search the web for
git config credential.helper store
orgit config credential.helper cache
- make sure to load the git module before making those changes:
module load git/2.10.2
Instructions (on Cheyenne):
- check out the latest version of ccpp-framework from http://www.github.com/NCAR/ccpp-framework
- go to
ccpp-framework/test
and adjust the configuration fileregression_test_nemsfv3gfs_cheyenne.cfg
(see documentation inregression_test_nemsfv3gfs.py
) - load the git module via
. setenv_cheyenne.sh # for bash
source setenv_cheyenne.sh # for csh/tcsh
- (recommended) start a screen session (see https://linuxize.com/post/how-to-use-linux-screen)
- execute
./regression_test_nemsfv3gfs.py --config=regression_test_nemsfv3gfs_cheyenne.cfg
- go for lunch or (recommended setting) a lunchtime run as running the tests will take some time
- once the tests and the run are done, watch out for ... (work in progress)