Skip to content
Utilities for running Common Lisp on CI platforms
Common Lisp
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
config-examples [skip ci] Add build scripts for GitlabCI and CircleCI Aug 23, 2019
docs Setup documentation on GH pages Jul 18, 2019
roswell Use asdf's source registry correctly in asdf-register-project Aug 21, 2019
src Switch Azure pipeline yml to roswell Aug 10, 2019
t Add support for Azure pipelines Aug 10, 2019
.appveyor.yml Add Coveralls support Jul 12, 2019
.azure-pipelines.yml Switch Azure pipeline yml to roswell Aug 10, 2019
.gitattributes Switch Azure pipeline yml to roswell Aug 10, 2019
.gitlab-ci.yml Add tests for Gitlab CI Jul 14, 2019
.travis.yml Move API generator out of roswell scripts Jul 24, 2019 Initial Implementation Jul 11, 2019 Initial Implementation Jul 11, 2019 [skip ci] Add example configuration files for travis and appveyor Aug 21, 2019
bitbucket-pipelines.yml Add support for bitbucket pipelines Aug 10, 2019
ci-utils-features.asd Extract features into their own system for loading purposes Jul 12, 2019
ci-utils.asd v1.0.0 Jul 24, 2019
generate-API-docs.ros Move API generator out of roswell scripts Jul 24, 2019


Travis Build Status CircleCI Build Status Appveyor Build status Gitlab CI status Bitbucket pipelines status Azure piplines status

CI-Utils is a set of utilities for working on continuous integration platforms, including a run script for the Fiveam test library.

For examples of configuring CI platforms to test Common Lisp code, see the config-examples directory.


If you are using Roswell, run ros install ci-utils. This will download the code where ASDF can find it and place run-fiveam in the roswell bin directory. If you are not using Roswell, either run (ql:quickload :ci-utils) or manually download the contents of this repository somewhere that ASDF can find it.


See for documentation of the API.


The run-fiveam Roswell script is designed to make running Fiveam tests simple. It has the form run-fiveam [options] <tests and suites>. The test and suite names are read as symbols after loading any requested systems. The --quicklisp <system> and -l <system> options load a system using quicklisp. Note that any root systems in the project directory are automatically loaded. The --exclude <path> and -e <path> options mark a path for exclusion when measuring code coverage. Additionally, there are two environmental variables that directly affect run-fiveam. COVERALLS enables measuring code coverage using cl-coveralls. COVERAGE_EXCLUDE is a colon separated list of paths to exclude from code coverage measurements, in addition to those passed as arguments. See run-fiveam --help for more information.

Platform Features

CI-Utils adds a few values to *FEATURES* that describe the current platform. First, either :CI or :NOT-CI is added, depending on the CI environmental variable (set by the major CI platforms). Known CI platforms have their name added (listed in the table below). If CI is set but the system is not a recognized CI platform, then :UNKNOWN-CI is added. Finally, if the COVERALLS environmental variable is set, then :COVERALLS is added.

Platform Symbol Name
Appveyor :APPVEYOR
Bitbucket Pipelines :BITBUCKET-PIPELINES
Azure Pipelines :AZURE-PIPELINES
You can’t perform that action at this time.