labeler.yml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. # Copyright (C) Daniel Fandrich, <dan@coneharvesters.com>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. # The workflow configures the .github/workflows/label.yml action
  5. # to add labels to pull requests. This is not (yet?) a replacement for human
  6. # triaging, but is intended to add labels to the easy cases. If the matching
  7. # language becomes more powerful, more cases should be able to be handled.
  8. #
  9. # Labels are added in two ways: the AnyGlobToAllFiles ones are added if all the
  10. # files fit into the category, and the AnyGlobToAnyFile ones are added as long
  11. # as any file matches. The first ones are for "major" categories (the PR is all
  12. # about that one topic, like HTTP/3), while the second ones are "addendums"
  13. # that give useful information about a PR that's really mostly something else
  14. # (e.g. CI if the PR also touches CI jobs).
  15. appleOS:
  16. - all:
  17. - changed-files:
  18. - AnyGlobToAllFiles:
  19. - '.github/workflows/macos.yml'
  20. - 'lib/config-mac.h'
  21. - 'lib/macos*'
  22. - 'lib/vtls/sectransp*'
  23. - 'm4/curl-sectransp.m4'
  24. - 'MacOSX-Framework'
  25. authentication:
  26. - all:
  27. - changed-files:
  28. - AnyGlobToAllFiles:
  29. - 'docs/mk-ca-bundle.1'
  30. - 'docs/libcurl/opts/CURLINFO_HTTPAUTH*'
  31. - 'docs/libcurl/opts/CURLINFO_PROXYAUTH*'
  32. - 'docs/libcurl/opts/CURLOPT_KRB*'
  33. - 'docs/libcurl/opts/CURLOPT_SASL*'
  34. - 'docs/libcurl/opts/CURLOPT_SERVICE_NAME*'
  35. - 'docs/libcurl/opts/CURLOPT_USERNAME*'
  36. - 'docs/libcurl/opts/CURLOPT_USERPWD*'
  37. - 'docs/libcurl/opts/CURLOPT_XOAUTH*'
  38. - 'lib/*gssapi*'
  39. - 'lib/*krb5*'
  40. - 'lib/*ntlm*'
  41. - 'lib/curl_sasl.*'
  42. - 'lib/http_aws*'
  43. - 'lib/http_digest.*'
  44. - 'lib/http_negotiate.*'
  45. - 'lib/vauth/**'
  46. - 'tests/server/fake_ntlm.c'
  47. build:
  48. - all:
  49. - changed-files:
  50. - AnyGlobToAllFiles:
  51. - '**/CMakeLists.txt'
  52. - '**/Makefile.am'
  53. - '**/Makefile.inc'
  54. - '**/Makefile.mk'
  55. - '**/*.m4'
  56. - '**/*.mk'
  57. - '*.m4'
  58. - 'docs/INSTALL.cmake'
  59. - 'lib/curl_config.h.cmake'
  60. - 'lib/libcurl*.in'
  61. - 'CMake/**'
  62. - 'CMakeLists.txt'
  63. - 'configure.ac'
  64. - 'm4/**'
  65. - 'MacOSX-Framework'
  66. - 'Makefile.*'
  67. - 'packages/**'
  68. - 'plan9/**'
  69. - 'projects/**'
  70. - 'winbuild/**'
  71. - 'libcurl.def'
  72. CI:
  73. - all:
  74. - changed-files:
  75. - AnyGlobToAnyFile:
  76. - '.azure-pipelines.yml'
  77. - '.circleci/**'
  78. - '.cirrus.yml'
  79. - '.github/**'
  80. - 'appveyor.yml'
  81. - 'scripts/ci*'
  82. - 'tests/azure.pm'
  83. - 'tests/appveyor.pm'
  84. - 'tests/CI.md'
  85. cmake:
  86. - all:
  87. - changed-files:
  88. - AnyGlobToAllFiles:
  89. - '**/CMakeLists.txt'
  90. - 'CMake/**'
  91. - 'docs/INSTALL.cmake'
  92. - 'lib/curl_config.h.cmake'
  93. cmdline tool:
  94. - all:
  95. - changed-files:
  96. - AnyGlobToAnyFile:
  97. - 'docs/cmdline-opts/**'
  98. - 'src/**'
  99. connecting & proxies:
  100. - all:
  101. - changed-files:
  102. - AnyGlobToAllFiles:
  103. - 'docs/CONNECTION-FILTERS.md'
  104. - 'docs/examples/ipv6.c'
  105. - 'docs/libcurl/opts/CURLINFO_CONNECT*'
  106. - 'docs/libcurl/opts/CURLINFO_PROXY*'
  107. - 'docs/libcurl/opts/CURLOPT_ADDRESS*'
  108. - 'docs/libcurl/opts/CURLOPT_CONNECT*'
  109. - 'docs/libcurl/opts/CURLOPT_HAPROXY*'
  110. - 'docs/libcurl/opts/CURLOPT_OPENSOCKET*'
  111. - 'docs/libcurl/opts/CURLOPT_PRE_PROXY*'
  112. - 'docs/libcurl/opts/CURLOPT_PROXY*'
  113. - 'docs/libcurl/opts/CURLOPT_SOCKOPT*'
  114. - 'docs/libcurl/opts/CURLOPT_SOCKS*'
  115. - 'docs/libcurl/opts/CURLOPT_TCP*'
  116. - 'docs/libcurl/opts/CURLOPT_TIMEOUT*'
  117. - 'lib/cf-*proxy.*'
  118. - 'lib/cf-socket.*'
  119. - 'lib/cfilters.*'
  120. - 'lib/conncache.*'
  121. - 'lib/connect.*'
  122. - 'lib/http_proxy.*'
  123. - 'lib/if2ip.*'
  124. - 'lib/noproxy.*'
  125. - 'lib/socks.*'
  126. - 'tests/server/socksd.c'
  127. cookies:
  128. - all:
  129. - changed-files:
  130. - AnyGlobToAllFiles:
  131. - 'docs/HTTP-COOKIES.md'
  132. - 'docs/cmdline-opts/cookie*'
  133. - 'docs/cmdline-opts/junk-session-cookies.d'
  134. - 'docs/libcurl/opts/CURLINFO_COOKIE*'
  135. - 'docs/libcurl/opts/CURLOPT_COOKIE*'
  136. - 'docs/examples/cookie_interface.c'
  137. - 'lib/cookie.*'
  138. - 'lib/psl.*'
  139. cryptography:
  140. - all:
  141. - changed-files:
  142. - AnyGlobToAllFiles:
  143. - 'docs/CIPHERS.md'
  144. - 'docs/RUSTLS.md'
  145. - 'docs/libcurl/opts/CURLOPT_EGDSOCKET*'
  146. - 'lib/*sha256*'
  147. - 'lib/curl_des.*'
  148. - 'lib/curl_hmac.*'
  149. - 'lib/curl_md?.*'
  150. - 'lib/md?.*'
  151. - 'lib/rand.*'
  152. DICT:
  153. - all:
  154. - changed-files:
  155. - AnyGlobToAllFiles:
  156. - 'lib/dict.*'
  157. - 'tests/dictserver.py'
  158. documentation:
  159. - all:
  160. - changed-files:
  161. - AnyGlobToAllFiles:
  162. - '**/*.md'
  163. - '**/*.txt'
  164. - '**/*.1'
  165. - '**/*.3'
  166. - 'CHANGES'
  167. - 'docs/**'
  168. - 'GIT-INFO'
  169. - 'LICENSES/**'
  170. - 'README'
  171. - 'RELEASE-NOTES'
  172. - AllGlobsToAllFiles:
  173. # negative matches
  174. - '!**/CMakeLists.txt'
  175. - '!**/Makefile.am'
  176. FTP:
  177. - all:
  178. - changed-files:
  179. - AnyGlobToAllFiles:
  180. - 'docs/libcurl/opts/CURLINFO_FTP*'
  181. - 'docs/libcurl/opts/CURLOPT_FTP*'
  182. - 'docs/libcurl/opts/CURLOPT_WILDCARDMATCH*'
  183. - 'docs/examples/ftp*'
  184. - 'lib/curl_fnmatch.*'
  185. - 'lib/curl_range.*'
  186. - 'lib/ftp*'
  187. - 'tests/ftp*'
  188. GOPHER:
  189. - all:
  190. - changed-files:
  191. - AnyGlobToAllFiles:
  192. - 'lib/gopher*'
  193. HTTP:
  194. - all:
  195. - changed-files:
  196. - AnyGlobToAllFiles:
  197. - 'docs/examples/hsts*'
  198. - 'docs/examples/http-*'
  199. - 'docs/examples/httpput*'
  200. - 'docs/examples/https*'
  201. - 'docs/examples/*post*'
  202. - 'docs/HSTS.md'
  203. - 'docs/HTTP-COOKIES.md'
  204. - 'docs/libcurl/opts/CURLINFO_COOKIE*'
  205. - 'docs/libcurl/opts/CURLOPT_COOKIE*'
  206. - 'docs/libcurl/opts/CURLINFO_HTTP_**'
  207. - 'docs/libcurl/opts/CURLINFO_REDIRECT*'
  208. - 'docs/libcurl/opts/CURLINFO_REFER*'
  209. - 'docs/libcurl/opts/CURLOPT_FOLLOWLOCATION*'
  210. - 'docs/libcurl/opts/CURLOPT_HSTS*'
  211. - 'docs/libcurl/opts/CURLOPT_HTTP*'
  212. - 'docs/libcurl/opts/CURLOPT_POST.*'
  213. - 'docs/libcurl/opts/CURLOPT_POSTFIELD*'
  214. - 'docs/libcurl/opts/CURLOPT_POSTREDIR*'
  215. - 'docs/libcurl/opts/CURLOPT_REDIR*'
  216. - 'docs/libcurl/opts/CURLOPT_REFER*'
  217. - 'docs/libcurl/opts/CURLOPT_TRAILER*'
  218. - 'docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING*'
  219. - 'lib/cf-https*'
  220. - 'lib/cf-h1*'
  221. - 'lib/cf-h2*'
  222. - 'lib/cookie.*'
  223. - 'lib/http*'
  224. - 'tests/http*'
  225. - 'tests/http-server.pl'
  226. - 'tests/http/*'
  227. - 'tests/nghttp*'
  228. HTTP/2:
  229. - all:
  230. - changed-files:
  231. - AnyGlobToAllFiles:
  232. - 'CMake/FindNGHTTP2.cmake'
  233. - 'CMake/FindQUICHE.cmake'
  234. - 'docs/HTTP2.md'
  235. - 'docs/libcurl/opts/CURLOPT_STREAM*'
  236. - 'docs/examples/http2*'
  237. - 'lib/http2*'
  238. - 'tests/http2-server.pl'
  239. HTTP/3:
  240. - all:
  241. - changed-files:
  242. - AnyGlobToAllFiles:
  243. - '.github/workflows/ngtcp2*'
  244. - '.github/workflows/quiche*'
  245. - 'CMake/FindMSH3.cmake'
  246. - 'CMake/FindNGHTTP3.cmake'
  247. - 'CMake/FindNGTCP2.cmake'
  248. - 'docs/HTTP3.md'
  249. - 'docs/examples/http3*'
  250. - 'lib/vquic/**'
  251. - 'tests/http3-server.pl'
  252. - 'tests/nghttpx.conf'
  253. Hyper:
  254. - all:
  255. - changed-files:
  256. - AnyGlobToAllFiles:
  257. - 'docs/HYPER.md'
  258. - 'lib/c-hyper.*'
  259. IMAP:
  260. - all:
  261. - changed-files:
  262. - AnyGlobToAllFiles:
  263. - 'lib/imap*'
  264. - 'docs/examples/imap*'
  265. LDAP:
  266. - all:
  267. - changed-files:
  268. - AnyGlobToAllFiles:
  269. - 'lib/*ldap*'
  270. libcurl API:
  271. - all:
  272. - changed-files:
  273. - AnyGlobToAnyFile:
  274. - 'docs/libcurl/ABI.md'
  275. - 'docs/libcurl/curl_*.3'
  276. - 'include/curl/**'
  277. logging:
  278. - all:
  279. - changed-files:
  280. - AnyGlobToAllFiles:
  281. - 'docs/cmdline-opts/trace*'
  282. - 'docs/libcurl/curl_global_trace*'
  283. - 'lib/curl_trc*'
  284. - 'tests/http/test_15_tracing.py'
  285. MIME:
  286. - all:
  287. - changed-files:
  288. - AnyGlobToAllFiles:
  289. - 'docs/libcurl/curl_form*'
  290. - 'docs/libcurl/curl_mime_*'
  291. - 'docs/libcurl/opts/CURLOPT_MIME*'
  292. - 'docs/libcurl/opts/CURLOPT_HTTPPOST*'
  293. - 'lib/formdata*'
  294. - 'lib/mime*'
  295. - 'src/tool_formparse.*'
  296. MQTT:
  297. - all:
  298. - changed-files:
  299. - AnyGlobToAllFiles:
  300. - 'docs/MQTT.md'
  301. - 'lib/mqtt*'
  302. - 'tests/server/mqttd.c'
  303. name lookup:
  304. - all:
  305. - changed-files:
  306. - AnyGlobToAllFiles:
  307. - 'docs/examples/resolve.c'
  308. - 'docs/libcurl/opts/CURLINFO_NAMELOOKUP*'
  309. - 'docs/libcurl/opts/CURLOPT_DNS*'
  310. - 'docs/libcurl/opts/CURLOPT_DOH*'
  311. - 'docs/libcurl/opts/CURLOPT_RESOLVE*'
  312. - 'lib/asyn*'
  313. - 'lib/curl_gethostname.*'
  314. - 'lib/doh*'
  315. - 'lib/host*'
  316. - 'lib/idn*'
  317. - 'lib/inet_pton.*'
  318. - 'lib/socketpair*'
  319. - 'tests/server/resolve.c'
  320. POP3:
  321. - all:
  322. - changed-files:
  323. - AnyGlobToAllFiles:
  324. - 'docs/examples/pop3*'
  325. - 'lib/pop3.*'
  326. RTMP:
  327. - all:
  328. - changed-files:
  329. - AnyGlobToAllFiles:
  330. - 'lib/curl_rtmp.*'
  331. RTSP:
  332. - all:
  333. - changed-files:
  334. - AnyGlobToAllFiles:
  335. - 'docs/libcurl/opts/CURLINFO_RTSP*'
  336. - 'docs/libcurl/opts/CURLOPT_RTSP*'
  337. - 'lib/rtsp.*'
  338. - 'tests/rtspserver.pl'
  339. - 'tests/server/rtspd.c'
  340. SCP/SFTP:
  341. - all:
  342. - changed-files:
  343. - AnyGlobToAllFiles:
  344. - 'CMake/FindLibSSH2.cmake'
  345. - 'docs/libcurl/opts/CURLOPT_SSH*'
  346. - 'docs/examples/sftp*'
  347. - 'lib/vssh/**'
  348. - 'tests/sshhelp.pm'
  349. - 'tests/sshserver.pl'
  350. script:
  351. - all:
  352. - changed-files:
  353. - AnyGlobToAllFiles:
  354. - '**/*.pl'
  355. - '**/*.sh'
  356. - 'curl-config.in'
  357. - 'docs/curl-config.1'
  358. - 'docs/mk-ca-bundle.1'
  359. - 'docs/THANKS-filter'
  360. - 'scripts/**'
  361. SMB:
  362. - all:
  363. - changed-files:
  364. - AnyGlobToAllFiles:
  365. - 'lib/smb.*'
  366. - 'tests/smbserver.py'
  367. SMTP:
  368. - all:
  369. - changed-files:
  370. - AnyGlobToAllFiles:
  371. - 'docs/examples/smtp-*'
  372. - 'docs/libcurl/opts/CURLOPT_MAIL*'
  373. - 'lib/smtp.*'
  374. tests:
  375. - all:
  376. - changed-files:
  377. - AnyGlobToAnyFile:
  378. - 'tests/**'
  379. TFTP:
  380. - all:
  381. - changed-files:
  382. - AnyGlobToAllFiles:
  383. - 'lib/tftp.*'
  384. - 'tests/tftpserver.pl'
  385. - 'tests/server/tftp*'
  386. TLS:
  387. - all:
  388. - changed-files:
  389. - AnyGlobToAllFiles:
  390. - 'CMake/FindBearSSL.cmake'
  391. - 'CMake/FindMbedTLS.cmake'
  392. - 'CMake/FindWolfSSL.cmake'
  393. - 'docs/examples/ssl*'
  394. - 'docs/examples/*ssl.*'
  395. - 'docs/examples/*tls.*'
  396. - 'docs/SSL*'
  397. - 'docs/libcurl/curl_global_sslset*'
  398. - 'docs/libcurl/opts/CURLINFO_CA*'
  399. - 'docs/libcurl/opts/CURLINFO_CERT*'
  400. - 'docs/libcurl/opts/CURLINFO_SSL*'
  401. - 'docs/libcurl/opts/CURLINFO_TLS*'
  402. - 'docs/libcurl/opts/CURLOPT_CA*'
  403. - 'docs/libcurl/opts/CURLOPT_CERT*'
  404. - 'docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*'
  405. - 'docs/libcurl/opts/CURLOPT_SSL*'
  406. - 'docs/libcurl/opts/CURLOPT_TLS*'
  407. - 'docs/libcurl/opts/CURLOPT_USE_SSL*'
  408. - 'lib/vtls/**'
  409. - 'm4/curl-bearssl.m4'
  410. - 'm4/curl-gnutls.m4'
  411. - 'm4/curl-mbedtls.m4'
  412. - 'm4/curl-openssl.m4'
  413. - 'm4/curl-rustls.m4'
  414. - 'm4/curl-schannel.m4'
  415. - 'm4/curl-sectransp.m4'
  416. - 'm4/curl-wolfssl.m4'
  417. URL:
  418. - all:
  419. - changed-files:
  420. - AnyGlobToAllFiles:
  421. - 'docs/libcurl/curl_url*'
  422. - 'docs/URL-SYNTAX.md'
  423. - 'docs/examples/parseurl*'
  424. - 'include/curl/urlapi.h'
  425. - 'lib/urlapi*'
  426. WebSocket:
  427. - all:
  428. - changed-files:
  429. - AnyGlobToAllFiles:
  430. - 'docs/WEBSOCKET.md*'
  431. - 'docs/examples/websocket*'
  432. - 'docs/libcurl/curl_ws_*'
  433. - 'docs/libcurl/libcurl-ws*'
  434. - 'docs/libcurl/opts/CURLOPT_WS_*'
  435. - 'include/curl/websockets.h'
  436. - 'lib/ws.*'
  437. - 'tests/http/clients/ws*'
  438. - 'tests/http/test_20_websockets.py'
  439. - 'tests/http/testenv/ws*'
  440. Windows:
  441. - all:
  442. - changed-files:
  443. - AnyGlobToAllFiles:
  444. - '**/Makefile.mk'
  445. - 'appveyor.yml'
  446. - 'CMake/Platforms/WindowsCache.cmake'
  447. - 'lib/*win32*'
  448. - 'lib/curl_multibyte.*'
  449. - 'lib/rename.*'
  450. - 'lib/vtls/schannel*'
  451. - 'm4/curl-schannel.m4'
  452. - 'projects/**'
  453. - 'src/tool_doswin.c'
  454. - 'winbuild/**'
  455. - 'libcurl.def'