Sustainable scientific software through multi-project CI/CD
BSSw Fellow Ryan Richard is looking to simplify the process of using continuous integration/continuous deployment (CI/CD) across multi-project organizations. As scientific software becomes more modular, many development teams are increasingly developing and maintaining multiple projects. Adhering to best practices in software engineering means that each of these projects will rely on a CI/CD pipeline to ensure correctness, reliability, and an adherence to community standards. Since these projects are often managed by a common development team, many aspects of the CI/CD pipelines will be shared across the projects. In the spirit of treating infrastructure as code, developers should avoid duplicating CI/CD infrastructure across projects. Via a series of workshops, Ryan intends to survey the community and learn what techniques CI/CD maintainers are already using to avoid CI/CD infrastructure duplication. Based on these workshops, Ryan will then prepare tutorials and other resources designed to aid the broader community in maintaining CI/CD pipelines for their multi-project organizations.
Ryan is a scientist in the Chemical and Biological Sciences Division of Ames National Laboratory and an Adjunct Assistant Professor of Chemistry at Iowa State University. Ryan’s primary research interests are design/development of sustainable scientific software, high-performance computing, and high-accuracy quantum chemistry method development.