100 likes | 104 Views
Learn about the software engineering infrastructure and release process for VisIt software, a high-quality tool with customer support.
E N D
VisIt Software Engineering Infrastructure and Release Process www.vacet.org Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA 94551 This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 LLNL-PRES-429115
Problem: • Provide high quality tools and customer support for SciDAC customers • Solution: • Follow best in class software quality assurance (SQA) practices • Provide multiple mechanisms for customers to get customer support • Impact • We have provided a mechanism for customer to get support in a manner that best suites them • We have SQA practices that ensure quality tools www.vacet.org
VACET supports the VisIt user community • E-mail lists at ORNL are supported by VACET personnel (visit-users, visit-developers, visit-help-scidac) www.vacet.org
Visitusers.org provides documentation for users and developers • User documentation • Basic information about using VisIt • Information about getting your data into VisIt • Sample python scripts • Developer documentation • Software engineering practices • Design documentation • Development practices www.vacet.org
VACET supports source code repository • The VisIt SVN repository is provided by the SciDAC Outreach Center in combination with VACET www.vacet.org
VisIt regression suite ensures new bugs don’t get introduced • Test suite is run nightly • Run in 3 modes • Serial • Parallel • Scalable, parallel, icet • Serial & parallel expect exact matches • Scalable, parallel, icet allows an approximate match • Ability to have mode specific test results • Ability to skip tests www.vacet.org
Regression suite allows multiple levels of drill down to easily find failures www.vacet.org
VACET is working on a continuous integration system that will continuously build and test VisIt • It will test the building from scratch VisIt and all its third party libraries • It will run the regression suite and post the results on a web page • It will run on lots of platforms instead of just a narrow range of platforms as we do now www.vacet.org
VisIt Releases – Software Configuration Management • Tag the release to create the release candidate (RC) • Fixes for the release go on the RC • RC changes get merged to the trunk • When version ready we tag the release • Bug fix releases come from the RC 2.0.0 2.0.1 4 6 9 11 13 2.0RC 2.0RC 0 1 2 3 5 7 8 10 12 14 Trunk www.vacet.org
VisIt Releases – Steps to create a release • Create the release candidate once the new features are complete • Do the following concurrently until the code is ready to release: • Ensure our test suite passes in all 3 modes • Correct bugs on the release candidate • Build and test on our supported platforms • Gather release notes • Build the binary distributions (automated scripts for many platforms) • Release test the binary distributions • Release the new version (update the web site, send out an e-mail announcement) www.vacet.org