Proposal: Factorize PWGs and core AliRoot

9
Proposal: Factorize PWGs and core AliRoot Alina Grigoras Jan Fiete Grosse-Oetringhaus Peter Hristov Offline Meeting, 10.02.14

description

Proposal: Factorize PWGs and core AliRoot. Alina Grigoras Jan Fiete Grosse-Oetringhaus Peter Hristov Offline Meeting, 10.02.14. Proposal. Some parts of AliRoot change more frequently than others AN tag often only for analysis code Split AliRoot into two parts PWG = (PWG, PWGCF, PWGDQ, …) - PowerPoint PPT Presentation

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