There are occasions when I would like a branch pushed to ceph-ci to only trigger one
build, say centos9+x86_64. I created a PR for that specific case[1], but I’m wondering how
feasible it would be to create a more generalized solution. It feels wasteful to launch,
say, 7 builds when you’re only interested in 1, and it may slow down other developers.
My thoughts aren’t fully concrete yet, in part I don’t the details of the code that
interprets those .yml files, but here’s a sketch…
1. Those .yml files look for a tag in the branch name along the lines of “build-file”
using the existing regex mechanism already leveraged in ceph-dev-new-trigger.yml.
2. When that tag is found in the branch, use wget to pull a specific file from the
top-level of that branch. Say the file is called “ceph-build.config”, I believe a command
along the lines of the following would pull that one file without cloning the whole
repository:
wget
https://raw.githubusercontent.com/ceph/ceph-ci/${GIT_BRANCH}/ceph-build.con…
3. That file would then define the values of DISTROS, ARCHS, FLAVOR, and maybe also FORCE.
BRANCH would be defined by the existing variable ${GIT_BRANCH} variable. I don’t know
which format for that file would be easiest — .yml, key/value pairs, etc.
4. The build process would then continue as it does now.
Perhaps there are hurdles that I’m not seeing. But I thought it’d be worth putting the
idea out there. Thanks for considering,
Eric
[1]
https://github.com/ceph/ceph-build/pull/2104