Continuous Integration for Concurrent MOOSE Framework and Application Development on GitHub

Authors

  • Andrew E. Slaughter Modeling and Simulation Department, Idaho National Laboratory
  • John W. Peterson Modeling and Simulation Department, Idaho National Laboratory
  • Derek R. Gaston Modeling and Simulation Department, Idaho National Laboratory
  • Cody J. Permann Modeling and Simulation Department, Idaho National Laboratory
  • David Andrš Modeling and Simulation Department, Idaho National Laboratory
  • Jason M. Miller Modeling and Simulation Department, Idaho National Laboratory

DOI:

https://doi.org/10.5334/jors.bx

Keywords:

continuous integration, github, multiphysics

Abstract

For the past several years, Idaho National Laboratory’s MOOSE framework team has employed modern software engineering techniques (continuous integration, joint application/framework source code repos- itories, automated regression testing, etc.) in developing closed-source multiphysics simulation software (Gaston et al., Journal of Open Research Software vol. 2, article e10, 2014). In March 2014, the MOOSE framework was released under an open source license on GitHub, significantly expanding and diversifying the pool of current active and potential future contributors on the project. Despite this recent growth, the same philosophy of concurrent framework and application development continues to guide the project’s development roadmap. Several specific practices, including techniques for managing multiple repositories, conducting automated regression testing, and implementing a cascading build process are discussed in this short paper. Special attention is given to describing the manner in which these practices naturally synergize with the GitHub API and GitHub-specific features such as issue tracking, Pull Requests, and project forks.

Downloads

Published

2015-11-20