Page 1 Trilinos Release Improvement Issues Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Trilinos.

Slides:



Advertisements
Similar presentations
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Branching, Switching and tagging Francesco Furfari CNR-ISTI Italy.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Page 1 APP + Trilinos Integration Status, Opportunities, and Challenges Roscoe A. Bartlett Department of Optimization.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Copyright © 2007 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
SAND Number: P Sandia is a multi-program laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
Overview of Git Workflows for CSE Software Trilinos Spring Developers Meeting May 13, 2015 Roscoe A. Bartlett Oak Ridge National Lab Computational Eng.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
SAINT2002 Towards Next Generation January 31, 2002 Ly Sauer Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation,
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Arago Project Creating an Open Integration and Distribution System William Mills
Trilinos User Group Meeting Thursday, November 8 th, 2007 Timothy M. Shead (1424) Danny Dunlavy (1415) SAND P Sandia is a multiprogram laboratory.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
Principles of Scalable HPC System Design March 6, 2012 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
1 Lecture 19 Configuration Management Software Engineering.
Branching. Version Control - Branching A way to write code without affecting the rest of your team Merge branches to integrate your changes.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
EGEE is a project funded by the European Union under contract IST Build Infrastructure & Release Procedures Integration.
Configuration Management Geant4 Review 19 June 2001 Gunter Folger.
Page 1 Embedded Sensitivities and Optimization From Research to Applications Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Page 1 Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part II, Integration Issues) Roscoe A. Bartlett.
Version control Using Git Version control, using Git1.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
QUALITY ASSURANCE PRACTICES. Quality Plan Prepared and approved at the beginning of project Soft filing system approach followed. Filing location – –
SciDAC SSS Quarterly Report Sandia Labs August 27, 2004 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Generalization and externalization of the Trilinos package- based system Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration.
Analysis trains – Status & experience from operation Mihaela Gheata.
Trilinos Framework Update Roscoe A. Bartlett James M. Willenbring Michael N. Phenow Trilinos User Group Monday, October 31st, : :30 am Building.
Page 1 Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
ParaView III Software Methodology Update Where to now November 29, 2006 John Greenfield Sandia is a multiprogram laboratory operated by Sandia Corporation,
Page 1 CMake Trilinos? Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Esteban J. Guillen Department.
SW Development Project 2
Trilinos Framework: Next Steps Thursday November 9, :45-9:30 a.m. Jim Willenbring Mike Phenow.
Page 1 Integration Strategies for Computational Science & Engineering Software Roscoe A. Bartlett Department of Optimization.
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Conclusion of software change The last phase of software change The activities.
1Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems A Roadmap for Sustainable Ecosystems of CSE Software Roscoe.
Process changes: Internal processes of CASA, external contributions, release schedule Mark G. Rawlings, CASA Build & Test Lead NRAO, Charlottesville Acknowledgements:
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
T Project Review Sotanorsu I2 Iteration
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
SciDAC SSS Quarterly Report Sandia Labs January 25, 2005 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Maria Alandes Pradillo, CERN Training on GLUE 2 information validation EGI Technical Forum September 2013.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
ONAP VNF Requirements project Workflow
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Version control, using Git
Change Deployment in ServiceN w
YeahMobi CD Practice based on Container -- openstack meetup
P Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Page 1 Trilinos Release Improvement Issues Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Trilinos Software Engineering Technologies and Integration Lead Sandia National Laboratories Trilinos User Group Meeting, November 5, 2009 Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL P

Page 2 Trilinos Release Improvement Issues Branch early vs. branch late Release-related testing Improved release processes Improved release-related activities Managing late release branching See: Trilinos/doc/DevGuide/TrilinosSoftwareEngineeringImprovements/*.tex

Page 3 Branch Early vs. Branch Late Last minute changes before a release *always* happen: End of FY deliverables Porting work “Cleaning up” (code, documentation, etc.).. Reasons to branch as late as possible: Difficulty merging changes between branches Results in reduced testing of all types (APP Trilinos Integration, nightly testing, etc.) Reasons to give some time between branch and release dates: Buffer for portability problems (3 days should be plenty) Allow for new non-release development activity to continue? => No: These are rare and can be done on a temp local git branches Mitigation strategies for problems with late branching => Stay tuned …

Page 4 Release-Related Testing Create release-like tarballs every night: Mark non-release packages Add a release/non-release column in TriinosPackages.cmake Disabling and excluding non-release code PACKAGE_EXCLUDE_FROM_RELEASE(...). Do installation testing using release-like tarball Untar release tarball (not from working dir) Do installation testing procedure: Build and install headers and libraries Configure tests/examples against installed headers and libs Perform this testing every night Different enable configurations Just one platform should be enough Come release time you are ready to go!

Page 5 Improved Release Process Avoid branching until just days before initial release (3-4 days) Minimize the changes on the release branch (just change one file) Change Trilinos_version.h and that is it! Auto package versioning return “MyPackage in Trilinos “ TRILINOS_VERSION; Minimize changes for minor releases Major bugs only

Page 6 Release-Related Activities Tasks to complete before the release branch is created Implement all functionality for the upcoming release Keep all documentation and examples for “up to date Do all code “clean ups” Define files/dirs to exclude from next release tarball, Promote “Experimental” Code to “Stable” Code weeks before branch date Add new test platforms weeks before branch datea Keep “Stable” code in a releasable state Perform ports and acceptance tests with Trilinos Dev (APP tests). Create the release branch only a few days (3 days max) before putting out release Tasks to complete after the release branch is created Change the version in Trilnos version.h. (All other logic is automatic) Fix serious defects only (Optional) Final round of ports and acceptance tests against APPs Create the final tag. Release the code as the auto-generated tarball. Fix other bugs and do minor releases

Page 7 Managing Late Release Branching Incremental refactoring Develop a new feature “under the hood” Okay to release but users still will not use See “Daily Deployment” in “Extreme Programming: 2 nd edition” Disable new features Just exclude the key files from the release tarball Temporary local git repositories Big changes incompatible with the imminent release

Page 8 Trilinos Release Improvement Issues Branch early vs. branch late Release-related testing Improved release processes Improved release-related activities Managing late release branching See: Trilinos/doc/DevGuide/TrilinosSoftwareEngineeringImprovements/*.tex