coreos / fedora-coreos-tracker

Issue tracker for Fedora CoreOS
https://fedoraproject.org/coreos/
260 stars 60 forks source link

More buildroot fallout #787

Open cgwalters opened 3 years ago

cgwalters commented 3 years ago

OK...the switch to have a "pure" buildroot continues to have fallout, https://github.com/coreos/rpm-ostree/pull/2731 is just the most recent.

I am floating around the solution space trying to satisfy a few competing constraints:

Lately I'm thinking that it's basically rpm-ostree/ostree that are special; ignition, coreos-installer for example just need Go and Rust compilers.

Soooo...I'm thinking of just adding a quay.io/coreos-assembler/fcos-rpmostree-buildroot:testing-devel that is FROM our existing buildroot, stick it in rpm-ostree git master. And then we drain off the other random dependencies from here. For now ostree would reuse the rpm-ostree buildroot.

Conceptually though we could try to split up build and unit test dependencies but down that road is a lot more pain.

On the other hand, it would be really good to try to push towards more "installed tests"...

jlebon commented 3 years ago

Soooo...I'm thinking of just adding a quay.io/coreos-assembler/fcos-rpmostree-buildroot:testing-devel that is FROM our existing buildroot, stick it in rpm-ostree git master. And then we drain off the other random dependencies from here. For now ostree would reuse the rpm-ostree buildroot.

Idea makes sense to me. Though maybe we should just push this further: we have fcos-buildroot just essentially be "@buildsys-build + rustc + golang" and most (every?) projects define their own buildroot images that live in the individual repos deriving from the FCOS buildroot. So maintenance-wise, the base sharing still makes it easy to have some centralized management, but every repo can tweak things as needed. The major value of ensuring the buildroot is using the same $releasever as testing-devel is still there.

Apart from CI and bandwidth, project-specific images also makes it easier to customize for contributors.

cgwalters commented 3 years ago

Well...I think e.g. having say clang-analyzer and the ASAN libs in the buildroot is part of the whole idea of CI. (And Fedora isn't covering this at all, it's up to us upstream). We also of course don't have much C code other than ostree/rpm-ostree but there is a tiny bit in Ignition.

I'd hope to avoid having too many per-repo images; it feels much simpler to fall back to yum install per repo.