skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A self-referential HOWTO on release engineering

Abstract

Release engineering is a fundamental part of the software development cycle: it is the point at which quality control is exercised and bug fixes are integrated. The way in which software is released also gives the end user her first experience of a software package, while in scientific computing release engineering can guarantee reproducibility. For these reasons and others, the release process is a good indicator of the maturity and organization of a development team. Software teams often do not put in place a release process at the beginning. This is unfortunate because the team does not have early and continuous execution of test suites, and it does not exercise the software in the same conditions as the end users. I describe an approach to release engineering based on the software tools developed and used by the GNU project, together with several specific proposals related to packaging and distribution. I do this in a step-by-step manner, demonstrating how this very paper is written and built using proper release engineering methods. Because many aspects of release engineering are not exercised in the building of the paper, the accompanying software repository also contains examples of software libraries.

Authors:
 [1]
  1. Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
Publication Date:
Research Org.:
Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1419718
Report Number(s):
LA-UR-14-21151
DOE Contract Number:
AC52-06NA25396
Resource Type:
Technical Report
Country of Publication:
United States
Language:
English
Subject:
42 ENGINEERING; 97 MATHEMATICS AND COMPUTING; Computer Science; software engineering release engineering

Citation Formats

Galassi, Mark C. A self-referential HOWTO on release engineering. United States: N. p., 2018. Web. doi:10.2172/1419718.
Galassi, Mark C. A self-referential HOWTO on release engineering. United States. doi:10.2172/1419718.
Galassi, Mark C. Wed . "A self-referential HOWTO on release engineering". United States. doi:10.2172/1419718. https://www.osti.gov/servlets/purl/1419718.
@article{osti_1419718,
title = {A self-referential HOWTO on release engineering},
author = {Galassi, Mark C.},
abstractNote = {Release engineering is a fundamental part of the software development cycle: it is the point at which quality control is exercised and bug fixes are integrated. The way in which software is released also gives the end user her first experience of a software package, while in scientific computing release engineering can guarantee reproducibility. For these reasons and others, the release process is a good indicator of the maturity and organization of a development team. Software teams often do not put in place a release process at the beginning. This is unfortunate because the team does not have early and continuous execution of test suites, and it does not exercise the software in the same conditions as the end users. I describe an approach to release engineering based on the software tools developed and used by the GNU project, together with several specific proposals related to packaging and distribution. I do this in a step-by-step manner, demonstrating how this very paper is written and built using proper release engineering methods. Because many aspects of release engineering are not exercised in the building of the paper, the accompanying software repository also contains examples of software libraries.},
doi = {10.2172/1419718},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Wed Jan 31 00:00:00 EST 2018},
month = {Wed Jan 31 00:00:00 EST 2018}
}

Technical Report:

Save / Share: