CI Piplines

From: Warner Losh <imp_at_bsdimp.com>
Date: Fri, 12 Nov 2021 21:24:22 UTC
Greetings,

The weekly meetings haven't been as productive as I'd have liked them to
be. That tells me I need to try something else. That's another reason I
skipped this week, but I'm planning on having one next week at the 1pm MST
time slot (UTC 20:00). More details by Monday.

In the meantime, I've been looking at what we can do. I thought I'd start
trying to deconstruct CI into smaller pieces so that we can start to make
progress on defining "what to do".

First up on that list is before the commit testing. We can do a lot more. I
have done work with other projects that have setup sophisticated pipelines
to ensure that nothing is broken. We have a couple of github and Cirrus CI
jobs defined in the tree for smoke testing, but it would be nice to have
more.

The Asia-timed meeting has extensive notes on this (I'm publishing all the
docs for this effort at https://gitlab.com/bsdimp/freebsd-workflow if you
didn't know already).

What's needed is some experimentation. We have a large number of scripts
that Li-Wen Hsu runs as part of the FreeBSD CI. The repo is at
https://github.com/freebsd/freebsd-ci for reference. In theory, these
scripts were written independent of the system running them and have
Jenkins glue. We need people to test this theory. It sure would be cool to
push to github and/or gitlab and have all the architectures built and/or
all the kernels like we do now after each commit. It would be nice if we
could do some testing as well. It would be good to know what the issues are
doing it natively with CirrusCI, github or gitlab CI chains. It would be
good to learn about runners, how we can use them, integrate with them, etc.
It would be good to look at other code hygiene tools that could be pipeline
elements.

It would also be good to have docs for how to get started. Even a MD page
that is just links to all the relevant info for the different testing
services, info about them, etc would be great.

I'd also like to start collecting recipes that we can publish so people can
place them in their repos and experiment with changes or enhancements.

If you are looking to help out, and aren't quite sure how this could be for
you. If you don't think you can commit to something, but if you get a
chance to do something you want to share your results, this is for you.

Warner