labeler.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  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. - 'lib/libcurl*.in'
  58. - 'CMake/**'
  59. - 'configure.ac'
  60. - 'm4/**'
  61. - 'MacOSX-Framework'
  62. - 'packages/**'
  63. - 'plan9/**'
  64. - 'projects/**'
  65. - 'winbuild/**'
  66. - 'libcurl.def'
  67. CI:
  68. - all:
  69. - changed-files:
  70. - AnyGlobToAnyFile:
  71. - '.azure-pipelines.yml'
  72. - '.circleci/**'
  73. - '.cirrus.yml'
  74. - '.github/**'
  75. - 'appveyor.yml'
  76. - 'scripts/ci*'
  77. - 'tests/azure.pm'
  78. - 'tests/appveyor.pm'
  79. - 'tests/CI.md'
  80. cmake:
  81. - all:
  82. - changed-files:
  83. - AnyGlobToAllFiles:
  84. - '**/CMakeLists.txt'
  85. - 'CMake/**'
  86. cmdline tool:
  87. - all:
  88. - changed-files:
  89. - AnyGlobToAnyFile:
  90. - 'docs/cmdline-opts/**'
  91. - 'src/**'
  92. connecting & proxies:
  93. - all:
  94. - changed-files:
  95. - AnyGlobToAllFiles:
  96. - 'docs/CONNECTION-FILTERS.md'
  97. - 'docs/examples/ipv6.c'
  98. - 'docs/libcurl/opts/CURLINFO_CONNECT*'
  99. - 'docs/libcurl/opts/CURLINFO_PROXY*'
  100. - 'docs/libcurl/opts/CURLOPT_ADDRESS*'
  101. - 'docs/libcurl/opts/CURLOPT_CONNECT*'
  102. - 'docs/libcurl/opts/CURLOPT_HAPROXY*'
  103. - 'docs/libcurl/opts/CURLOPT_OPENSOCKET*'
  104. - 'docs/libcurl/opts/CURLOPT_PRE_PROXY*'
  105. - 'docs/libcurl/opts/CURLOPT_PROXY*'
  106. - 'docs/libcurl/opts/CURLOPT_SOCKOPT*'
  107. - 'docs/libcurl/opts/CURLOPT_SOCKS*'
  108. - 'docs/libcurl/opts/CURLOPT_TCP*'
  109. - 'docs/libcurl/opts/CURLOPT_TIMEOUT*'
  110. - 'lib/cf-*proxy.*'
  111. - 'lib/cf-socket.*'
  112. - 'lib/cfilters.*'
  113. - 'lib/conncache.*'
  114. - 'lib/connect.*'
  115. - 'lib/http_proxy.*'
  116. - 'lib/if2ip.*'
  117. - 'lib/noproxy.*'
  118. - 'lib/socks.*'
  119. - 'tests/server/socksd.c'
  120. cookies:
  121. - all:
  122. - changed-files:
  123. - AnyGlobToAllFiles:
  124. - 'docs/HTTP-COOKIES.md'
  125. - 'docs/cmdline-opts/cookie*'
  126. - 'docs/cmdline-opts/junk-session-cookies.d'
  127. - 'docs/libcurl/opts/CURLINFO_COOKIE*'
  128. - 'docs/libcurl/opts/CURLOPT_COOKIE*'
  129. - 'docs/examples/cookie_interface.c'
  130. - 'lib/cookie.*'
  131. - 'lib/psl.*'
  132. cryptography:
  133. - all:
  134. - changed-files:
  135. - AnyGlobToAllFiles:
  136. - 'docs/CIPHERS.md'
  137. - 'docs/RUSTLS.md'
  138. - 'docs/libcurl/opts/CURLOPT_EGDSOCKET*'
  139. - 'lib/*sha256*'
  140. - 'lib/curl_des.*'
  141. - 'lib/curl_hmac.*'
  142. - 'lib/curl_md?.*'
  143. - 'lib/md?.*'
  144. - 'lib/rand.*'
  145. DICT:
  146. - all:
  147. - changed-files:
  148. - AnyGlobToAllFiles:
  149. - 'lib/dict.*'
  150. - 'tests/dictserver.py'
  151. documentation:
  152. - all:
  153. - changed-files:
  154. - AnyGlobToAllFiles:
  155. - '**/*.md'
  156. - '**/*.txt'
  157. - '**/*.1'
  158. - '**/*.3'
  159. - 'CHANGES'
  160. - 'docs/**'
  161. - 'GIT-INFO'
  162. - 'LICENSES/**'
  163. - 'README'
  164. - 'RELEASE-NOTES'
  165. - AllGlobsToAllFiles:
  166. # negative matches
  167. - '!**/CMakeLists.txt'
  168. - '!**/Makefile.am'
  169. FTP:
  170. - all:
  171. - changed-files:
  172. - AnyGlobToAllFiles:
  173. - 'docs/libcurl/opts/CURLINFO_FTP*'
  174. - 'docs/libcurl/opts/CURLOPT_FTP*'
  175. - 'docs/libcurl/opts/CURLOPT_WILDCARDMATCH*'
  176. - 'docs/examples/ftp*'
  177. - 'lib/curl_fnmatch.*'
  178. - 'lib/curl_range.*'
  179. - 'lib/ftp*'
  180. - 'tests/ftp*'
  181. GOPHER:
  182. - all:
  183. - changed-files:
  184. - AnyGlobToAllFiles:
  185. - 'lib/gopher*'
  186. HTTP:
  187. - all:
  188. - changed-files:
  189. - AnyGlobToAllFiles:
  190. - 'docs/examples/hsts*'
  191. - 'docs/examples/http-*'
  192. - 'docs/examples/httpput*'
  193. - 'docs/examples/https*'
  194. - 'docs/examples/*post*'
  195. - 'docs/HSTS.md'
  196. - 'docs/HTTP-COOKIES.md'
  197. - 'docs/libcurl/opts/CURLINFO_COOKIE*'
  198. - 'docs/libcurl/opts/CURLOPT_COOKIE*'
  199. - 'docs/libcurl/opts/CURLINFO_HTTP_**'
  200. - 'docs/libcurl/opts/CURLINFO_REDIRECT*'
  201. - 'docs/libcurl/opts/CURLINFO_REFER*'
  202. - 'docs/libcurl/opts/CURLOPT_FOLLOWLOCATION*'
  203. - 'docs/libcurl/opts/CURLOPT_HSTS*'
  204. - 'docs/libcurl/opts/CURLOPT_HTTP*'
  205. - 'docs/libcurl/opts/CURLOPT_POST.*'
  206. - 'docs/libcurl/opts/CURLOPT_POSTFIELD*'
  207. - 'docs/libcurl/opts/CURLOPT_POSTREDIR*'
  208. - 'docs/libcurl/opts/CURLOPT_REDIR*'
  209. - 'docs/libcurl/opts/CURLOPT_REFER*'
  210. - 'docs/libcurl/opts/CURLOPT_TRAILER*'
  211. - 'docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING*'
  212. - 'lib/cf-https*'
  213. - 'lib/cf-h1*'
  214. - 'lib/cf-h2*'
  215. - 'lib/cookie.*'
  216. - 'lib/http*'
  217. - 'tests/http*'
  218. - 'tests/http-server.pl'
  219. - 'tests/http/*'
  220. - 'tests/nghttp*'
  221. HTTP/2:
  222. - all:
  223. - changed-files:
  224. - AnyGlobToAllFiles:
  225. - 'docs/HTTP2.md'
  226. - 'docs/libcurl/opts/CURLOPT_STREAM*'
  227. - 'docs/examples/http2*'
  228. - 'lib/http2*'
  229. - 'tests/http2-server.pl'
  230. HTTP/3:
  231. - all:
  232. - changed-files:
  233. - AnyGlobToAllFiles:
  234. - '.github/workflows/ngtcp2*'
  235. - '.github/workflows/quiche*'
  236. - 'docs/HTTP3.md'
  237. - 'docs/examples/http3*'
  238. - 'lib/vquic/**'
  239. - 'tests/http3-server.pl'
  240. - 'tests/nghttpx.conf'
  241. Hyper:
  242. - all:
  243. - changed-files:
  244. - AnyGlobToAllFiles:
  245. - 'docs/HYPER.md'
  246. - 'lib/c-hyper.*'
  247. IMAP:
  248. - all:
  249. - changed-files:
  250. - AnyGlobToAllFiles:
  251. - 'lib/imap*'
  252. - 'docs/examples/imap*'
  253. LDAP:
  254. - all:
  255. - changed-files:
  256. - AnyGlobToAllFiles:
  257. - 'lib/*ldap*'
  258. libcurl API:
  259. - all:
  260. - changed-files:
  261. - AnyGlobToAnyFile:
  262. - 'docs/libcurl/ABI.md'
  263. - 'include/curl/**'
  264. logging:
  265. - all:
  266. - changed-files:
  267. - AnyGlobToAllFiles:
  268. - 'docs/cmdline-opts/trace*'
  269. - 'docs/libcurl/curl_global_trace*'
  270. - 'lib/curl_trc*'
  271. - 'tests/http/test_15_tracing.py'
  272. MIME:
  273. - all:
  274. - changed-files:
  275. - AnyGlobToAllFiles:
  276. - 'docs/libcurl/curl_mime_*'
  277. - 'docs/libcurl/opts/CURLOPT_MIME*'
  278. - 'lib/mime*'
  279. MQTT:
  280. - all:
  281. - changed-files:
  282. - AnyGlobToAllFiles:
  283. - 'docs/MQTT.md'
  284. - 'lib/mqtt*'
  285. - 'tests/server/mqttd.c'
  286. name lookup:
  287. - all:
  288. - changed-files:
  289. - AnyGlobToAllFiles:
  290. - 'docs/examples/resolve.c'
  291. - 'docs/libcurl/opts/CURLINFO_NAMELOOKUP*'
  292. - 'docs/libcurl/opts/CURLOPT_DNS*'
  293. - 'docs/libcurl/opts/CURLOPT_DOH*'
  294. - 'docs/libcurl/opts/CURLOPT_RESOLVE*'
  295. - 'lib/asyn*'
  296. - 'lib/curl_gethostname.*'
  297. - 'lib/doh*'
  298. - 'lib/host*'
  299. - 'lib/idn*'
  300. - 'lib/inet_pton.*'
  301. - 'lib/socketpair*'
  302. - 'tests/server/resolve.c'
  303. POP3:
  304. - all:
  305. - changed-files:
  306. - AnyGlobToAllFiles:
  307. - 'docs/examples/pop3*'
  308. - 'lib/pop3.*'
  309. RTMP:
  310. - all:
  311. - changed-files:
  312. - AnyGlobToAllFiles:
  313. - 'lib/curl_rtmp.*'
  314. RTSP:
  315. - all:
  316. - changed-files:
  317. - AnyGlobToAllFiles:
  318. - 'docs/libcurl/opts/CURLINFO_RTSP*'
  319. - 'docs/libcurl/opts/CURLOPT_RTSP*'
  320. - 'lib/rtsp.*'
  321. - 'tests/rtspserver.pl'
  322. - 'tests/server/rtspd.c'
  323. SCP/SFTP:
  324. - all:
  325. - changed-files:
  326. - AnyGlobToAllFiles:
  327. - 'docs/libcurl/opts/CURLOPT_SSH*'
  328. - 'docs/examples/sftp*'
  329. - 'lib/vssh/**'
  330. - 'tests/sshhelp.pm'
  331. - 'tests/sshserver.pl'
  332. script:
  333. - all:
  334. - changed-files:
  335. - AnyGlobToAllFiles:
  336. - '**/*.pl'
  337. - '**/*.sh'
  338. - 'curl-config.in'
  339. - 'docs/curl-config.1'
  340. - 'docs/mk-ca-bundle.1'
  341. - 'docs/THANKS-filter'
  342. - 'scripts/**'
  343. SMB:
  344. - all:
  345. - changed-files:
  346. - AnyGlobToAllFiles:
  347. - 'lib/smb.*'
  348. - 'tests/smbserver.py'
  349. SMTP:
  350. - all:
  351. - changed-files:
  352. - AnyGlobToAllFiles:
  353. - 'docs/examples/smtp-*'
  354. - 'docs/libcurl/opts/CURLOPT_MAIL*'
  355. - 'lib/smtp.*'
  356. tests:
  357. - all:
  358. - changed-files:
  359. - AnyGlobToAnyFile:
  360. - 'tests/**'
  361. TFTP:
  362. - all:
  363. - changed-files:
  364. - AnyGlobToAllFiles:
  365. - 'lib/tftp.*'
  366. - 'tests/tftpserver.pl'
  367. - 'tests/server/tftp*'
  368. TLS:
  369. - all:
  370. - changed-files:
  371. - AnyGlobToAllFiles:
  372. - 'docs/SSL*'
  373. - 'docs/libcurl/curl_global_sslset*'
  374. - 'docs/libcurl/opts/CURLINFO_CA*'
  375. - 'docs/libcurl/opts/CURLINFO_CERT*'
  376. - 'docs/libcurl/opts/CURLINFO_SSL*'
  377. - 'docs/libcurl/opts/CURLINFO_TLS*'
  378. - 'docs/libcurl/opts/CURLOPT_CA*'
  379. - 'docs/libcurl/opts/CURLOPT_CERT*'
  380. - 'docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*'
  381. - 'docs/libcurl/opts/CURLOPT_SSL*'
  382. - 'docs/libcurl/opts/CURLOPT_TLS*'
  383. - 'docs/libcurl/opts/CURLOPT_USE_SSL*'
  384. - 'lib/vtls/**'
  385. - 'm4/curl-bearssl.m4'
  386. - 'm4/curl-gnutls.m4'
  387. - 'm4/curl-mbedtls.m4'
  388. - 'm4/curl-openssl.m4'
  389. - 'm4/curl-rustls.m4'
  390. - 'm4/curl-schannel.m4'
  391. - 'm4/curl-sectransp.m4'
  392. - 'm4/curl-wolfssl.m4'
  393. URL:
  394. - all:
  395. - changed-files:
  396. - AnyGlobToAllFiles:
  397. - 'docs/libcurl/curl_url*'
  398. - 'docs/URL-SYNTAX.md'
  399. - 'docs/examples/parseurl*'
  400. - 'include/curl/urlapi.h'
  401. - 'lib/urlapi*'
  402. WebSocket:
  403. - all:
  404. - changed-files:
  405. - AnyGlobToAllFiles:
  406. - 'docs/WEBSOCKET.md*'
  407. - 'docs/examples/websocket*'
  408. - 'docs/libcurl/curl_ws_*'
  409. - 'docs/libcurl/libcurl-ws*'
  410. - 'docs/libcurl/opts/CURLOPT_WS_*'
  411. - 'include/curl/websockets.h'
  412. - 'lib/ws.*'
  413. - 'tests/http/clients/ws*'
  414. - 'tests/http/test_20_websockets.py'
  415. - 'tests/http/testenv/ws*'
  416. Windows:
  417. - all:
  418. - changed-files:
  419. - AnyGlobToAllFiles:
  420. - 'CMake/Platforms/WindowsCache.cmake'
  421. - 'lib/*win32*'
  422. - 'lib/curl_multibyte.*'
  423. - 'lib/rename.*'
  424. - 'lib/vtls/schannel*'
  425. - 'm4/curl-schannel.m4'
  426. - 'projects/**'
  427. - 'src/tool_doswin.c'
  428. - 'winbuild/**'
  429. - 'libcurl.def'