.travis.yml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960
  1. ##############################################################################
  2. # Project specific settings
  3. ##############################################################################
  4. language: c
  5. cache:
  6. directories:
  7. - $HOME/third-party
  8. osx_image: xcode8
  9. addons:
  10. apt:
  11. packages:
  12. - cmake
  13. - openssl
  14. - libssl-dev
  15. sources:
  16. - kubuntu-backports
  17. before_install:
  18. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  19. mkdir $HOME/usr;
  20. export PATH="$HOME/usr/bin:$PATH";
  21. wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh --no-check-certificate;
  22. chmod +x cmake-3.7.2-Linux-x86_64.sh;
  23. ./cmake-3.7.2-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir --skip-license;
  24. fi
  25. - cmake --version
  26. install:
  27. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  28. PATH=~/.local/bin:${PATH};
  29. pip install --user --upgrade pip;
  30. pip install --user cpp-coveralls;
  31. pip install --user codecov;
  32. pip install --user coverage;
  33. fi
  34. before_script:
  35. # Add an IPv6 config - see the corresponding Travis issue
  36. # https://github.com/travis-ci/travis-ci/issues/8361
  37. - if [ "${ENABLE_IPV6}" == "YES" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  38. echo "Activating IPv6 on Travis";
  39. sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6';
  40. fi
  41. # Check some settings of the build server (operating system, IPv6 availability, directory)
  42. - uname -a
  43. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  44. lsb_release -a;
  45. cat /etc/network/interfaces || true;
  46. fi
  47. - ifconfig
  48. - pwd
  49. - ls -la
  50. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  51. apt-cache search gcc | grep "GNU C compiler";
  52. apt-cache search clang | grep compiler;
  53. fi
  54. - if [[ "${BUILD_TYPE}" == "OSX_OPENSSL_1_1" ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install openssl@1.1 ;fi
  55. # Generate the build scripts with CMake
  56. - mkdir output
  57. - openssl version
  58. - gcc --version
  59. - cmake --version
  60. - gcc unittest/cgi_test.c -o output/cgi_test.cgi
  61. - cd output
  62. - echo cmake
  63. -G "Unix Makefiles"
  64. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  65. -DBUILD_SHARED_LIBS=${BUILD_SHARED}
  66. "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
  67. -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
  68. -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
  69. -DCIVETWEB_DISABLE_CGI=${NO_CGI}
  70. -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
  71. -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
  72. -DCIVETWEB_SSL_OPENSSL_API_1_0=${OPENSSL_1_0}
  73. -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
  74. -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
  75. -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
  76. -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
  77. -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
  78. -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
  79. -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
  80. -DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
  81. -DCIVETWEB_C_STANDARD=${C_STANDARD}
  82. -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
  83. -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
  84. -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
  85. ${ADDITIONAL_CMAKE_ARGS}
  86. ..
  87. - cmake
  88. -G "Unix Makefiles"
  89. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  90. -DBUILD_SHARED_LIBS=${BUILD_SHARED}
  91. "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
  92. -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
  93. -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
  94. -DCIVETWEB_DISABLE_CGI=${NO_CGI}
  95. -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
  96. -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
  97. -DCIVETWEB_SSL_OPENSSL_API_1_0=${OPENSSL_1_0}
  98. -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
  99. -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
  100. -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
  101. -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
  102. -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
  103. -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
  104. -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
  105. -DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
  106. -DCIVETWEB_C_STANDARD=${C_STANDARD}
  107. -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
  108. -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
  109. -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
  110. ${ADDITIONAL_CMAKE_ARGS}
  111. ..
  112. - ls -la
  113. # Modifications due to Travis IPv6 issues:
  114. # https://github.com/travis-ci/travis-ci/issues/8711
  115. # https://github.com/travis-ci/travis-ci/issues/8361
  116. # DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6} or =NO
  117. script:
  118. - if [ "${MACOSX_PACKAGE}" == "1" ]; then
  119. cd "${TRAVIS_BUILD_DIR}";
  120. make -f Makefile.osx package;
  121. else
  122. CTEST_OUTPUT_ON_FAILURE=1 make all test;
  123. fi
  124. - pwd
  125. - ls -la unittest
  126. - echo "Show all test logs:"
  127. - if [ "${MACOSX_PACKAGE}" != "1" ]; then
  128. for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done;
  129. for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done;
  130. fi
  131. - echo "Build and test script DONE"
  132. # Coveralls options: https://github.com/eddyxu/cpp-coveralls/blob/master/README.md
  133. after_success:
  134. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  135. echo "Preparing coverage tests";
  136. echo "Creating coveralls coverage report";
  137. coveralls --include src --exclude src/main.c --exclude src/third_party --include include --gcov-options '\-lp' --root .. --build-root .;
  138. echo "Creating codecov coverage report";
  139. bash <(curl -s https://codecov.io/bash);
  140. echo "All coverage reports created";
  141. fi
  142. conan-linux: &conan-linux
  143. os: linux
  144. dist: xenial
  145. language: python
  146. python: "3.7"
  147. services:
  148. - docker
  149. if: tag IS present
  150. before_install:
  151. - true
  152. install:
  153. - ./conan/travis/install.sh
  154. before_script:
  155. - true
  156. script:
  157. - ./conan/travis/build.sh
  158. after_success:
  159. - true
  160. conan-osx: &conan-osx
  161. os: osx
  162. language: generic
  163. if: tag IS present
  164. before_install:
  165. - true
  166. install:
  167. - ./conan/travis/install.sh
  168. before_script:
  169. - true
  170. script:
  171. - ./conan/travis/build.sh
  172. after_success:
  173. - true
  174. ##############################################################################
  175. # build matrix
  176. ##############################################################################
  177. matrix:
  178. fast_finish: false
  179. include:
  180. - dist: trusty
  181. sudo: false
  182. os: linux
  183. compiler: clang
  184. addons:
  185. apt:
  186. sources:
  187. - ubuntu-toolchain-r-test
  188. - llvm-toolchain-precise-3.8
  189. packages:
  190. - clang-3.8
  191. env:
  192. idx=1
  193. N=Clang3.8-Linux-Minimal-Debug
  194. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  195. BUILD_TYPE=Debug
  196. ENABLE_SSL_DYNAMIC_LOADING=YES
  197. OPENSSL_1_0=NO
  198. OPENSSL_1_1=NO
  199. ENABLE_CXX=NO
  200. ENABLE_LUA_SHARED=NO
  201. C_STANDARD=auto
  202. CXX_STANDARD=auto
  203. BUILD_SHARED=NO
  204. NO_FILES=YES
  205. ENABLE_SSL=NO
  206. NO_CGI=YES
  207. ENABLE_IPV6=NO
  208. ENABLE_WEBSOCKETS=NO
  209. ENABLE_SERVER_STATS=NO
  210. ENABLE_LUA=NO
  211. ENABLE_DUKTAPE=NO
  212. NO_CACHING=NO
  213. ALLOW_WARNINGS=YES
  214. - dist: trusty
  215. sudo: false
  216. os: linux
  217. compiler: clang
  218. addons:
  219. apt:
  220. sources:
  221. - ubuntu-toolchain-r-test
  222. - llvm-toolchain-precise-3.8
  223. packages:
  224. - clang-3.8
  225. env:
  226. idx=2
  227. N=Clang3.8-Linux-Default-Release
  228. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  229. BUILD_TYPE=Release
  230. ENABLE_SSL_DYNAMIC_LOADING=YES
  231. OPENSSL_1_0=YES
  232. OPENSSL_1_1=NO
  233. ENABLE_CXX=NO
  234. ENABLE_LUA_SHARED=NO
  235. C_STANDARD=auto
  236. CXX_STANDARD=auto
  237. BUILD_SHARED=NO
  238. NO_FILES=NO
  239. ENABLE_SSL=YES
  240. NO_CGI=NO
  241. ENABLE_IPV6=NO
  242. ENABLE_WEBSOCKETS=NO
  243. ENABLE_SERVER_STATS=NO
  244. ENABLE_LUA=NO
  245. ENABLE_DUKTAPE=NO
  246. NO_CACHING=NO
  247. NO_CACHING=NO
  248. ALLOW_WARNINGS=YES
  249. - dist: trusty
  250. sudo: false
  251. os: linux
  252. compiler: clang
  253. addons:
  254. apt:
  255. sources:
  256. - ubuntu-toolchain-r-test
  257. - llvm-toolchain-precise-3.8
  258. packages:
  259. - clang-3.8
  260. env:
  261. idx=3
  262. N=Clang3.8-Linux-Default-Release
  263. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  264. BUILD_TYPE=Release
  265. ENABLE_SSL_DYNAMIC_LOADING=YES
  266. OPENSSL_1_0=YES
  267. OPENSSL_1_1=NO
  268. ENABLE_CXX=NO
  269. ENABLE_LUA_SHARED=NO
  270. C_STANDARD=auto
  271. CXX_STANDARD=auto
  272. BUILD_SHARED=NO
  273. NO_FILES=NO
  274. ENABLE_SSL=YES
  275. NO_CGI=NO
  276. ENABLE_IPV6=NO
  277. ENABLE_WEBSOCKETS=NO
  278. ENABLE_SERVER_STATS=NO
  279. ENABLE_LUA=NO
  280. ENABLE_DUKTAPE=NO
  281. NO_CACHING=NO
  282. ALLOW_WARNINGS=YES
  283. - dist: trusty
  284. sudo: required
  285. os: linux
  286. compiler: clang
  287. addons:
  288. apt:
  289. sources:
  290. - ubuntu-toolchain-r-test
  291. - llvm-toolchain-precise-3.8
  292. packages:
  293. - clang-3.8
  294. env:
  295. idx=4
  296. N=Clang3.8-Linux-Complete-NoLua-Release
  297. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  298. BUILD_TYPE=Release
  299. ENABLE_SSL_DYNAMIC_LOADING=YES
  300. OPENSSL_1_0=YES
  301. OPENSSL_1_1=NO
  302. ENABLE_CXX=NO
  303. ENABLE_LUA_SHARED=NO
  304. C_STANDARD=auto
  305. CXX_STANDARD=auto
  306. BUILD_SHARED=NO
  307. NO_FILES=NO
  308. ENABLE_SSL=YES
  309. NO_CGI=NO
  310. ENABLE_IPV6=YES
  311. ENABLE_WEBSOCKETS=YES
  312. ENABLE_SERVER_STATS=YES
  313. ENABLE_LUA=NO
  314. ENABLE_DUKTAPE=NO
  315. NO_CACHING=YES
  316. ALLOW_WARNINGS=YES
  317. - dist: trusty
  318. sudo: required
  319. os: linux
  320. compiler: gcc
  321. addons:
  322. apt:
  323. sources:
  324. - ubuntu-toolchain-r-test
  325. packages:
  326. - g++-5
  327. env:
  328. idx=5
  329. N=GCC5-Linux-Complete-NoLua-Release
  330. MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
  331. BUILD_TYPE=Release
  332. ENABLE_SSL_DYNAMIC_LOADING=YES
  333. OPENSSL_1_0=YES
  334. OPENSSL_1_1=NO
  335. ENABLE_CXX=NO
  336. ENABLE_LUA_SHARED=NO
  337. C_STANDARD=auto
  338. CXX_STANDARD=auto
  339. BUILD_SHARED=NO
  340. NO_FILES=NO
  341. ENABLE_SSL=YES
  342. NO_CGI=NO
  343. ENABLE_IPV6=YES
  344. ENABLE_WEBSOCKETS=YES
  345. ENABLE_SERVER_STATS=YES
  346. ENABLE_LUA=NO
  347. ENABLE_DUKTAPE=NO
  348. NO_CACHING=YES
  349. ALLOW_WARNINGS=YES
  350. - os: linux
  351. sudo: required
  352. compiler: clang
  353. env:
  354. idx=6
  355. N=GCCAnyVersion-Linux-Coverage
  356. BUILD_TYPE=Coverage
  357. ENABLE_SSL_DYNAMIC_LOADING=YES
  358. OPENSSL_1_0=YES
  359. OPENSSL_1_1=NO
  360. ENABLE_CXX=NO
  361. ENABLE_LUA_SHARED=NO
  362. C_STANDARD=auto
  363. CXX_STANDARD=auto
  364. BUILD_SHARED=NO
  365. NO_FILES=NO
  366. ENABLE_SSL=YES
  367. NO_CGI=NO
  368. ENABLE_IPV6=YES
  369. ENABLE_WEBSOCKETS=YES
  370. ENABLE_SERVER_STATS=YES
  371. ENABLE_LUA=NO
  372. ENABLE_DUKTAPE=NO
  373. NO_CACHING=NO
  374. ALLOW_WARNINGS=YES
  375. - os: osx
  376. sudo: required
  377. compiler: clang
  378. env:
  379. idx=7
  380. N=Clang-OSX-Complete-NoLua-Release
  381. BUILD_TYPE=Release
  382. ENABLE_SSL_DYNAMIC_LOADING=YES
  383. OPENSSL_1_0=YES
  384. OPENSSL_1_1=NO
  385. ENABLE_CXX=NO
  386. ENABLE_LUA_SHARED=NO
  387. C_STANDARD=auto
  388. CXX_STANDARD=auto
  389. BUILD_SHARED=NO
  390. NO_FILES=NO
  391. ENABLE_SSL=YES
  392. NO_CGI=NO
  393. ENABLE_IPV6=YES
  394. ENABLE_WEBSOCKETS=YES
  395. ENABLE_SERVER_STATS=YES
  396. ENABLE_LUA=NO
  397. ENABLE_DUKTAPE=NO
  398. NO_CACHING=YES
  399. ALLOW_WARNINGS=YES
  400. -
  401. os: osx
  402. sudo: required
  403. compiler: clang
  404. env:
  405. idx=8
  406. N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
  407. BUILD_TYPE=OSX_OPENSSL_1_1
  408. ENABLE_SSL_DYNAMIC_LOADING=NO
  409. OPENSSL_1_0=NO
  410. OPENSSL_1_1=YES
  411. ENABLE_CXX=NO
  412. ENABLE_LUA_SHARED=NO
  413. C_STANDARD=auto
  414. CXX_STANDARD=auto
  415. BUILD_SHARED=NO
  416. NO_FILES=NO
  417. ENABLE_SSL=YES
  418. NO_CGI=NO
  419. ENABLE_IPV6=YES
  420. ENABLE_WEBSOCKETS=YES
  421. ENABLE_SERVER_STATS=YES
  422. ENABLE_LUA=NO
  423. ENABLE_DUKTAPE=NO
  424. NO_CACHING=YES
  425. ALLOW_WARNINGS=YES
  426. OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1"
  427. LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
  428. CFLAGS="-I${OPENSSL_ROOT_DIR}/include"
  429. ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}"
  430. PATH="${OPENSSL_ROOT_DIR}/bin:$PATH"
  431. DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}"
  432. - dist: trusty
  433. sudo: false
  434. os: linux
  435. compiler: clang
  436. addons:
  437. apt:
  438. sources:
  439. - ubuntu-toolchain-r-test
  440. - llvm-toolchain-trusty-5.0
  441. packages:
  442. - clang-5.0
  443. env:
  444. idx=9
  445. N=Clang50-Linux-Default-Shared
  446. BUILD_TYPE=Debug
  447. ENABLE_SSL_DYNAMIC_LOADING=YES
  448. OPENSSL_1_0=YES
  449. OPENSSL_1_1=NO
  450. ENABLE_CXX=NO
  451. ENABLE_LUA_SHARED=NO
  452. C_STANDARD=auto
  453. CXX_STANDARD=auto
  454. BUILD_SHARED=YES
  455. NO_FILES=NO
  456. ENABLE_SSL=YES
  457. NO_CGI=NO
  458. ENABLE_IPV6=NO
  459. ENABLE_WEBSOCKETS=NO
  460. ENABLE_SERVER_STATS=NO
  461. ENABLE_LUA=NO
  462. ENABLE_DUKTAPE=NO
  463. NO_CACHING=NO
  464. ALLOW_WARNINGS=YES
  465. MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
  466. -
  467. os: linux
  468. dist: precise
  469. sudo: required
  470. compiler: clang
  471. env:
  472. idx=10
  473. N=Precise-Clang-Linux-Default
  474. BUILD_TYPE=Debug
  475. ENABLE_SSL_DYNAMIC_LOADING=YES
  476. OPENSSL_1_0=YES
  477. OPENSSL_1_1=NO
  478. ENABLE_CXX=NO
  479. ENABLE_LUA_SHARED=NO
  480. C_STANDARD=auto
  481. CXX_STANDARD=auto
  482. BUILD_SHARED=NO
  483. NO_FILES=NO
  484. ENABLE_SSL=YES
  485. NO_CGI=NO
  486. ENABLE_IPV6=NO
  487. ENABLE_WEBSOCKETS=NO
  488. ENABLE_SERVER_STATS=NO
  489. ENABLE_LUA=NO
  490. ENABLE_DUKTAPE=NO
  491. NO_CACHING=NO
  492. ALLOW_WARNINGS=YES
  493. -
  494. os: osx
  495. sudo: required
  496. compiler: clang
  497. env:
  498. idx=11
  499. N=OSX-Package
  500. BUILD_TYPE=Release
  501. ENABLE_SSL_DYNAMIC_LOADING=YES
  502. OPENSSL_1_0=YES
  503. OPENSSL_1_1=NO
  504. ENABLE_CXX=NO
  505. ENABLE_LUA_SHARED=NO
  506. C_STANDARD=auto
  507. CXX_STANDARD=auto
  508. BUILD_SHARED=NO
  509. NO_FILES=NO
  510. ENABLE_SSL=YES
  511. NO_CGI=NO
  512. ENABLE_IPV6=YES
  513. ENABLE_WEBSOCKETS=YES
  514. ENABLE_SERVER_STATS=NO
  515. ENABLE_LUA=NO
  516. ENABLE_DUKTAPE=NO
  517. NO_CACHING=NO
  518. ALLOW_WARNINGS=YES
  519. MACOSX_PACKAGE=1
  520. - dist: trusty
  521. sudo: required
  522. os: linux
  523. compiler: clang
  524. addons:
  525. apt:
  526. sources:
  527. - ubuntu-toolchain-r-test
  528. - llvm-toolchain-trusty-3.8
  529. packages:
  530. - clang-3.8
  531. env:
  532. idx=12
  533. N=Clang-Linux-32bit-Complete-NoLua-Release
  534. ARCH=x86
  535. BUILD_TYPE=Release
  536. ENABLE_SSL_DYNAMIC_LOADING=YES
  537. OPENSSL_1_0=YES
  538. OPENSSL_1_1=NO
  539. ENABLE_CXX=NO
  540. ENABLE_LUA_SHARED=NO
  541. C_STANDARD=auto
  542. CXX_STANDARD=auto
  543. BUILD_SHARED=NO
  544. NO_FILES=NO
  545. ENABLE_SSL=YES
  546. NO_CGI=NO
  547. ENABLE_IPV6=YES
  548. ENABLE_WEBSOCKETS=YES
  549. ENABLE_SERVER_STATS=YES
  550. ENABLE_LUA=NO
  551. ENABLE_DUKTAPE=NO
  552. NO_CACHING=YES
  553. ALLOW_WARNINGS=YES
  554. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  555. ### Test all build types:
  556. # According to CMakeLists, options are:
  557. # None Debug Release RelWithDebInfo MinSizeRel Coverage
  558. -
  559. os: linux
  560. sudo: required
  561. compiler: clang
  562. env:
  563. idx=13
  564. N=NoSslDynamicLoading
  565. BUILD_TYPE=Release
  566. ENABLE_SSL_DYNAMIC_LOADING=NO
  567. OPENSSL_1_0=YES
  568. OPENSSL_1_1=NO
  569. ENABLE_CXX=NO
  570. C_STANDARD=auto
  571. CXX_STANDARD=auto
  572. ENABLE_LUA_SHARED=NO
  573. BUILD_SHARED=NO
  574. NO_FILES=NO
  575. ENABLE_SSL=YES
  576. NO_CGI=NO
  577. ENABLE_IPV6=YES
  578. ENABLE_WEBSOCKETS=YES
  579. ENABLE_LUA=NO
  580. ENABLE_DUKTAPE=NO
  581. NO_CACHING=NO
  582. ALLOW_WARNINGS=YES
  583. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  584. -
  585. os: linux
  586. compiler: gcc
  587. env:
  588. idx=14
  589. N=GCCLinuxDefault_Debug
  590. BUILD_TYPE=Debug
  591. ENABLE_SSL_DYNAMIC_LOADING=YES
  592. OPENSSL_1_0=YES
  593. OPENSSL_1_1=NO
  594. ENABLE_CXX=NO
  595. ENABLE_LUA_SHARED=NO
  596. C_STANDARD=auto
  597. CXX_STANDARD=auto
  598. BUILD_SHARED=NO
  599. NO_FILES=NO
  600. ENABLE_SSL=YES
  601. NO_CGI=NO
  602. ENABLE_IPV6=NO
  603. ENABLE_WEBSOCKETS=NO
  604. ENABLE_LUA=NO
  605. ENABLE_DUKTAPE=NO
  606. NO_CACHING=NO
  607. ALLOW_WARNINGS=YES
  608. -
  609. os: linux
  610. compiler: gcc
  611. env:
  612. idx=15
  613. N=GCCLinuxDefault_RelWithDebInfo
  614. BUILD_TYPE=RelWithDebInfo
  615. ENABLE_SSL_DYNAMIC_LOADING=YES
  616. OPENSSL_1_0=YES
  617. OPENSSL_1_1=NO
  618. ENABLE_CXX=NO
  619. ENABLE_LUA_SHARED=NO
  620. C_STANDARD=auto
  621. CXX_STANDARD=auto
  622. BUILD_SHARED=NO
  623. NO_FILES=NO
  624. ENABLE_SSL=YES
  625. NO_CGI=NO
  626. ENABLE_IPV6=NO
  627. ENABLE_WEBSOCKETS=NO
  628. ENABLE_LUA=NO
  629. ENABLE_DUKTAPE=NO
  630. NO_CACHING=NO
  631. ALLOW_WARNINGS=YES
  632. -
  633. os: linux
  634. compiler: gcc
  635. env:
  636. idx=16
  637. N=GCCLinuxDefault_MinSizeRel
  638. BUILD_TYPE=MinSizeRel
  639. ENABLE_SSL_DYNAMIC_LOADING=YES
  640. OPENSSL_1_0=YES
  641. OPENSSL_1_1=NO
  642. ENABLE_CXX=NO
  643. ENABLE_LUA_SHARED=NO
  644. C_STANDARD=auto
  645. CXX_STANDARD=auto
  646. BUILD_SHARED=NO
  647. NO_FILES=NO
  648. ENABLE_SSL=YES
  649. NO_CGI=NO
  650. ENABLE_IPV6=NO
  651. ENABLE_WEBSOCKETS=NO
  652. ENABLE_LUA=NO
  653. ENABLE_DUKTAPE=NO
  654. NO_CACHING=NO
  655. ALLOW_WARNINGS=YES
  656. -
  657. os: linux
  658. compiler: gcc
  659. env:
  660. idx=17
  661. N=GCCLinuxDefault_None
  662. BUILD_TYPE=None
  663. ENABLE_SSL_DYNAMIC_LOADING=YES
  664. OPENSSL_1_0=YES
  665. OPENSSL_1_1=NO
  666. ENABLE_CXX=NO
  667. ENABLE_LUA_SHARED=NO
  668. C_STANDARD=auto
  669. CXX_STANDARD=auto
  670. BUILD_SHARED=NO
  671. NO_FILES=NO
  672. ENABLE_SSL=YES
  673. NO_CGI=NO
  674. ENABLE_IPV6=NO
  675. ENABLE_WEBSOCKETS=NO
  676. ENABLE_LUA=NO
  677. ENABLE_DUKTAPE=NO
  678. NO_CACHING=NO
  679. ALLOW_WARNINGS=YES
  680. -
  681. os: linux
  682. compiler: clang
  683. env:
  684. idx=18
  685. N=Clang3.8-Linux-Complete-NoLua-Debug
  686. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  687. BUILD_TYPE=Debug
  688. ENABLE_SSL_DYNAMIC_LOADING=YES
  689. OPENSSL_1_0=YES
  690. OPENSSL_1_1=NO
  691. ENABLE_CXX=NO
  692. ENABLE_LUA_SHARED=YES
  693. C_STANDARD=auto
  694. CXX_STANDARD=auto
  695. BUILD_SHARED=NO
  696. NO_FILES=NO
  697. ENABLE_SSL=YES
  698. NO_CGI=NO
  699. ENABLE_IPV6=YES
  700. ENABLE_WEBSOCKETS=YES
  701. ENABLE_SERVER_STATS=YES
  702. ENABLE_LUA=NO
  703. ENABLE_DUKTAPE=NO
  704. NO_CACHING=YES
  705. ALLOW_WARNINGS=YES
  706. - dist: trusty
  707. sudo: false
  708. os: linux
  709. compiler: clang
  710. addons:
  711. apt:
  712. sources:
  713. - ubuntu-toolchain-r-test
  714. - llvm-toolchain-trusty-5.0
  715. packages:
  716. - clang-5.0
  717. env:
  718. idx=19
  719. N=Clang5.0-Linux-Complete-CXX-NoLua-Release
  720. MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
  721. BUILD_TYPE=Release
  722. ENABLE_SSL_DYNAMIC_LOADING=YES
  723. OPENSSL_1_0=YES
  724. OPENSSL_1_1=NO
  725. ENABLE_CXX=YES
  726. ENABLE_LUA_SHARED=YES
  727. C_STANDARD=auto
  728. CXX_STANDARD=auto
  729. BUILD_SHARED=NO
  730. NO_FILES=NO
  731. ENABLE_SSL=YES
  732. NO_CGI=NO
  733. ENABLE_IPV6=YES
  734. ENABLE_WEBSOCKETS=YES
  735. ENABLE_SERVER_STATS=YES
  736. ENABLE_LUA=NO
  737. ENABLE_DUKTAPE=NO
  738. NO_CACHING=NO
  739. ALLOW_WARNINGS=YES
  740. -
  741. os: linux
  742. compiler: gcc
  743. dist: xenial
  744. env:
  745. idx=20
  746. N=GCCLinuxDefault_xenial
  747. BUILD_TYPE=Release
  748. ENABLE_SSL_DYNAMIC_LOADING=YES
  749. OPENSSL_1_0=YES
  750. OPENSSL_1_1=NO
  751. ENABLE_CXX=NO
  752. ENABLE_LUA_SHARED=NO
  753. C_STANDARD=auto
  754. CXX_STANDARD=auto
  755. BUILD_SHARED=NO
  756. NO_FILES=NO
  757. ENABLE_SSL=YES
  758. NO_CGI=NO
  759. ENABLE_IPV6=NO
  760. ENABLE_WEBSOCKETS=NO
  761. ENABLE_LUA=NO
  762. ENABLE_DUKTAPE=NO
  763. NO_CACHING=NO
  764. ALLOW_WARNINGS=YES
  765. -
  766. os: linux
  767. compiler: gcc
  768. dist: bionic
  769. env:
  770. idx=21
  771. N=GCCLinuxDefault_bionic
  772. BUILD_TYPE=Release
  773. ENABLE_SSL_DYNAMIC_LOADING=YES
  774. OPENSSL_1_0=NO
  775. OPENSSL_1_1=YES
  776. ENABLE_CXX=NO
  777. ENABLE_LUA_SHARED=NO
  778. C_STANDARD=auto
  779. CXX_STANDARD=auto
  780. BUILD_SHARED=NO
  781. NO_FILES=NO
  782. ENABLE_SSL=YES
  783. NO_CGI=NO
  784. ENABLE_IPV6=NO
  785. ENABLE_WEBSOCKETS=NO
  786. ENABLE_LUA=NO
  787. ENABLE_DUKTAPE=NO
  788. NO_CACHING=NO
  789. ALLOW_WARNINGS=YES
  790. -
  791. os: linux
  792. compiler: gcc
  793. dist: eoan
  794. env:
  795. idx=22
  796. N=GCCLinuxDefault_eoan
  797. BUILD_TYPE=Release
  798. ENABLE_SSL_DYNAMIC_LOADING=YES
  799. OPENSSL_1_0=NO
  800. OPENSSL_1_1=YES
  801. ENABLE_CXX=NO
  802. ENABLE_LUA_SHARED=NO
  803. C_STANDARD=auto
  804. CXX_STANDARD=auto
  805. BUILD_SHARED=NO
  806. NO_FILES=NO
  807. ENABLE_SSL=YES
  808. NO_CGI=NO
  809. ENABLE_IPV6=NO
  810. ENABLE_WEBSOCKETS=NO
  811. ENABLE_LUA=NO
  812. ENABLE_DUKTAPE=NO
  813. NO_CACHING=NO
  814. ALLOW_WARNINGS=YES
  815. -
  816. os: linux
  817. compiler: gcc
  818. dist: focal
  819. addons:
  820. apt:
  821. packages:
  822. - lsb-core
  823. env:
  824. idx=23
  825. N=GCCLinuxDefault_focal
  826. BUILD_TYPE=Release
  827. ENABLE_SSL_DYNAMIC_LOADING=YES
  828. OPENSSL_1_0=NO
  829. OPENSSL_1_1=YES
  830. ENABLE_CXX=NO
  831. ENABLE_LUA_SHARED=NO
  832. C_STANDARD=auto
  833. CXX_STANDARD=auto
  834. BUILD_SHARED=NO
  835. NO_FILES=NO
  836. ENABLE_SSL=YES
  837. NO_CGI=NO
  838. ENABLE_IPV6=NO
  839. ENABLE_WEBSOCKETS=NO
  840. ENABLE_LUA=NO
  841. ENABLE_DUKTAPE=NO
  842. NO_CACHING=NO
  843. ALLOW_WARNINGS=YES
  844. - <<: *conan-linux
  845. env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49 CONAN_DOCKER_32_IMAGES=1
  846. - <<: *conan-linux
  847. env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5 CONAN_DOCKER_32_IMAGES=1
  848. - <<: *conan-linux
  849. env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6 CONAN_DOCKER_32_IMAGES=1
  850. - <<: *conan-linux
  851. env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7 CONAN_DOCKER_32_IMAGES=1
  852. - <<: *conan-linux
  853. env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8 CONAN_DOCKER_32_IMAGES=1
  854. - <<: *conan-linux
  855. env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39 CONAN_DOCKER_32_IMAGES=1
  856. - <<: *conan-linux
  857. env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40 CONAN_DOCKER_32_IMAGES=1
  858. - <<: *conan-linux
  859. env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50 CONAN_DOCKER_32_IMAGES=1
  860. - <<: *conan-linux
  861. env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60 CONAN_DOCKER_32_IMAGES=1
  862. - <<: *conan-osx
  863. osx_image: xcode8.3
  864. env: CONAN_APPLE_CLANG_VERSIONS=8.1
  865. - <<: *conan-osx
  866. osx_image: xcode9
  867. env: CONAN_APPLE_CLANG_VERSIONS=9.0
  868. - <<: *conan-osx
  869. osx_image: xcode9.4
  870. env: CONAN_APPLE_CLANG_VERSIONS=9.1
  871. - <<: *conan-osx
  872. osx_image: xcode10.1
  873. env: CONAN_APPLE_CLANG_VERSIONS=10.0
  874. # Remove Lua build, until someone knows how to fix the CMake files
  875. #
  876. # - dist: trusty
  877. # sudo: required
  878. # os: linux
  879. # compiler: clang
  880. # addons:
  881. # apt:
  882. # sources:
  883. # - ubuntu-toolchain-r-test
  884. # - llvm-toolchain-precise-3.8
  885. # packages:
  886. # - clang-3.8
  887. # - lua5.2
  888. # env:
  889. # idx=99
  890. # N=Clang3.8-Linux-Complete-WithLua-Debug
  891. # MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  892. # BUILD_TYPE=Debug
  893. # ENABLE_SSL_DYNAMIC_LOADING=YES
  894. # OPENSSL_1_0=NO
  895. # OPENSSL_1_1=YES
  896. # ENABLE_CXX=NO
  897. # ENABLE_LUA_SHARED=YES
  898. # C_STANDARD=auto
  899. # CXX_STANDARD=auto
  900. # BUILD_SHARED=NO
  901. # NO_FILES=NO
  902. # ENABLE_SSL=YES
  903. # NO_CGI=NO
  904. # ENABLE_IPV6=YES
  905. # ENABLE_WEBSOCKETS=YES
  906. # ENABLE_SERVER_STATS=YES
  907. # ENABLE_LUA=YES
  908. # ENABLE_LUA_SHARED=YES
  909. # ENABLE_DUKTAPE=NO
  910. # NO_CACHING=YES
  911. # ALLOW_WARNINGS=YES