Skip to content
Snippets Groups Projects
Ben Couturier's avatar
Ben Couturier authored
Cleaned up options to pass token to the metadata deploy command

See merge request !24
dab40ce4
History

lhcbstacks

This project contains the configuration for the LHCb software stacks, and the software to present this metadata in the format required by the build tools.

Project structure

  • data: directory structure containing the LHCb stack definitions in YAML format
  • src, tests: python package to manage the data and associated tests

Stack metadata file structure

Inside the data/stacks directory we have one subdirectory per application containing one stack definition YAML file per logical version of the application (for example DaVinci/v53r0.yml or Moore/22.06-FEST.yml).

The stack definition should follow the example below:

type: lhcbcmake

projects:
  Analysis: v32r0
  Phys: v31r1
  Rec: v31r1
  Lbcom: v31r1
  LHCb: v51r1
  Gaudi: v33r2
  Detector: v0r5
  DaVinci: v52r1

toolchain:
  type: LCG
  version: 97a

platforms:
  - x86_64+avx2+fma-centos7-gcc9-opt
  - x86_64-centos7-clang8-dbg
  - x86_64-centos7-clang8-opt
  - x86_64-centos7-gcc9-dbg
  - x86_64-centos7-gcc9-do0
  - x86_64-centos7-gcc9-opt

tags:
  - Run3

The type can be:

  • lhcbcmake
  • cmt

The project list should contain all LHCb project needed in the stack.

The toolchain refers to the release of the external software used by this stack (e.g. LCG 97a in the example).

The tags list is a free list that can be used by software querying this metadata.

Validation and development

This packages uses pre-commit to manage its pre-commit hooks. Make sure that this python package is avalilable (for example from the LHcb environment LbEnv) and to install the hooks in the git clone with:

pre-commit install