labeler.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  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 any-glob-to-all-files ones are added if all
  10. # the files fit into the category, and the any-glob-to-any-file ones are added
  11. # as long as any file matches. The first ones are for "major" categories (the
  12. # PR is all about that one topic, like HTTP/3), while the second ones are
  13. # "addendums" that give useful information about a PR that's really mostly
  14. # something else (e.g. CI if the PR also touches CI jobs).
  15. #
  16. # N.B. any-glob-to-all-files is misnamed; it acts like one-glob-to-all-files.
  17. # Therefore, to get any-glob-to-all-files semantics, there must be a single glob
  18. # with all matching patterns within braces.
  19. #
  20. # See https://github.com/actions/labeler/ for documentation on this file.
  21. appleOS:
  22. - all:
  23. - changed-files:
  24. - any-glob-to-all-files:
  25. - '{.github/workflows/macos.yml,lib/config-mac.h,lib/macos*,lib/vtls/sectransp*,m4/curl-sectransp.m4}'
  26. authentication:
  27. - all:
  28. - changed-files:
  29. - any-glob-to-all-files:
  30. - '{docs/mk-ca-bundle.1,docs/libcurl/opts/CURLINFO_HTTPAUTH*,docs/libcurl/opts/CURLINFO_PROXYAUTH*,docs/libcurl/opts/CURLOPT_KRB*,docs/libcurl/opts/CURLOPT_SASL*,docs/libcurl/opts/CURLOPT_SERVICE_NAME*,docs/libcurl/opts/CURLOPT_USERNAME*,docs/libcurl/opts/CURLOPT_USERPWD*,docs/libcurl/opts/CURLOPT_XOAUTH*,lib/*gssapi*,lib/*krb5*,lib/*ntlm*,lib/curl_sasl.*,lib/http_aws*,lib/http_digest.*,lib/http_negotiate.*,lib/vauth/**,tests/server/fake_ntlm.c}'
  31. build:
  32. - all:
  33. - changed-files:
  34. - any-glob-to-all-files:
  35. - '{**/CMakeLists.txt,**/Makefile.am,**/Makefile.inc,**/Makefile.mk,**/*.m4,**/*.mk,*.m4,docs/INSTALL.cmake,lib/curl_config.h.cmake,lib/libcurl*.in,CMake/**,CMakeLists.txt,configure.ac,m4/**,Makefile.*,packages/**,plan9/**,projects/**,winbuild/**,libcurl.def}'
  36. CI:
  37. - all:
  38. - changed-files:
  39. - any-glob-to-any-file:
  40. - '.azure-pipelines.yml'
  41. - '.circleci/**'
  42. - '.github/**'
  43. - 'appveyor.*'
  44. - 'scripts/ci*'
  45. - 'tests/azure.pm'
  46. - 'tests/appveyor.pm'
  47. - 'tests/CI.md'
  48. cmake:
  49. - all:
  50. - changed-files:
  51. - any-glob-to-all-files:
  52. - '{**/CMakeLists.txt,CMake/**,docs/INSTALL.cmake,lib/curl_config.h.cmake}'
  53. cmdline tool:
  54. - all:
  55. - changed-files:
  56. - any-glob-to-any-file:
  57. - 'docs/cmdline-opts/**'
  58. - 'src/**'
  59. connecting & proxies:
  60. - all:
  61. - changed-files:
  62. - any-glob-to-all-files:
  63. - '{docs/CONNECTION-FILTERS.md,docs/examples/ipv6.c,docs/libcurl/opts/CURLINFO_CONNECT*,docs/libcurl/opts/CURLINFO_PROXY*,docs/libcurl/opts/CURLOPT_ADDRESS*,docs/libcurl/opts/CURLOPT_CONNECT*,docs/libcurl/opts/CURLOPT_HAPROXY*,docs/libcurl/opts/CURLOPT_OPENSOCKET*,docs/libcurl/opts/CURLOPT_PRE_PROXY*,docs/libcurl/opts/CURLOPT_PROXY*,docs/libcurl/opts/CURLOPT_SOCKOPT*,docs/libcurl/opts/CURLOPT_SOCKS*,docs/libcurl/opts/CURLOPT_TCP*,docs/libcurl/opts/CURLOPT_TIMEOUT*,lib/cf-*proxy.*,lib/cf-socket.*,lib/cfilters.*,lib/conncache.*,lib/connect.*,lib/http_proxy.*,lib/if2ip.*,lib/noproxy.*,lib/socks.*,tests/server/socksd.c}'
  64. cookies:
  65. - all:
  66. - changed-files:
  67. - any-glob-to-all-files:
  68. - '{docs/HTTP-COOKIES.md,docs/cmdline-opts/cookie*,docs/cmdline-opts/junk-session-cookies.md,docs/libcurl/opts/CURLINFO_COOKIE*,docs/libcurl/opts/CURLOPT_COOKIE*,docs/examples/cookie_interface.c,lib/cookie.*,lib/psl.*}'
  69. cryptography:
  70. - all:
  71. - changed-files:
  72. - any-glob-to-all-files:
  73. - '{docs/CIPHERS.md,docs/RUSTLS.md,docs/libcurl/opts/CURLOPT_EGDSOCKET*,lib/*sha256*,lib/*sha512*,lib/curl_des.*,lib/curl_hmac.*,lib/curl_md?.*,lib/md?.*,lib/rand.*}'
  74. DICT:
  75. - all:
  76. - changed-files:
  77. - any-glob-to-all-files:
  78. - '{lib/dict.*,tests/dictserver.py}'
  79. documentation:
  80. - all:
  81. - changed-files:
  82. - any-glob-to-all-files:
  83. - '{.github/workflows/badwords.yml,.github/workflows/man-examples.yml,.github/workflows/synopsis.yml,.github/scripts/badwords.*,.github/scripts/cd2cd,.github/scripts/cd2nroff,.github/scripts/cdall.pl,.github/scripts/nroff2cd,.github/scripts/verify-examples.pl,.github/scripts/verify-synopsis.pl,**/*.md,**/*.txt,**/*.1,CHANGES.md,docs/**,LICENSES/**,README,RELEASE-NOTES,scripts/cd*}'
  84. - all-globs-to-all-files:
  85. # negative matches
  86. - '!**/CMakeLists.txt'
  87. - '!**/Makefile.am'
  88. FTP:
  89. - all:
  90. - changed-files:
  91. - any-glob-to-all-files:
  92. - '{docs/libcurl/opts/CURLINFO_FTP*,docs/libcurl/opts/CURLOPT_FTP*,docs/libcurl/opts/CURLOPT_WILDCARDMATCH*,docs/examples/ftp*,lib/curl_fnmatch.*,lib/curl_range.*,lib/ftp*,tests/ftp*'
  93. GOPHER:
  94. - all:
  95. - changed-files:
  96. - any-glob-to-all-files:
  97. - 'lib/gopher*'
  98. HTTP:
  99. - all:
  100. - changed-files:
  101. - any-glob-to-all-files:
  102. - '{docs/examples/hsts*,docs/examples/http-*,docs/examples/httpput*,docs/examples/https*,docs/examples/*post*,docs/HSTS.md,docs/HTTP-COOKIES.md,docs/libcurl/opts/CURLINFO_COOKIE*,docs/libcurl/opts/CURLOPT_COOKIE*,docs/libcurl/opts/CURLINFO_HTTP_**,docs/libcurl/opts/CURLINFO_REDIRECT*,docs/libcurl/opts/CURLINFO_REFER*,docs/libcurl/opts/CURLOPT_FOLLOWLOCATION*,docs/libcurl/opts/CURLOPT_HSTS*,docs/libcurl/opts/CURLOPT_HTTP*,docs/libcurl/opts/CURLOPT_POST.*,docs/libcurl/opts/CURLOPT_POSTFIELD*,docs/libcurl/opts/CURLOPT_POSTREDIR*,docs/libcurl/opts/CURLOPT_REDIR*,docs/libcurl/opts/CURLOPT_REFER*,docs/libcurl/opts/CURLOPT_TRAILER*,docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING*,lib/cf-https*,lib/cf-h1*,lib/cf-h2*,lib/cookie.*,lib/hsts.*,lib/http*,tests/http*,tests/http-server.pl,tests/http/*,tests/nghttp*}'
  103. HTTP/2:
  104. - all:
  105. - changed-files:
  106. - any-glob-to-all-files:
  107. - '{CMake/FindNGHTTP2.cmake,CMake/FindQUICHE.cmake,docs/HTTP2.md,docs/libcurl/opts/CURLOPT_STREAM*,docs/examples/http2*,lib/http2*,tests/http2-server.pl}'
  108. HTTP/3:
  109. - all:
  110. - changed-files:
  111. - any-glob-to-all-files:
  112. - '{.github/workflows/ngtcp2*,.github/workflows/quiche*,.github/workflows/osslq*,CMake/FindMSH3.cmake,CMake/FindNGHTTP3.cmake,CMake/FindNGTCP2.cmake,docs/HTTP3.md,docs/examples/http3*,lib/vquic/**,tests/http3-server.pl,tests/nghttpx.conf}'
  113. Hyper:
  114. - all:
  115. - changed-files:
  116. - any-glob-to-all-files:
  117. - '{docs/HYPER.md,lib/c-hyper.*}'
  118. IMAP:
  119. - all:
  120. - changed-files:
  121. - any-glob-to-all-files:
  122. - '{lib/imap*,docs/examples/imap*}'
  123. LDAP:
  124. - all:
  125. - changed-files:
  126. - any-glob-to-all-files:
  127. - 'lib/*ldap*'
  128. libcurl API:
  129. - all:
  130. - changed-files:
  131. - any-glob-to-any-file:
  132. - 'docs/libcurl/ABI.md'
  133. - 'docs/libcurl/curl_*.md'
  134. - 'include/curl/**'
  135. logging:
  136. - all:
  137. - changed-files:
  138. - any-glob-to-all-files:
  139. - '{docs/cmdline-opts/trace*,docs/libcurl/curl_global_trace*,lib/curl_trc*,tests/http/test_15_tracing.py}'
  140. MIME:
  141. - all:
  142. - changed-files:
  143. - any-glob-to-all-files:
  144. - '{docs/libcurl/curl_form*,docs/libcurl/curl_mime_*,docs/libcurl/opts/CURLOPT_MIME*,docs/libcurl/opts/CURLOPT_HTTPPOST*,lib/formdata*,lib/mime*,src/tool_formparse.*}'
  145. MQTT:
  146. - all:
  147. - changed-files:
  148. - any-glob-to-all-files:
  149. - '{docs/MQTT.md,lib/mqtt*,tests/server/mqttd.c}'
  150. name lookup:
  151. - all:
  152. - changed-files:
  153. - any-glob-to-all-files:
  154. - '{docs/examples/resolve.c,docs/libcurl/opts/CURLINFO_NAMELOOKUP*,docs/libcurl/opts/CURLOPT_DNS*,docs/libcurl/opts/CURLOPT_DOH*,docs/libcurl/opts/CURLOPT_RESOLVE*,lib/asyn*,lib/curl_gethostname.*,lib/doh*,lib/host*,lib/idn*,lib/inet_pton.*,lib/socketpair*,tests/server/resolve.c}'
  155. POP3:
  156. - all:
  157. - changed-files:
  158. - any-glob-to-all-files:
  159. - '{docs/examples/pop3*,lib/pop3.*}'
  160. RTMP:
  161. - all:
  162. - changed-files:
  163. - any-glob-to-all-files:
  164. - 'lib/curl_rtmp.*'
  165. RTSP:
  166. - all:
  167. - changed-files:
  168. - any-glob-to-all-files:
  169. - '{docs/libcurl/opts/CURLINFO_RTSP*,docs/libcurl/opts/CURLOPT_RTSP*,lib/rtsp.*,tests/rtspserver.pl,tests/server/rtspd.c}'
  170. SCP/SFTP:
  171. - all:
  172. - changed-files:
  173. - any-glob-to-all-files:
  174. - '{CMake/FindLibSSH2.cmake,docs/libcurl/opts/CURLOPT_SSH*,docs/examples/sftp*,lib/vssh/**,tests/sshhelp.pm,tests/sshserver.pl}'
  175. script:
  176. - all:
  177. - changed-files:
  178. - any-glob-to-all-files:
  179. - '{**/*.pl,**/*.sh,curl-config.in,docs/curl-config.1,docs/mk-ca-bundle.1,docs/THANKS-filter,scripts/**}'
  180. SMB:
  181. - all:
  182. - changed-files:
  183. - any-glob-to-all-files:
  184. - '{lib/smb.*,tests/smbserver.py}'
  185. SMTP:
  186. - all:
  187. - changed-files:
  188. - any-glob-to-all-files:
  189. - '{docs/examples/smtp-*,docs/libcurl/opts/CURLOPT_MAIL*,lib/smtp.*}'
  190. tests:
  191. - all:
  192. - changed-files:
  193. - any-glob-to-any-file:
  194. - 'tests/**'
  195. TFTP:
  196. - all:
  197. - changed-files:
  198. - any-glob-to-all-files:
  199. - '{lib/tftp.*,tests/tftpserver.pl,tests/server/tftp*}'
  200. TLS:
  201. - all:
  202. - changed-files:
  203. - any-glob-to-all-files:
  204. - '{CMake/FindBearSSL.cmake,CMake/FindMbedTLS.cmake,CMake/FindWolfSSL.cmake,docs/examples/ssl*,docs/examples/*ssl.*,docs/examples/*tls.*,docs/SSL*,docs/libcurl/curl_global_sslset*,docs/libcurl/opts/CURLINFO_CA*,docs/libcurl/opts/CURLINFO_CERT*,docs/libcurl/opts/CURLINFO_SSL*,docs/libcurl/opts/CURLINFO_TLS*,docs/libcurl/opts/CURLOPT_CA*,docs/libcurl/opts/CURLOPT_CERT*,docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*,docs/libcurl/opts/CURLOPT_SSL*,docs/libcurl/opts/CURLOPT_TLS*,docs/libcurl/opts/CURLOPT_USE_SSL*,lib/vtls/**,m4/curl-bearssl.m4,m4/curl-gnutls.m4,m4/curl-mbedtls.m4,m4/curl-openssl.m4,m4/curl-rustls.m4,m4/curl-schannel.m4,m4/curl-sectransp.m4,m4/curl-wolfssl.m4}'
  205. URL:
  206. - all:
  207. - changed-files:
  208. - any-glob-to-all-files:
  209. - '{docs/libcurl/curl_url*,docs/URL-SYNTAX.md,docs/examples/parseurl*,include/curl/urlapi.h,lib/urlapi*}'
  210. WebSocket:
  211. - all:
  212. - changed-files:
  213. - any-glob-to-all-files:
  214. - '{docs/WEBSOCKET.md*,docs/examples/websocket*,docs/libcurl/curl_ws_*,docs/libcurl/libcurl-ws*,docs/libcurl/opts/CURLOPT_WS_*,include/curl/websockets.h,lib/ws.*,tests/http/clients/ws*,tests/http/test_20_websockets.py,tests/http/testenv/ws*}'
  215. Windows:
  216. - all:
  217. - changed-files:
  218. - any-glob-to-all-files:
  219. - '{appveyor.*,.github/workflows/windows.yml,CMake/Platforms/WindowsCache.cmake,lib/*win32*,lib/curl_multibyte.*,lib/rename.*,lib/vtls/schannel*,m4/curl-schannel.m4,projects/**,src/tool_doswin.c,winbuild/**,libcurl.def}'