summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 251da28633a08a99f5179fe56d409d136d6a9dc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
language: common-lisp
sudo: required

env:
  matrix:
    - LISP=abcl-bin
    - LISP=allegro
    - LISP=ccl-bin
    - LISP=ccl-bin READTABLE_CASE_INVERT=1
    - LISP=clisp
    - LISP=ecl
    - LISP=sbcl-bin

matrix:
  allow_failures:
    - env: LISP=abcl-bin
    - env: LISP=allegro
    - env: LISP=clisp

install:
  - curl -L https://raw.githubusercontent.com/snmsts/roswell/release/scripts/install-for-ci.sh | sh

script:
  # Compiling and testing can fail on Allegro CL Express Free edition
  # because of the 50 MB heap size limitation, so let's try to split
  # the work in two as a possible workaround...
  - if [ "$LISP" = "allegro" ];
    then
      ros -e '(setf *debugger-hook*
                  (lambda (&rest ignorable)
                    (declare (ignore ignorable))
                    (uiop:quit 0)))'
          -e '(ql:quickload "ironclad/tests")';
    else
      true;
    fi
  - ros -e '(setf *debugger-hook*
                  (lambda (&rest ignorable)
                    (declare (ignore ignorable))
                    (uiop:quit -1)))'
        -e '(when (uiop:getenvp "READTABLE_CASE_INVERT")
               (format t "changing readtable-case to :invert~%")
               (setq *readtable*
                     (let ((rt (copy-readtable)))
                       (setf (readtable-case rt) :invert)
                       rt)))'
        -e '(ql:quickload "ironclad/tests")'
        -e '(unless (rt:do-tests) (uiop:quit -1))'