Proposal: Factorize PWGs and core AliRoot
description
Transcript of Proposal: Factorize PWGs and core AliRoot
-
Proposal: Factorize PWGs and core AliRootAlina GrigorasJan Fiete Grosse-OetringhausPeter Hristov
Offline Meeting, 10.02.14
Jan Fiete Grosse-Oetringhaus
-
ProposalSome parts of AliRoot change more frequently than othersAN tag often only for analysis codeSplit AliRoot into two partsPWG = (PWG, PWGCF, PWGDQ, )9 folders in total = 0.3 GBCORE = STEER, subdetectors, OCDB, OADB, ANALYSIS, etc.I.e. everything else = 0.9 GBSeparate repositoriesSeparate taggingCORE for example monthly, or on requestPWG twice weekly (like AN tags now)
CORE
PWG
Jan Fiete Grosse-Oetringhaus
-
TaggingSeparate tagging, for exampleCORE for example monthly, or on requestPWG twice weekly (like AN tags now)CORE v1PWG v1
GEANT3ROOT
PWG v2PWG v3PWG v4PWG v5CORE v2
Jan Fiete Grosse-Oetringhaus
-
Some CommentsAdvantagesStable CORE partRegular PWG tags lead to faster build & smaller archiveCommitters to PWG don't need to update CORE part on each commitImplications for usersNeed to download one package moreDetector developers may not need PWG packageNeed to build one package moreMay build into same directory, no change in includes, library path requiredAliRoot download script can do this transparentlyImplications for train operatorsSelection of PWG tag instead of AliRoot tag, dependencies automatic
Jan Fiete Grosse-Oetringhaus
-
How much work?Split git repositories (Alina)Split cmake files (Alina, Peter)Adapt build server (Alina)Adapt train system (JF)Adapt MonALISA scripts (Alina, Costin)Adapt AliRoot download scripts (Dario?)Adapt documentation
Jan Fiete Grosse-Oetringhaus
-
Backup
Jan Fiete Grosse-Oetringhaus
-
Mumbling about Future DirectionsUsers send their code to expert (PWG responsible or conveners) for committing (pushing)What does the expert do?Import the code, compile, load libraries, pushNo functional checks are done usuallyWhy? If user code crashes no one else is affected (train test catches this user is excluded)Can we automatize this?
Jan Fiete Grosse-Oetringhaus
-
An Open Repository? Each user has write access to own branch (created by "git branch user_jgrosseo")NB. name "user_" allows access controlgit masterBuild servercheckok? mergenot ok? emailPWG tagbranch jgrosseobranch grigorascheckok? mergenot ok? emailcommit/pushcommit/push
Jan Fiete Grosse-Oetringhaus
-
Mumbling about Future DirectionsPower users which still use the Grid manually argue that AN tags are too infrequent for their workPossible solution: daily tagging of PWG partRequires automatic systemBefore tagging, code is compiled and checked if libraries can be loaded (few functional tests if at all)If we know that the master compiles (see previous slide), the PWG tag could be automatic ("nightly builds")
Jan Fiete Grosse-Oetringhaus