Skip to content

Development Workflow

Dom Heinzeller edited this page Jan 23, 2019 · 19 revisions

Table of Contents

  1. Open an Issue
  2. Develop new feature or bug fix
  3. Test! Test! Test!
  4. Submit Pull Request
  5. Code Merged to Master
  6. Post-merge Testing

Open an Issue

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

Develop new feature or bug fix

Coding should take place in a branch, or ideally, in a fork

Test Test Test

NEMSfv3gfs regression testing on Cheyenne (work in progress)

Prerequisites:

How to set up password-less GitHub access on Cheyenne

  • search the web for git config credential.helper store or git 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 file regression_test_nemsfv3gfs_cheyenne.cfg
    (see documentation in regression_test_nemsfv3gfs.py)
  • load the git module via
. setenv_cheyenne.sh       # for bash
source setenv_cheyenne.sh  # for csh/tcsh
./regression_test_nemsfv3gfs.py --config=regression_test_nemsfv3gfs_cheyenne.cfg

Submit Pull Request

Code Merged to Master

Post-merge Testing

Clone this wiki locally