forked from cl-plus-ssl/cl-plus-ssl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
154 lines (152 loc) · 7.88 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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
language: common-lisp
sudo: false # lets try new infrastructure
os: linux
dist: bionic
arch: amd64
env:
global:
- PATH=~/.roswell/bin:$PATH
- ROSWELL_BRANCH=release
- ROSWELL_INSTALL_DIR=$HOME/.roswell
- COVERAGE_EXCLUDE=test
matrix:
- LISP=sbcl-bin COVERALLS=true OPENSSL=openssl-0.9.8zh BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=openssl-1.0.0s BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=openssl-1.0.2q BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=openssl-1.1.0j BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=openssl-1.1.1a BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=libressl-2.2.7 BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=libressl-2.5.5 BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=libressl-2.6.5 BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=libressl-2.8.3 BITS=64
- LISP=sbcl-bin COVERALLS=true OPENSSL=libressl-3.0.1 BITS=64
- LISP=ccl-bin OPENSSL=openssl-0.9.8zh BITS=64
- LISP=ccl-bin OPENSSL=openssl-1.0.0s BITS=64
- LISP=ccl-bin OPENSSL=openssl-1.0.2q BITS=64
- LISP=ccl-bin OPENSSL=openssl-1.1.0j BITS=64
- LISP=ccl-bin OPENSSL=openssl-1.1.1a BITS=64
- LISP=ccl-bin OPENSSL=openssl-1.1.1a BITS=64 READTABLE_CASE_INVERT=1
- LISP=ccl-bin OPENSSL=libressl-2.2.7 BITS=64
- LISP=ccl-bin OPENSSL=libressl-2.5.5 BITS=64
- LISP=ccl-bin OPENSSL=libressl-2.6.5 BITS=64
- LISP=ccl-bin OPENSSL=libressl-2.8.3 BITS=64
- LISP=ccl-bin OPENSSL=libressl-3.0.1 BITS=64
# CLISP is disabled because it can't load bordeaux-treads which require ASDF >= 3.1
# Example log: https://travis-ci.org/cl-plus-ssl/cl-plus-ssl/jobs/181539210
# (As a workaround we could try to download ASDF 3 ourselves)
# - LISP=clisp
- LISP=ecl OPENSSL=openssl-0.9.8zh BITS=64
- LISP=ecl OPENSSL=openssl-1.0.0s BITS=64
- LISP=ecl OPENSSL=openssl-1.0.2q BITS=64
- LISP=ecl OPENSSL=openssl-1.1.0j BITS=64
- LISP=ecl OPENSSL=openssl-1.1.1a BITS=64
- LISP=ecl OPENSSL=libressl-2.2.7 BITS=64
- LISP=ecl OPENSSL=libressl-2.5.5 BITS=64
- LISP=ecl OPENSSL=libressl-2.6.5 BITS=64
- LISP=ecl OPENSSL=libressl-2.8.3 BITS=64
- LISP=ecl OPENSSL=libressl-3.0.1 BITS=64
- LISP=ecl OPENSSL=libressl-2.2.7 BITS=64
- LISP=abcl OPENSSL=openssl-0.9.8zh BITS=64
- LISP=abcl OPENSSL=openssl-1.0.0s BITS=64
- LISP=abcl OPENSSL=openssl-1.0.2q BITS=64
- LISP=abcl OPENSSL=openssl-1.1.0j BITS=64
- LISP=abcl OPENSSL=openssl-1.1.1a BITS=64
- LISP=abcl OPENSSL=libressl-2.2.7 BITS=64
- LISP=abcl OPENSSL=libressl-2.5.5 BITS=64
- LISP=abcl OPENSSL=libressl-2.6.5 BITS=64
- LISP=abcl OPENSSL=libressl-2.8.3 BITS=64
- LISP=abcl OPENSSL=libressl-3.0.1 BITS=64
- LISP=cmu-bin OPENSSL=openssl-0.9.8zh BITS=32
- LISP=cmu-bin OPENSSL=openssl-1.0.0s BITS=32
- LISP=cmu-bin OPENSSL=openssl-1.0.2q BITS=32
- LISP=cmu-bin OPENSSL=openssl-1.1.0j BITS=32
- LISP=cmu-bin OPENSSL=openssl-1.1.1a BITS=32
- LISP=cmu-bin OPENSSL=libressl-2.2.7 BITS=32
- LISP=cmu-bin OPENSSL=libressl-2.5.5 BITS=32
- LISP=cmu-bin OPENSSL=libressl-2.6.5 BITS=32
- LISP=cmu-bin OPENSSL=libressl-2.8.3 BITS=32
- LISP=cmu-bin OPENSSL=libressl-3.0.1 BITS=32
- LISP=allegro OPENSSL=openssl-0.9.8zh BITS=32
- LISP=allegro OPENSSL=openssl-1.0.0s BITS=32
- LISP=allegro OPENSSL=openssl-1.0.2q BITS=32
- LISP=allegro OPENSSL=openssl-1.1.0j BITS=32
- LISP=allegro OPENSSL=openssl-1.1.1a BITS=32
- LISP=allegro OPENSSL=libressl-2.2.7 BITS=32
- LISP=allegro OPENSSL=libressl-2.5.5 BITS=32
- LISP=allegro OPENSSL=libressl-2.6.5 BITS=32
- LISP=allegro OPENSSL=libressl-2.8.3 BITS=32
- LISP=allegro OPENSSL=libressl-3.0.1 BITS=32
install:
- if [ $LISP = abcl ]; then sudo apt-get install maven; fi
- curl -L https://raw.githubusercontent.com/snmsts/roswell/$ROSWELL_BRANCH/scripts/install-for-ci.sh | sh
- test/run-on-many-lisps-and-openssls/openssl-releases/fetch.sh "$OPENSSL"
- if [ $BITS = 32 ]; then sudo apt-get install libc6-dev-i386 gcc-multilib; fi
- test/run-on-many-lisps-and-openssls/openssl-releases/build.sh "$OPENSSL" "$BITS" > openssl-build.log
# cache:
# directories:
# - $HOME/.roswell
# - $HOME/.config/common-lisp
script:
- "ros -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 '(progn
(format t \"(lisp-implementation-type): ~A~%\" (lisp-implementation-type))
(format t \"(lisp-implementation-version): ~A~%\" (lisp-implementation-version))
(format t \"*features*: ~A~%\" *features*)
(format t \"(asdf:asdf-version): ~A~%\" (asdf:asdf-version)))'
-e '#+abcl
(progn
(format t \"Loading abcl-asdf and switching maven repo URL to HTTPS (see https://github.com/armedbear/abcl/issues/151)~%\")
(require :abcl-contrib)
(format t \"abcl-contrib loaded...~%\")
(require :abcl-asdf)
(format t \"abcl-asdf loaded...~%\")
(format t \"*features*: ~A~%\" *features*)
(setf (symbol-value (read-from-string \"abcl-asdf::*default-repository*\"))
\"https://repo1.maven.org/maven2/\")
(format t \"abcl-asdf::*default-repository* assigned the HTTPS URL.~%\"))'
-e '(ql:quickload :cffi)'
-e '(format t \"cffi loaded.~%\")'
-e '(cffi:load-foreign-library \"test/run-on-many-lisps-and-openssls/openssl-releases/bin/'$OPENSSL-${BITS}bit'/lib/libcrypto.so\")'
-e '(format t \"libcrypto.so loaded.~%\")'
-e '(cffi:load-foreign-library \"test/run-on-many-lisps-and-openssls/openssl-releases/bin/'$OPENSSL-${BITS}bit'/lib/libssl.so\")'
-e '(format t \"libssl.so loaded.~%\")'
-e '(pushnew :cl+ssl-foreign-libs-already-loaded *features*)'
-e '(ql:quickload :cl+ssl) ;; load cl+ssl separately from cl+ssl.test only because cl+ssl.test can not be loaded in the :invert readtable-case due to its dependency ironclad, as of 2019-10-20'
-e '(format t \"cl+ssl loaded.~%\")'
-e '(when (uiop:getenvp \"READTABLE_CASE_INVERT\")
(format t \"restoring readtable-case to :upcase before loading cl+ssl.test~%\")
(setf (readtable-case *readtable*) :upcase))'
-e '(ql:quickload :cl+ssl.test)'
-e '(format t \"(cl+ssl::compat-openssl-version): ~A~%\" (cl+ssl::compat-openssl-version))'
-e '(let ((results
#+ sbcl
(coveralls:with-coveralls (:exclude \"test\")
(5am:run :cl+ssl))
#- sbcl
(5am:run :cl+ssl)
))
(5am:explain! results)
#+abcl
(let* ((expected-failures (quote (cl+ssl.test::wrong.host
cl+ssl.test::expired)))
(failed-test-names (mapcar (lambda (result)
(5am::name (5am::test-case result)))
(remove-if-not (quote 5am::test-failure-p)
results))))
(if (set-exclusive-or expected-failures
failed-test-names)
(progn
(format t \"~%ABCL: expected faileres on Travis CI: ~S, actual failures: ~S~%\"
expected-failures
failed-test-names)
(uiop:quit 1))
(format t \"ABCL failed some tests as expected on Travis CI: ~S~%\"
expected-failures)))
#-abcl
(unless (5am:results-status results)
(uiop:quit 1)))'"