forked from civetweb/civetweb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
145 lines (131 loc) · 4.89 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
##############################################################################
# Project specific settings
##############################################################################
language: c
cache:
directories:
- $HOME/third-party
before_install:
- cmake --version
install:
before_script:
# Check some settings of the build server (operating system, IPv6 availability, directory)
- uname -a
- ifconfig
- pwd
- ls -la
# Generate the build scripts with CMake
- mkdir output
- openssl version
- gcc --version
- cmake --version
- gcc unittest/cgi_test.c -o output/cgi_test.cgi
- cd output
- echo cmake
-G "Unix Makefiles"
-DCMAKE_BUILD_TYPE=${BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED}
"-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
-DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
-DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
-DCIVETWEB_DISABLE_CGI=${NO_CGI}
-DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
-DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
-DCIVETWEB_SSL_OPENSSL_API_1_0=${OPENSSL_1_0}
-DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
-DCIVETWEB_SSL_OPENSSL_API_3_0=${OPENSSL_3_0}
-DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
-DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
-DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
-DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
-DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
-DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
-DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
-DCIVETWEB_C_STANDARD=${C_STANDARD}
-DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
-DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
-DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
${ADDITIONAL_CMAKE_ARGS}
..
- cmake
-G "Unix Makefiles"
-DCMAKE_BUILD_TYPE=${BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED}
"-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
-DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
-DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
-DCIVETWEB_DISABLE_CGI=${NO_CGI}
-DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
-DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
-DCIVETWEB_SSL_OPENSSL_API_1_0=${OPENSSL_1_0}
-DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
-DCIVETWEB_SSL_OPENSSL_API_3_0=${OPENSSL_3_0}
-DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
-DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
-DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
-DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
-DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
-DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
-DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
-DCIVETWEB_C_STANDARD=${C_STANDARD}
-DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
-DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
-DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
${ADDITIONAL_CMAKE_ARGS}
..
- ls -la
- ulimit -c unlimited -S
after_failure:
- COREFILE=$(find . -maxdepth 1 -name "core*" | head -n 1) # find core file
- if [[ -f "$COREFILE" ]]; then gdb -c "$COREFILE" example -ex "thread apply all bt" -ex "set pagination 0" -batch; fi
script:
- if [ "${RUN_UNITTEST}" == "1" ]; then
CTEST_OUTPUT_ON_FAILURE=1 CK_FORK=yes make all test;
fi
- pwd
- ls -la unittest
- echo "Show all test logs:"
- if [ "${RUN_UNITTEST}" == "1" ]; then
for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done;
for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done;
fi
- echo "Build and test script DONE"
after_success:
#########################################################################################
#########################################################################################
##### START OF BUILD MATRIX #########################################################
#########################################################################################
#########################################################################################
matrix:
fast_finish: true
include:
#########################################################################################
##### FREEBSD BUILD ###########=#####################################################
#########################################################################################
-
os: freebsd
sudo: required
compiler: clang
env:
idx=20
N=Clang-FREEBSD-Complete-NoLua-Release
BUILD_TYPE=Release
ENABLE_SSL_DYNAMIC_LOADING=YES
OPENSSL_1_0=NO
OPENSSL_1_1=YES
ENABLE_CXX=NO
ENABLE_LUA_SHARED=NO
C_STANDARD=auto
CXX_STANDARD=auto
BUILD_SHARED=NO
NO_FILES=NO
ENABLE_SSL=YES
NO_CGI=NO
ENABLE_IPV6=YES
ENABLE_WEBSOCKETS=YES
ENABLE_SERVER_STATS=YES
ENABLE_LUA=NO
ENABLE_DUKTAPE=NO
NO_CACHING=NO
ALLOW_WARNINGS=YES
RUN_UNITTEST=1