Contributing¶
Testing¶
CL-Git uses FiveAM as the testing harness and inferior shell to call lsof to check for file descriptor leaks.
follow the Roswell install documentation.
install lsof:
apt install lsof
install SBCL and run tests.:
ros install sbcl
./run-tests.lisp
CI Builds¶
CI builds are done with Earthly it bulids and tests using buildkit (either docker or podman containers), once it is installed, you can list the build targets like this:
% earthly ls
+base
+build
+deps
+libgit2
+test-libgit2-0.27-sbcl
+test-libgit2-0.28-sbcl
+test-libgit2-1.0-sbcl
+test-libgit2-1.1-sbcl
+test-libgit2-1.2-sbcl
+test-libgit2-1.3-sbcl
+test-libgit2-1.4-sbcl
+test-libgit2-1.5-ccl
+test-libgit2-1.5-clasp
+test-libgit2-1.5-ecl
+test-libgit2-1.5-sbcl
+test-libgit2-ccl
+test-libgit2-clasp
+test-libgit2-ecl
+test-libgit2-sbcl
All the targets with the format test-libgit2-<version>-<lisp> can be executed to test that version combination.
To run a build you would use a command like:
earthly +test-libgit2-1.5-sbcl
Currently SBCL is the only working Lisp, but others are there in case we want to extend our support to them.
Documentation¶
To build the documentation you need sphinxcontrib.cldomain which depends on:
Sphinx
sphinxcontrib.cldomain latest pypi
`pygments-cl-repl`_ latest pypi
build documentation:
./doc/build.sh
The compiled documentation is output into doc/build/html
.