Running test

To run the tests use

::

make test

Manually Verifying LISP Code

To manually test documentation string collection of a library you can run command like this.

ros -Q -- sphinxcontrib/cldomain/cldomain.ros --package alexandria --system alexandria

If you want to test it with a local system, you can run.

ros -Q -- sphinxcontrib/cldomain/cldomain.ros --package my-package --system my-system --path ../../path/to/my-system

There is a second entry point that doesn’t require Roswell to use it would you would run a command like.

sbcl --script sphinxcontrib/cldomain/custom_command.lisp --package alexandria --system alexandria

Formatting Code

All code is formatted using the python package Black, you can run it via

make fmt

Linting Code

All code is linted using Flake8, you can run it via

make lint

Releasing New Versions

This project depends on a hacked together half finished project that provides a wrapper for some commands to assist generating the change log and other aspects of the release process. The process will be documented here but it’s currently so wrought with terror that it’s unrealistic that anyone other than the author would have the time or patience to bother with it.

  1. goin prepare-release

This updates the changelog and calculates the next version

  1. goin build-release-artifacts

This will create an egg that can be tested manually.

  1. Manually verify the release artefact

Rebuild cl-git and any other large project to verify that no significant regressions have occurred.

  1. goin test-release-artifacts

This performs a test upload of the egg and also some basic checks.

  1. goin release-new-version

This actually creates the tag, using the message declared in .git/RELEASE_CHANGELOG.

  1. git push --tags && git push

Push the newly created tags

  1. goin release-artifacts

Push the newly created eggs to PYPI.