dracutdevs / dracut

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

ci: improve manual Github Action #2566

Closed LaszloGombos closed 6 months ago

LaszloGombos commented 10 months ago

The main motivation is to help facilitate development of dracut using GitHub infra.

As the number of tests and number of containers grow, we could consider running less tests automatically on each PR and only run them on demand with the manual Github Action.

Running manual tests has the benefit of having the log available for everyone to see after the run, and saves the time of manually creating distro environments and uploading test logs.

1./ This commit enables setting environment variables before running the test. More specifically it sets rd.debug for manual builds by default, which can be turned off by simply clearing the "Enviroment" input (see screenshot below).

This change would allow to debug issues like #2225 on GitHub.

It also allows setting networking to e.g. systemd-networked ( {"USE_NETWORK": "systemd-networkd"} ) without changing a single line of code for e.g. #2141

2./ This commit allows to run all the test parallel. It uses "find" to compute the list of tests, so if we add new tests we do not need to update this list.

3./ This commit allows to run all test(s) in all containers in parallel using the new "all" entry. It uses "find" to compute the list of containers, so if we add new containers we do not need to update this list.