Skip to content

Manage CI repositories with `cta-release` code

In order to solve #104 (closed) we need to refactor the way we are managing our CI repositories.

In the current state we have too many ways to enable xrootd4/5, eos4/5 depending on the context:

We need to fuse these together to make our life easier so that we can run CI from CERN/public repositories using xrootd 4/5, eos 4/5.

Proposal

  • All repository files must be located in continuousintegration/docker/ctafrontend/cc7/etc/yum.repos.d so that they are included in the built containers
    • cta-release spec file will just take them from this location instead of its own directory

Some conventions to make it easier:

  • CERN private repository files named cta-CERN-<reponame>.repo
  • public repository files named cta-public-<reponame>.repo
  • repository IDs should follow the same convention: [cta-CERN-xrootd] [cta-public-ceph]...

All repos are disabled by default and must be explicitly enabled with the context (public/CERN,xrootd4/5,eos4/5,...) with the same command for all environments (CI at CERN, CI from outside, production at CERN, production outside,...).

To achieve this we need to move cta-versionlock command from cta-release directory in the container and expand it to use it for all our needs.