dracutdevs / dracut

dracut the event driven initramfs infrastructure
https://github.com/dracutdevs/dracut/wiki
GNU General Public License v2.0
598 stars 397 forks source link

ci: improve maintenance of test containers #2423

Closed Henrik66 closed 5 months ago

Henrik66 commented 1 year ago

Install AUR helper (paru) into Arch test container and improve maintenance of test containers.

Pulls in https://github.com/dracutdevs/dracut/pull/2427 as one of the commits in this PR.

Checklist

Fixes #2422 #2433

Henrik66 commented 1 year ago

Can you see if you can find a way not to install mkinitcpio (the default initramfs provider on arch) ? There is a possibly solution used in the Debian container to avoid having initramfs-tools installed.

I found out that assume-installed option can do this.

Henrik66 commented 1 year ago

Start working on https://github.com/dracutdevs/dracut/issues/2433 .

Pulling in https://github.com/dracutdevs/dracut/pull/2427 as this PR would help with https://github.com/dracutdevs/dracut/issues/2433 .

Marking in draft for now as I will likely need help with this PR.

LaszloGombos commented 1 year ago

I think this helps reason about the differences of test containers, which should help reason about about test results.

Let's use this opportunity to make a few more changes:

bdrung commented 1 year ago

The test code is harder to read and harder to copy-paste after this change.

The list would be easier to maintain if the entries would be grouped by topic. Example question: Why is btrfs-progs not installed on openSUSE? There are many packages that just have different names. Having those in one place would help, but I have no idea how to codify that in a readable way.

opensuse-tumbleweed: ShellCheck, others: shellcheck
fedora|opensuse-tumbleweed: kernel, debian|ubuntu: linux-image-generic
LaszloGombos commented 1 year ago

The test code is harder to read and harder to copy-paste after this change.

This is subjective and I hope to avoid copy-paste.

The list would be easier to maintain if the entries would be grouped by topic. Example question: Why is btrfs-progs not installed on openSUSE?

This is a question I also had, but please recognize that this question probably would not even be on the table if we continue just copy-paste. This is one value of somehow harmonizing the containers.

There are many packages that just have different names.

Not that many, but some for sure.

Having those in one place would help, but I have no idea how to codify that in a readable way.

I hope @aafeijoo-suse would also chime in here on what is his preference.

In reality sometimes we need to investigate why a new dracut module or a new test-case fails only on one distribution. Having packages in one place would help.

opensuse-tumbleweed: ShellCheck, others: shellcheck
fedora|opensuse-tumbleweed: kernel, debian|ubuntu: linux-image-generic

I think @Henrik66 could work on making this syntax work if this is what it takes to reach a consensus.

Some documentation also references package names - https://github.com/dracutdevs/dracut/blob/master/docs/README.generic . We should either remove these or replace them with some syntax that considers several distributions.

bdrung commented 1 year ago

Some documentation also references package names - https://github.com/dracutdevs/dracut/blob/master/docs/README.generic . We should either remove these or replace them with some syntax that considers several distributions.

Is this list referring to projects or package names?

Also "Generic initramfs'es are huge (usually over 10 megs in size uncompressed)" is a little outdated. The generic initramfs is more around 100 MB and uncompressed in hundreds of megabytes.

pvalena commented 11 months ago

LGTM, although I've not verified the package lists.