Split functional testings via github action matrix

This commit changes the workflow of the github actions.

We split the workflow into different parts:

1) build zfs modules for Ubuntu 20.04 and 22.04 (~25m)
2) 2x zloop test (~10m) + 2x sanity test (~25m)
3) functional testings in parts 1..5 (each ~1h)
   - these could be triggered, when sanity tests are ok
   - currently I just start them all in the same time
4) cleanup and create summary

When everything is fine, the full run with all testings
should be done in around 2 hours.

The codeql.yml and checkstyle.yml are not part in this circle.

The testings are also modified a bit:
- report info about CPU and checksum benchmarks
- reset the debugging logs for each test
  - when some error occurred, we call dmesg with -c to get
    only the log output for the last failed test
  - we empty also the dbgsys

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Closes #14078
This commit is contained in:
Tino Reichardt
2023-03-15 18:41:05 +01:00
committed by GitHub
parent f55d6ee818
commit b7bc334d13
13 changed files with 477 additions and 257 deletions
+3
View File
@@ -24,6 +24,9 @@ echo "================================================================="
sudo tail -n $lines /proc/spl/kstat/zfs/dbgmsg
# reset dbgmsg
sudo bash -c "echo > /proc/spl/kstat/zfs/dbgmsg"
echo "================================================================="
echo " End of zfs_dbgmsg log"
echo "================================================================="
+2 -1
View File
@@ -23,7 +23,8 @@ echo "================================================================="
echo " Tailing last $lines lines of dmesg log"
echo "================================================================="
sudo dmesg | tail -n $lines
# report and reset afterwards
sudo dmesg -c | tail -n $lines
echo "================================================================="
echo " End of dmesg log"
+1
View File
@@ -30,6 +30,7 @@ for f in /proc/spl/kstat/zfs/*/multihost; do
echo "================================================================="
sudo tail -n $lines $f
sudo bash -c "echo > $f"
done
echo "================================================================="