DOE OSTI · 1419718
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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Galassi, Mark C.. 2018-01-31. A self-referential HOWTO on release engineering. https://doi.org/10.2172/1419718
Cite the original work for its findings. Save a collection to share your selection of sources.