Gaudi software release procedures

Slides:



Advertisements
Similar presentations
Version Control System (Sub)Version Control (SVN).
Advertisements

2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Concurrent Versioning System Chapter 8 (ALBING’s).
Version Control Systems Phil Pratt-Szeliga Fall 2010.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
When will our bugs be fixed? When will our new features be added? When will the next release come out? Is my server up-to-date? Users Committers Program.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
1 CMPT 275 Software Engineering Revision Control.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
1 Lecture 19 Configuration Management Software Engineering.
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
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.
Version control Using Git Version control, using Git1.
Overview of LHCb applications and software environment LHCb software tutorial - March
Drexel University Software Engineering Research Group Git for SE101 1.
Chris Onions Getting started with CVS in ATLAS 11 Getting started with CVS in ATLAS Chris Onions (Tutorial based on that of Raúl Ramos Pollán CERN / IT.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Composer packages Installing and Using Composer, Packagist, Packaging your code Mario Peshev Technical Trainer Software University
The report on the current situation of the BESIII framework zhangxiaomei maqiumei 10/3/2004.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
CSE 219 Computer Science III CVS
Microsoft Visual SourceSafe “(VSS) does not eliminate the need for discipline and coordination. It only makes discipline and coordination easier to live.
Marco Cattaneo, 19-June Building and running software on WNT with Visual Studio and CMT A step by step recipe.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Team-Oriented Development with CVS and Eclipse Presented June 9, 2004 Manchester Java Users Group Meeting By Gregory C. Larkin.
CPSC 871 John D. McGregor Change management Module 2 Session 3.
Intro to Git presented by Brian K. Vagnini Hosted by.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Version Control System
2136 Gallows Road, Suite F, Dunn Loring, VA Phone: Fax: Business Analyst Training 1 Module 5.2 Rational ClearCase.
10/2/2000LHCb Computing, CHEP Use of Configuration Management tool in LHCb software J. Harvey, P. Mato, F. Ranjard CERN (Switzerland)
Version Control and SVN ECE 297. Why Do We Need Version Control?
Slide 1 Running NEMO at ECMWF Slide 1 NEMO under Perforce at ECMWF Kristian S. Mogensen Last revised:
Recitation 2: Abhijit Warkhedi2/25/20161 Today’s Agenda u CVS u GDB.
CERN Tutorial, September Overview of LHCb applications and software environment.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
20 October 2005 LCG Generator Services monthly meeting, CERN Validation of GENSER & News on GENSER Alexander Toropin LCG Generator Services monthly meeting.
Bologna Tutorial, June Overview of LHCb applications and software environment.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Use of CMT in LHCb CMT Workshop, LAL (Orsay) 28 th February - 1 st March 2002 P. Mato / CERN.
SWIM Project Meeting, Bloomington, IN September 2006 Working with the SWIM Code Repository David E. Bernholdt Oak Ridge National Laboratory
Getting Started with Linux
Software Configuration Management -Subversion- RTLAB YuJin Park.
Information Systems and Network Engineering Laboratory II
Software Packaging and Releasing
SVN intro (review).
Configuration and Build System
Subversion Reasons to use How it works Subversion important commands
Version control, using Git
CVS revisions UML diagram
Overview of LHCb applications and software environment
Version Control System
Microsoft Visual Source Safe How & Why
CVS Concurrent Versioning System
SICB under CMT Why? What is CMT? How to work with CMT? Package layout
What’s new in version 5 of GAUDI
CSE 303 Concepts and Tools for Software Development
Git CS Fall 2018.
Amandeep Jawa Worker Bee Software
Prof. Hilfinger CS164 Lecture 4
Git Introduction.
Outline Announcements: Version control with CVS HW II due today!
Presentation transcript:

Gaudi software release procedures Production releases Bug-fix releases Development releases Marco Cattaneo, 7-Apr-2000

Production Releases Periodic public, tested, release of all Gaudi and related packages, including Source code Libraries for Linux and WNT Complete documentation (GUG, code, examples) Latest released version becomes recommended default for all users used in Gaudi dependency tree $LHCBSOFT/Gaudi/v6 GaudiExamples v6 uses GaudiSvc v1 /v5 GaudiSvc v1 uses Gaudi v6 : /GaudiSvc/v1 /GaudiExamples/v6 /v5 Marco Cattaneo, 7-Apr-2000

Bug fix releases Done whenever bugs need to be fixed Only for the specific package that needs to be fixed No added functionality relative to major release Tagged with a minor version number e.g. GaudiSvc v1r1 Release includes source code and libraries in $LHCBSOFT $LHCBSOFT/GaudiSvc/v1r1 /v1 Other released packages not modified Must be used explicitly in your requirements file: use GaudiSvc v1r1 CMT knows minor version is compatible with major version, so does not complain if other used packages are in turn using v1 version Marco Cattaneo, 7-Apr-2000

CVS repository: On CVS, bug fixes are applied to a branch When a bug is fixed, it should be committed to the bug fix branch AND to the head revision, together with updated /doc/release.notes e.g. all GaudiSvc v1 fixes should go to v1r0 branch getpack GaudiSvc v1r0, make xyz fix, cvs commit -m ‘xyz bug fix’ It is responsibility of developer to also put the bug fixes on the head revision getpack GaudiSvc v1 head, make xyz fix, cvs commit -m ‘xyz bug fix’ When it is decided to make a bug fix release, librarian tags the branch with the release tag e.g v1r1, v1r2 etc. h1 - h2 - v1 - h3 - h4 - h5 - v2 main branch | / / v1r0 - v1r1 - v1r2 bug-fix branch Marco Cattaneo, 7-Apr-2000

Development releases $LHCBDEV area in AFS, parallel to $LHCBSOFT On regular basis (whenever there is something new), head revision of packages is tagged and built in this area For both NT and Linux Tag reflects the date of the build e.g. today’s tag is h000407 Directory structure: $LHCBDEV/Gaudi/h000407 h000405 h000329 If build is successful and works, logical link is made with name of current release: $LHCBDEV/Gaudi/v6->h000407 N.B. Developers may (should!) commit to head revision whenever they have something new that (at least!) compiles Including updated release.notes Dev release (tag+build) done on demand by librarian May be automated in future (‘daily build’)

Linking to the DEV area If you want latest version of everything On Unix: setenv CMTPATH $HOME/mycmt:$LHCBDEV On NT: add a second path to registry key HKEY_LOCAL_MACHINE/SOFTWARE/CMT/path Logical links in $LHCBDEV area ensure you get latest working (undocumented!) versions without changing requirements (just keep using latest released version) If you want specific version of just one package On Unix: (e.g. for h000407 version of GaudiSvc) cd $HOME/mycmt mkdir GaudiSvc cd GaudiSvc ln -s $LHCBDEV/GaudiSvc/h000407 v1 On NT, since logical links are not possible: getpack GaudiSvc h000407 into your CMT directory, build it, and rename directory Marco Cattaneo, 7-Apr-2000

When to use the DEV area NOT if you are just using GAUDI Use latest released version Use DEV version of any single package for any unreleased features you need to use NOT if you need to modify a package Use getpack and modify in your CMT area In all other cases, preferable to link to the DEV area than to make a private build of head revision You will be working in same environment as other developers You will get the most recent working modifications You will be actively testing the most recent modifications... Marco Cattaneo, 7-Apr-2000

Summary of rules for GAUDI CVS packages Anyone can commit To the head revision for new features To the bug fix branch AND the head revision for bug fixes Commit often, BUT Discuss your changes beforehand with the GAUDI team Make sure what you commit is coherent and least compiles Give a meaningful comment in -m ‘message’ field Make sure the changes are documented in release.notes Tell the librarian what changes you have committed You should never need to tag what you commit Ask the librarian to apply a bug fix tag or a daily tag Marco Cattaneo, 7-Apr-2000