GithubHelp home page GithubHelp logo

russell / cl-travis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from luismbo/cl-travis

0.0 2.0 0.0 270 KB

Travis-CI scripts for testing Common Lisp software

License: MIT License

Common Lisp 2.60% Shell 97.40%

cl-travis's Introduction

Build Status

Overview and quick start

CL-TRAVIS helps you test your Common Lisp projects with Travis and many different Lisp implementations: ABCL, Allegro CL, SBCL, CMUCL, CCL and ECL.

Using it is simple, you don't even have to clone this repository:

  1. Grab the sample .travis.yml file or one from the examples below
  2. Modify it to test your own project
  3. Push it to the root of your project's repository and enable Travis from your GitHub account.

Setting up target Lisps

In the first part of your .travis.yml file, use environment variables to setup test environments. The most important one is LISP. CL-TRAVIS uses it find out which Lisp implementation to install for you. You can use additional variables and specify that some environments are allowed to fail. See Travis's instructions for more possibilities.

env:
  matrix:
    - LISP=allegro
    - "LISP=sbcl FOO=baz"
    - "LISP=ccl FOO=bar"

matrix:
  allow_failures:
    - env: LISP=allegro

Running tests

In the second part of the .travis.yml file, pull in any dependencies of your project and use shell commands to run tests.

CL-TRAVIS ensures that CIM and Quicklisp are installed, which means you can conveniently run Lisp code from shell-script snippets in your .travis.yml files, using the CIM's cl command, grabbing any dependencies via Quicklisp's ql:quickload.

Also, ASDF is set up to look for system definitions recursively within your project repository and within the ~/lisp directory, so ql:quickload (or asdf:load-system) will find these before any others.

Here's an example that tests babel against the bleeding edge versions of trivial-features and alexandria but grabs its remaining dependencies through Quicklisp.

install:
  - curl -L https://github.com/luismbo/cl-travis/raw/master/install.sh | sh
  - git clone --depth=1 git://github.com/trivial-features/trivial-features.git ~/lisp/trivial-features
  - git clone git://common-lisp.net/projects/alexandria/alexandria.git ~/lisp/alexandria

script:
  - cl -e '(ql:quickload :babel-tests)
           (unless (babel-tests:run)
             (uiop:quit 1))'

Examples

Here's a list of .travis.yml files from various projects using CL-TRAVIS: CFFI, SLIME, Osicat, stumpwm, Babel, trivial-garbage, trivial-features.

cl-travis's People

Contributors

joaotavora avatar luismbo avatar russell avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.