Great idea, Eric! Definitely that'd certainly save a lot of resources.
A small suggestion if I may: based upon your use-case, this will be mostly used to pick 1 or max 2 target releases, right?
So rather than relying on a new file inside some repo, what about defining this into the branch name? It feels like a bit hacky at first, but we already recommend a conventional branch name for ceph-ci (mostly for informational purposes), so we could simply extend that convention.
The current syntax is:
wip-<username>-testing-<date>-<branch> (e.g.: wip-spongebob-testing-2023-01-30-1500-quincy)
The proposed syntax would be (we have upto 250 chars to play with branch names):
wip-<username>-testing-<date>-<branch>-build_<distro> (e.g.: wip-spongebob-testing-2023-01-30-1500-quincy-build_centos9stream,debian12)
The main benefits of this are:
- Can be easily added to the "build-integration-branch" script (which basically generates a branch name by appending stuff),
- Jenkins allows to trigger jobs based on branch name patterns,
- In Shaman/Jenkins/Pulpito/etc., it would also be immediate to understand what releases a job/branch is building (no need to check out the branch code).
- Could be easily implemented in teuthology-suite to detect the available Shaman packages and run only those.