Bruno Haible <br...@clisp.org> writes: > Simon Josefsson wrote: >> I forgot to mention: the pattern to provide re-usable GitLab CI/CD >> definitions that I'm inspired by is Debian's pipeline project: >> >> https://salsa.debian.org/salsa-ci-team/pipeline/ >> >> It is easy to setup a new project to use their reusable pipeline -- just >> add the CI/CD configuration file setting pointing to their job file -- >> and gives a broad configurable and tweakable pipeline. > > Sorry if this sounds negative, but > > - So far, I've loved to adapt my CIs as needed. For example, one package > has a number of --with options, so my CI first builds without these > --with options, then installs the extra Debian packages and builds a > second time with these --with options. I don't think that any > pipeline framework can give me this possibility without causing > massive hurdles. > > - With such frameworks, documentation is key.
Yes, any reusable system will need to support additional system packages and ./configure flags and so on. >> I'm thinking we could do the same but for any project using gnulib. >> Within some reasonable limit and assumptions, but the majority of >> projects mentioned already are similar enough for this to be possible >> relatively easily. >> >> I'm thinking it should be sufficient to add gnu-ci.yml@gnulib/pipeline >> (or similar) as a CI/CD configuration file setting to achieve this. > > It's quite possible that with this approach, you can bring more GNU packages > into the "we have CI" camp. > > I wouldn't like to switch to such a framework, though, because I'm already > too much of an expert in GitLab CI. Right -- the key to this working well is that no switch should be necessary. Written properly, you add one 'include' to your existing job definition file and that enable opt-in functionality. I'm also quite merried to the job definition files I have so it will take time to surrender them, but I also realize that large chunks of the files I have repeat a lot of the same code patterns. It's an experiment, I'm not sure how well it will work out, having started on this a couple of times before and failed... /Simon
signature.asc
Description: PGP signature