-
Notifications
You must be signed in to change notification settings - Fork 29
/
.travis.yml
99 lines (72 loc) · 3.15 KB
/
.travis.yml
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
os:
- linux
- osx
# Linux system
# 'bionic' is latest Ubuntu LTS available on Travis
dist: bionic
# macOS system
# 'xcode11.2' is macOS 10.14 xcode 11B41
osx_image: xcode11.2
# get the default java environment from Travis container
language: java
# N.b. this will possibly pull in additional Java runtimes
addons:
apt:
packages:
- ant
- maven
# Needed for rendering the User Manual
# Unfortunately, installing TeX from scratch is judged too expensive computationally.
# - texlive-full
homebrew:
update: true
packages:
- ant
- maven
# Needed for rendering the User Manual
# Unfortunately, installing TeX from scratch is judged too expensive computationally.
# - mactex
env:
- ABCL_JDK=openjdk8 ABCL_ROOT=${TRAVIS_BUILD_DIR}
- ABCL_JDK=openjdk11 ABCL_ROOT=${TRAVIS_BUILD_DIR}
- ABCL_JDK=openjdk17 ABCL_ROOT=${TRAVIS_BUILD_DIR}
install:
- echo PWD=$(pwd) && echo ABCL_ROOT=${ABCL_ROOT}
- bash -x ${ABCL_ROOT}/ci/install-openjdk.bash ${ABCL_JDK}
# Ensure we can invoke ant
- . ${ABCL_ROOT}/ci/ensure-jenv-is-present.bash && ant abcl.diagnostic
# Set build and runtime options for the JVM hosting ABCL
- bash -x ./ci/create-abcl-properties.bash ${ABCL_JDK}
# Build ABCL
- . ${ABCL_ROOT}/ci/ensure-jenv-is-present.bash && ant abcl
# Configure finding abcl build source via ASDF
- bash -x ${ABCL_ROOT}/ci/asdf-finds-abcl.bash
# Install Quicklisp
- ${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)'
# Install the patched version of cl+ssl
# - bash -x ${ABCL_ROOT}/ci/install-cl+ssl.bash
# Install the patched version of cffi
# - bash -x ${ABCL_ROOT}/ci/install-cffi.bash
# Install the patched version of static-vectors
# - bash -x ${ABCL_ROOT}/ci/install-static-vectors.bash
# Install Jeannie for testing
- bash -x ${ABCL_ROOT}/ci/install-jeannie.bash
# Install the ANSI-TEST suite
- bash -x ${ABCL_ROOT}/ci/install-ansi-test.bash
# TODO: figure out how to add abcl to our path
script:
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-abcl-prove.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-abcl.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-abcl-introspect.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-jeannie.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-cffi.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-static-vectors.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-cl+ssl.lisp
# IRONCLAD takes a long time to test
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-ironclad.lisp
- ${ABCL_ROOT}/abcl --batch --load ${ABCL_ROOT}/ci/test-ansi.lisp
# This would build a release, which needs an installed TeX which is judged too
# "expensive" to leave as the standard CI process
# - pushd ${ABCL_ROOT} && ant abcl.release abcl.wrapper && popd
# Print the hashes and sizes of build artifacts
- pushd ${ABCL_ROOT} && ./abcl --batch --load ./ci/release.lisp && popd