repos.yaml is used by lsstsw/lsst_build to find source repositories. At present, this file is part of of the lsst/lsstsw repository. At first glance, this is desirable as lsstsw is the primary consumer of this file. However, a few complications have arisen in practice.
- There is a desire among end-users to test changes to repos.yaml from a branch before merging to master. I have been hesitant to implement such a feature out of concern that an old/stale branch of lsstsw might break an lsstsw install from a more recent epoch – possibly creating a manual CI cleanup problem.
- This creates a fair amount of commit churn in the lsst/lsstsw repo which only sees infrequent code changes.
Therefore, in the interests of seperating code and data (configuration), I propose that repos.yaml, the "repos.yaml self merge after CI policy", and the associated travis-ci linting configuration be migrated to a new repository named lsst/build-config. lsstsw would be updated to locate build env files via a configurable path along with support as necessary in the various CI driver scripts. The conda environment exports in lsst/lsstsw may also be good candidates to migrate to a build data/configuration only repository.