mirror_zfs/.github/workflows
Richard Yao 9da745f5de Switch to CodeQL to detect prohibited function use
The LLVM/Clang developers pointed out that using the CPP to detect use
of functions that our QA policies prohibit risks invoking undefined
behavior. To resolve this, we configure CodeQL to detect forbidden
function usage.

Note that cpp in the context of CodeQL refers to C/C++, rather than the
C PreProcessor, which C++ also uses. It really should have been written
cxx, but that ship sailed a long time ago. This misuse of the term cpp
is retained in the CodeQL configuration for consistency with upstream
CodeQL.

As a side benefit, verbose make no longer is a wall of text showing a
bunch of CPP macros, which can make debugging slightly easier.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #15819 
Closes #14134
2024-01-29 14:53:29 -08:00
..
scripts ZTS: Apply small changes for speeding up the tests 2024-01-29 14:53:29 -08:00
build-dependencies.txt Add native-deb* targets to build native Debian packages 2022-12-13 17:33:05 -08:00
checkstyle-dependencies.txt Ubuntu 22.04 integration: GitHub workflows 2022-11-18 11:27:03 -08:00
checkstyle.yaml Workaround GitHub Action failure 2023-02-27 09:19:25 -08:00
codeql.yml Switch to CodeQL to detect prohibited function use 2024-01-29 14:53:29 -08:00
README.md Split functional testings via github action matrix 2023-03-15 10:41:05 -07:00
zfs-linux-tests.yml Refine some details for the github actions update 2023-03-16 10:00:14 -07:00
zfs-linux.yml Refine some details for the github actions update 2023-03-16 10:00:14 -07:00

The testings are done this way

flowchart TB
subgraph CleanUp and Summary
  Part1-20.04-->CleanUp+nice+Summary
  Part2-20.04-->CleanUp+nice+Summary
  PartN-20.04-->CleanUp+nice+Summary
  Part1-22.04-->CleanUp+nice+Summary
  Part2-22.04-->CleanUp+nice+Summary
  PartN-22.04-->CleanUp+nice+Summary
end

subgraph Functional Testings
  functional-testing-20.04-->Part1-20.04
  functional-testing-20.04-->Part2-20.04
  functional-testing-20.04-->PartN-20.04
  functional-testing-22.04-->Part1-22.04
  functional-testing-22.04-->Part2-22.04
  functional-testing-22.04-->PartN-22.04
end

subgraph Sanity and zloop Testings
  sanity-checks-20.04-->functional-testing-20.04
  sanity-checks-22.04-->functional-testing-22.04
  zloop-checks-20.04-->functional
  zloop-checks-22.04-->functional
end

subgraph Code Checking + Building
  codeql.yml
  checkstyle.yml
  Build-Ubuntu-20.04-->sanity-checks-20.04
  Build-Ubuntu-22.04-->sanity-checks-22.04
  Build-Ubuntu-20.04-->zloop-checks-20.04
  Build-Ubuntu-22.04-->zloop-checks-22.04
end
  1. build zfs modules for Ubuntu 20.04 and 22.04 (~15m)
  2. 2x zloop test (~10m) + 2x sanity test (~25m)
  3. functional testings in parts 1..5 (each ~1h)
  4. cleanup and create summary
    • content of summary depends on the results of the steps

When everything runs fine, the full run should be done in about 2 hours.

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