mirror_zfs/.github/workflows/scripts
Shengqi Chen 05a7a9594e
CI: run only sanity check on limited OSes for nonbehavioral changes
The commit uses heuristics to determine whether a PR is behavioral:

It runs "quick" CI (i.e., only use sanity.run on fewer OSes)
if (explicitly requested by user):
- the *last* commit message contains a line 'ZFS-CI-Type: quick',
or if (by heuristics):
- the files changed are not in the list of specified directory, and
- all commit messages does not contain 'ZFS-CI-Type: full'.

It runs "full" CI otherwise.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Closes #16564
2024-09-25 07:46:52 -07:00
..
generate-ci-type.py CI: run only sanity check on limited OSes for nonbehavioral changes 2024-09-25 07:46:52 -07:00
merge_summary.awk ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
qemu-1-setup.sh ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
qemu-2-start.sh ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
qemu-3-deps.sh ZTS: Remove functional tests via matrix 2024-09-20 08:01:05 -07:00
qemu-4-build.sh ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
qemu-5-setup.sh ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
qemu-6-tests.sh CI: run only sanity check on limited OSes for nonbehavioral changes 2024-09-25 07:46:52 -07:00
qemu-7-prepare.sh ZTS: Fix Summary Page 2024-09-22 09:21:42 -07:00
qemu-8-summary.sh ZTS: Fix Test Summary page generation 2024-09-20 08:00:40 -07:00
qemu-9-summary-page.sh ZTS: Fix Summary Page 2024-09-22 09:21:42 -07:00
README.md ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00

Workflow for each operating system:

  • install qemu on the github runner
  • download current cloud image of operating system
  • start and init that image via cloud-init
  • install dependencies and poweroff system
  • start system and build openzfs and then poweroff again
  • clone build system and start 2 instances of it
  • run functional testings and complete in around 3h
  • when tests are done, do some logfile preparing
  • show detailed results for each system
  • in the end, generate the job summary

/TR 14.09.2024