jobs.yaml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. #***************************************************************************
  2. # _ _ ____ _
  3. # Project ___| | | | _ \| |
  4. # / __| | | | |_) | |
  5. # | (__| |_| | _ <| |___
  6. # \___|\___/|_| \_\_____|
  7. #
  8. # Copyright (C) 2021 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
  9. #
  10. # This software is licensed as described in the file COPYING, which
  11. # you should have received as part of this distribution. The terms
  12. # are also available at https://curl.se/docs/copyright.html.
  13. #
  14. # You may opt to use, copy, modify, merge, publish, distribute and/or sell
  15. # copies of the Software, and permit persons to whom the Software is
  16. # furnished to do so, under the terms of the COPYING file.
  17. #
  18. # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
  19. # KIND, either express or implied.
  20. #
  21. # SPDX-License-Identifier: curl
  22. #
  23. ###########################################################################
  24. # The results of each of these jobs can be found at
  25. # https://curl.zuul.vexxhost.dev/builds. As of November 2021 they are not being
  26. # propagated to the GitHub "checks" UI, you need to check for them manually.
  27. ---
  28. - job:
  29. name: curl-base
  30. abstract: true
  31. pre-run: zuul.d/playbooks/pre.yaml
  32. run: zuul.d/playbooks/run.yaml
  33. post-run: zuul.d/playbooks/post.yaml
  34. nodeset: ubuntu-bionic
  35. timeout: 3600
  36. vars:
  37. curl_env:
  38. LD_LIBRARY_PATH: /usr/local/lib
  39. # NOTE(mnaser): Workaround to keep existing Travis scripts compatible
  40. TRAVIS_OS_NAME: linux
  41. - job:
  42. name: curl-normal-with-openssl-gssapi-libssh2-checksrc
  43. parent: curl-base
  44. vars:
  45. curl_env:
  46. T: normal
  47. C: --with-openssl --with-gssapi --with-libssh2
  48. CHECKSRC: 1
  49. curl_apt_packages:
  50. - krb5-user
  51. - libssh2-1-dev
  52. - libbrotli-dev
  53. - libzstd-dev
  54. - job:
  55. name: curl-novalgrind-boringssl-with-openssl
  56. parent: curl-base
  57. vars:
  58. gimme_stable: true
  59. curl_env:
  60. CC: gcc-8
  61. CXX: g++-8
  62. T: novalgrind
  63. BORINGSSL: "yes"
  64. C: >-
  65. --with-openssl={{ ansible_user_dir }}/boringssl
  66. LD_LIBRARY_PATH: "{{ ansible_user_dir }}/boringssl/lib:/usr/local/lib"
  67. - job:
  68. name: curl-novalgrind-boringssl-with-openssl-quiche
  69. parent: curl-base
  70. vars:
  71. curl_apt_packages:
  72. - libpsl-dev
  73. - libbrotli-dev
  74. - libzstd-dev
  75. curl_env:
  76. CC: gcc-8
  77. CXX: g++-8
  78. T: novalgrind
  79. QUICHE: "yes"
  80. C: >-
  81. --with-openssl={{ ansible_user_dir }}/quiche/quiche/deps/boringssl/src
  82. --with-quiche={{ ansible_user_dir }}/quiche/target/release
  83. LD_LIBRARY_PATH: "{{ ansible_user_dir }}/quiche/target/release:/usr/local/lib"
  84. - job:
  85. name: curl-novalgrind-ngtcp2-with-openssl
  86. parent: curl-base
  87. vars:
  88. curl_apt_packages:
  89. - libpsl-dev
  90. - libbrotli-dev
  91. - libzstd-dev
  92. curl_env:
  93. CC: gcc-8
  94. CXX: g++-8
  95. T: novalgrind
  96. NGTCP2: "yes"
  97. C: >-
  98. --with-openssl={{ ansible_user_dir }}/ngbuild
  99. --with-ngtcp2={{ ansible_user_dir }}/ngbuild
  100. --with-nghttp3={{ ansible_user_dir }}/ngbuild
  101. NOTESTS:
  102. - job:
  103. name: curl-debug-clang-disable-alt-svc-with-openssl
  104. parent: curl-base
  105. vars:
  106. curl_apt_packages:
  107. - clang-9
  108. - libpsl-dev
  109. - libbrotli-dev
  110. - libzstd-dev
  111. curl_env:
  112. CC: clang-9
  113. CXX: clang++-9
  114. T: debug
  115. C: >-
  116. --with-openssl
  117. --disable-alt-svc
  118. - job:
  119. name: curl-debug-clang-with-gnutls
  120. parent: curl-base
  121. vars:
  122. curl_apt_packages:
  123. - clang-9
  124. - libpsl-dev
  125. - libbrotli-dev
  126. - libzstd-dev
  127. - libgnutls28-dev
  128. curl_env:
  129. CC: clang-9
  130. CXX: clang++-9
  131. T: debug
  132. C: >-
  133. --with-gnutls
  134. - job:
  135. name: curl-cmake-boringssl-quiche
  136. parent: curl-base
  137. vars:
  138. gimme_stable: true
  139. curl_apt_packages:
  140. - libpsl-dev
  141. - libbrotli-dev
  142. - libzstd-dev
  143. curl_env:
  144. BORINGSSL: "yes"
  145. QUICHE: "yes"
  146. CC: gcc-8
  147. CXX: g++-8
  148. T: cmake
  149. C: >-
  150. -GNinja
  151. -DUSE_QUICHE=1
  152. -DOPENSSL_ROOT_DIR={{ ansible_user_dir }}/boringssl
  153. -DCURL_BROTLI=1
  154. -DCURL_ZSTD=1
  155. TFLAGS: https ftps
  156. PKG_CONFIG_PATH: "{{ ansible_user_dir }}/quiche/target/release"
  157. - job:
  158. name: curl-cmake-ngtcp2
  159. parent: curl-base
  160. vars:
  161. curl_apt_packages:
  162. - clang-9
  163. - libpsl-dev
  164. - libbrotli-dev
  165. - libzstd-dev
  166. - libnss3-dev
  167. curl_env:
  168. NGTCP2: "yes"
  169. CC: clang-9
  170. CXX: clang++-9
  171. T: cmake
  172. C: >-
  173. -GNinja
  174. -DUSE_NGTCP2=ON
  175. -DCURL_BROTLI=1
  176. -DCURL_ZSTD=1
  177. PKG_CONFIG_PATH: "{{ ansible_user_dir }}/ngbuild/lib/pkgconfig"
  178. - job:
  179. name: curl-debug-clang-with-openssl-dl-ubsan
  180. parent: curl-base
  181. vars:
  182. curl_apt_packages:
  183. - clang-9
  184. - libpsl-dev
  185. - libbrotli-dev
  186. - libzstd-dev
  187. curl_env:
  188. CC: clang-9
  189. CXX: clang++-9
  190. T: debug
  191. CFLAGS: >-
  192. -fsanitize=address,undefined,signed-integer-overflow
  193. -fno-sanitize-recover=undefined,integer
  194. -Wformat
  195. -Werror=format-security
  196. -Werror=array-bounds
  197. -g
  198. LDFLAGS: >-
  199. -fsanitize=address,undefined
  200. -fno-sanitize-recover=undefined,integer
  201. LIBS: -ldl -lubsan
  202. TFLAGS: -n
  203. C: --with-openssl
  204. - project:
  205. check:
  206. jobs:
  207. - curl-normal-with-openssl-gssapi-libssh2-checksrc
  208. - curl-novalgrind-boringssl-with-openssl
  209. - curl-novalgrind-boringssl-with-openssl-quiche
  210. - curl-novalgrind-ngtcp2-with-openssl
  211. - curl-debug-clang-disable-alt-svc-with-openssl
  212. - curl-debug-clang-with-gnutls
  213. - curl-cmake-boringssl-quiche
  214. - curl-cmake-ngtcp2
  215. - curl-debug-clang-with-openssl-dl-ubsan
  216. ...