Built from main at 1d902a0 on 2026-11-14

Common Lisp

Recognised by .lisp sources and by ASDF system definitions (*.asd), the build system; once the project is known to be Common Lisp, .cl (OpenCL's suffix too), .lsp and Roswell .ros scripts are Lisp as well. Qlot's .qlot/ is a build tree.

Lisp code CI runs on a command line (sbcl --non-interactive --eval "(asdf:test-system :shop)", ros run --eval …) is read as the words of the command; 40ants/run-tests stands for the code it is given (run-tests) or its asdf-system's test-op, under sb-cover when it is given a coveralls-token.

tests-run

FiveAM, Parachute, Rove or Prove tests in the test system's files (tests/*.lisp, t/, *-tests.lisp), run by the system's test-op (asdf:test-system), a framework's runner called from Lisp (rove:run, fiveam:run!), rove shop.asd, or 40ants/run-tests.

coverage

sb-cover instruments SBCL's compiled code for expression and branch coverage: (require :sb-cover) on the command line or in a script CI loads, when the tests run; 40ants/run-tests with a coveralls-token does the same.

platform-matrix

The toolchains are Lisp implementations, as Roswell names them (sbcl-bin, ccl-bin, ecl, abcl-bin, with a version after a slash): the LISP variable 40ants/setup-lisp reads, ros install or ros use, a matrix key lisp, or a clfoundation image.

compiler-warnings

SBCL's compiler warns; sblint runs it over the system definition in CI and reports the warnings (sblint shop.asd).

warnings-as-errors

A compiler warning fails the build: (setf uiop:*compile-file-warnings-behaviour* :error) (or *compile-file-failure-behaviour*) in CI, in the system definition or in a script.

static-analysis

sblint, the compiler's warnings over the whole system.

committed-artifacts

Compiled files: SBCL's *.fasl, CCL's *.lx64fsl and *.dx64fsl, ECL's and CLISP's *.fas; and .qlot/.

vcs-ignore

*.fasl (or the other implementations' compiled files) and .qlot/.

Not judged

Common Lisp has no standard formatter (code-formatting), and no type checker, code security scanner, dependency auditor, fuzzer or mutation testing tool the validator knows; lizard does not parse it (function-limits); Qlot's qlfile.lock is left to dependency-management; a Lisp image builds no debug or release configuration (ci-build-types, hardening, cxx-extensions).