| 1 | os: | 
|---|
| 2 | - linux | 
|---|
| 3 | - osx | 
|---|
| 4 |  | 
|---|
| 5 | # Linux system | 
|---|
| 6 | # 'bionic' is latest Ubuntu LTS available on Travis | 
|---|
| 7 | dist: bionic | 
|---|
| 8 |  | 
|---|
| 9 | # macOS system | 
|---|
| 10 | # 'xcode11.2' is macOS 10.14 xcode 11B41 | 
|---|
| 11 | osx_image: xcode11.2 | 
|---|
| 12 |  | 
|---|
| 13 | # get the default java environment from Travis container | 
|---|
| 14 | language: java | 
|---|
| 15 |  | 
|---|
| 16 | # N.b. this will possibly pull in additional Java runtimes | 
|---|
| 17 | addons: | 
|---|
| 18 | apt: | 
|---|
| 19 | packages: | 
|---|
| 20 | - ant | 
|---|
| 21 | - maven | 
|---|
| 22 | # Needed for rendering the User Manual | 
|---|
| 23 | # Unfortunately, installing TeX from scratch is judged too expensive computationally. | 
|---|
| 24 | # - texlive-full | 
|---|
| 25 | homebrew: | 
|---|
| 26 | update: true | 
|---|
| 27 | packages: | 
|---|
| 28 | - ant | 
|---|
| 29 | - maven | 
|---|
| 30 | # Needed for rendering the User Manual | 
|---|
| 31 | # Unfortunately, installing TeX from scratch is judged too expensive computationally. | 
|---|
| 32 | # - mactex | 
|---|
| 33 | env: | 
|---|
| 34 | - ABCL_JDK=openjdk8  ABCL_ROOT=${TRAVIS_BUILD_DIR} | 
|---|
| 35 | - ABCL_JDK=openjdk11 ABCL_ROOT=${TRAVIS_BUILD_DIR} | 
|---|
| 36 | - ABCL_JDK=openjdk14 ABCL_ROOT=${TRAVIS_BUILD_DIR} | 
|---|
| 37 |  | 
|---|
| 38 | install: | 
|---|
| 39 | - echo PWD=$(pwd) && echo ABCL_ROOT=${ABCL_ROOT} | 
|---|
| 40 | - bash -x ${ABCL_ROOT}/ci/install-adoptjdk.bash ${ABCL_JDK} | 
|---|
| 41 |  | 
|---|
| 42 | # Ensure we can invoke ant | 
|---|
| 43 | - . ${ABCL_ROOT}/ci/ensure-jenv-is-present.bash && ant abcl.diagnostic | 
|---|
| 44 |  | 
|---|
| 45 | # Set build and runtime options for the JVM hosting ABCL | 
|---|
| 46 | - bash -x ./ci/create-abcl-properties.bash ${ABCL_JDK} | 
|---|
| 47 |  | 
|---|
| 48 | # Build ABCL | 
|---|
| 49 | - . ${ABCL_ROOT}/ci/ensure-jenv-is-present.bash && ant abcl | 
|---|
| 50 |  | 
|---|
| 51 | # Configure finding abcl build source via ASDF | 
|---|
| 52 | - bash -x ${ABCL_ROOT}/ci/asdf-finds-abcl.bash | 
|---|
| 53 |  | 
|---|
| 54 | # Install Quicklisp | 
|---|
| 55 | - ${ABCL_ROOT}/abcl --eval '(require :asdf)' --eval '(require :abcl-contrib)' --eval '(asdf:load-system :quicklisp-abcl :force t)' --eval '(progn (setf ql-util::*do-not-prompt* t)(ql:add-to-init-file))' --eval '(ext:quit)' | 
|---|
| 56 |  | 
|---|
| 57 | # Install the patched version of cl+ssl | 
|---|
| 58 | - bash -x ${ABCL_ROOT}/ci/install-cl+ssl.bash | 
|---|
| 59 |  | 
|---|
| 60 | # Install the patched version of cffi | 
|---|
| 61 | - bash -x ${ABCL_ROOT}/ci/install-cffi.bash | 
|---|
| 62 |  | 
|---|
| 63 | # Install the ANSI-TEST suite | 
|---|
| 64 | - bash -x ${ABCL_ROOT}/ci/install-ansi-test.bash | 
|---|
| 65 |  | 
|---|
| 66 | # Install the patched version of static-vectors | 
|---|
| 67 | - bash -x ${ABCL_ROOT}/ci/install-static-vectors.bash | 
|---|
| 68 |  | 
|---|
| 69 | # TODO: figure out how to add abcl to our path | 
|---|
| 70 |  | 
|---|
| 71 | script: | 
|---|
| 72 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/abcl-prove.lisp | 
|---|
| 73 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-static-vectors.lisp | 
|---|
| 74 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-cffi.lisp | 
|---|
| 75 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-cl+ssl.lisp | 
|---|
| 76 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-abcl-introspect.lisp | 
|---|
| 77 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-abcl.lisp | 
|---|
| 78 | # IRONCLAD takes a long time to test, so we place it near the end | 
|---|
| 79 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-ironclad.lisp | 
|---|
| 80 | - ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-ansi.lisp | 
|---|
| 81 |  | 
|---|
| 82 | # This would build a release, which needs an installed TeX which is judged too | 
|---|
| 83 | # "expensive" to leave as the standard CI process | 
|---|
| 84 | # - pushd ${ABCL_ROOT} && ant abcl.release abcl.wrapper && popd | 
|---|
| 85 |  | 
|---|
| 86 | # Print the hashes and sizes of build artifacts | 
|---|
| 87 | - pushd ${ABCL_ROOT} && ./abcl --batch --load ./ci/release.lisp  && popd | 
|---|
| 88 |  | 
|---|
| 89 |  | 
|---|
| 90 |  | 
|---|
| 91 |  | 
|---|
| 92 |  | 
|---|
| 93 |  | 
|---|