1# Copyright (C) Daniel Fandrich, <dan@coneharvesters.com>, et al. 2# 3# SPDX-License-Identifier: curl 4 5# The workflow configures the .github/workflows/label.yml action 6# to add labels to pull requests. This is not (yet?) a replacement for human 7# triaging, but is intended to add labels to the easy cases. If the matching 8# language becomes more powerful, more cases should be able to be handled. 9# 10# Labels are added in two ways: the any-glob-to-all-files ones are added if all 11# the files fit into the category, and the any-glob-to-any-file ones are added 12# as long as any file matches. The first ones are for "major" categories (the 13# PR is all about that one topic, like HTTP/3), while the second ones are 14# "addendums" that give useful information about a PR that's really mostly 15# something else (e.g. CI if the PR also touches CI jobs). 16# 17# N.B. any-glob-to-all-files is misnamed; it acts like one-glob-to-all-files. 18# Therefore, to get any-glob-to-all-files semantics, there must be a single glob 19# with all matching patterns within braces. 20# 21# See https://github.com/actions/labeler/ for documentation on this file. 22 23appleOS: 24 - all: 25 - changed-files: 26 - any-glob-to-all-files: 27 - '{.github/workflows/macos.yml,lib/config-mac.h,lib/macos*,lib/vtls/sectransp*,m4/curl-sectransp.m4}' 28 29authentication: 30 - all: 31 - changed-files: 32 - any-glob-to-all-files: 33 - '{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}' 34 35build: 36 - all: 37 - changed-files: 38 - any-glob-to-all-files: 39 - '{**/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}' 40 41CI: 42 - all: 43 - changed-files: 44 - any-glob-to-any-file: 45 - '.azure-pipelines.yml' 46 - '.circleci/**' 47 - '.cirrus.yml' 48 - '.github/**' 49 - 'appveyor.*' 50 - 'scripts/ci*' 51 - 'tests/azure.pm' 52 - 'tests/appveyor.pm' 53 - 'tests/CI.md' 54 55cmake: 56 - all: 57 - changed-files: 58 - any-glob-to-all-files: 59 - '{**/CMakeLists.txt,CMake/**,docs/INSTALL.cmake,lib/curl_config.h.cmake}' 60 61cmdline tool: 62 - all: 63 - changed-files: 64 - any-glob-to-any-file: 65 - 'docs/cmdline-opts/**' 66 - 'src/**' 67 68connecting & proxies: 69 - all: 70 - changed-files: 71 - any-glob-to-all-files: 72 - '{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}' 73 74cookies: 75 - all: 76 - changed-files: 77 - any-glob-to-all-files: 78 - '{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.*}' 79 80cryptography: 81 - all: 82 - changed-files: 83 - any-glob-to-all-files: 84 - '{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.*}' 85 86DICT: 87 - all: 88 - changed-files: 89 - any-glob-to-all-files: 90 - '{lib/dict.*,tests/dictserver.py}' 91 92documentation: 93 - all: 94 - changed-files: 95 - any-glob-to-all-files: 96 - '{.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,docs/**,LICENSES/**,README,RELEASE-NOTES,scripts/cd*}' 97 - all-globs-to-all-files: 98 # negative matches 99 - '!**/CMakeLists.txt' 100 - '!**/Makefile.am' 101 102FTP: 103 - all: 104 - changed-files: 105 - any-glob-to-all-files: 106 - '{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*' 107 108GOPHER: 109 - all: 110 - changed-files: 111 - any-glob-to-all-files: 112 - '{lib/gopher*}' 113 114HTTP: 115 - all: 116 - changed-files: 117 - any-glob-to-all-files: 118 - '{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/http*,tests/http*,tests/http-server.pl,tests/http/*,tests/nghttp*}' 119 120HTTP/2: 121 - all: 122 - changed-files: 123 - any-glob-to-all-files: 124 - '{CMake/FindNGHTTP2.cmake,CMake/FindQUICHE.cmake,docs/HTTP2.md,docs/libcurl/opts/CURLOPT_STREAM*,docs/examples/http2*,lib/http2*,tests/http2-server.pl}' 125 126HTTP/3: 127 - all: 128 - changed-files: 129 - any-glob-to-all-files: 130 - '{.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}' 131 132Hyper: 133 - all: 134 - changed-files: 135 - any-glob-to-all-files: 136 - '{docs/HYPER.md,lib/c-hyper.*}' 137 138IMAP: 139 - all: 140 - changed-files: 141 - any-glob-to-all-files: 142 - '{lib/imap*,docs/examples/imap*}' 143 144LDAP: 145 - all: 146 - changed-files: 147 - any-glob-to-all-files: 148 - '{lib/*ldap*}' 149 150libcurl API: 151 - all: 152 - changed-files: 153 - any-glob-to-any-file: 154 - 'docs/libcurl/ABI.md' 155 - 'docs/libcurl/curl_*.md' 156 - 'include/curl/**' 157 158logging: 159 - all: 160 - changed-files: 161 - any-glob-to-all-files: 162 - '{docs/cmdline-opts/trace*,docs/libcurl/curl_global_trace*,lib/curl_trc*,tests/http/test_15_tracing.py}' 163 164MIME: 165 - all: 166 - changed-files: 167 - any-glob-to-all-files: 168 - '{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.*}' 169 170MQTT: 171 - all: 172 - changed-files: 173 - any-glob-to-all-files: 174 - '{docs/MQTT.md,lib/mqtt*,tests/server/mqttd.c}' 175 176name lookup: 177 - all: 178 - changed-files: 179 - any-glob-to-all-files: 180 - '{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}' 181 182POP3: 183 - all: 184 - changed-files: 185 - any-glob-to-all-files: 186 - '{docs/examples/pop3*,lib/pop3.*}' 187 188RTMP: 189 - all: 190 - changed-files: 191 - any-glob-to-all-files: 192 - '{lib/curl_rtmp.*}' 193 194RTSP: 195 - all: 196 - changed-files: 197 - any-glob-to-all-files: 198 - '{docs/libcurl/opts/CURLINFO_RTSP*,docs/libcurl/opts/CURLOPT_RTSP*,lib/rtsp.*,tests/rtspserver.pl,tests/server/rtspd.c}' 199 200SCP/SFTP: 201 - all: 202 - changed-files: 203 - any-glob-to-all-files: 204 - '{CMake/FindLibSSH2.cmake,docs/libcurl/opts/CURLOPT_SSH*,docs/examples/sftp*,lib/vssh/**,tests/sshhelp.pm,tests/sshserver.pl}' 205 206script: 207 - all: 208 - changed-files: 209 - any-glob-to-all-files: 210 - '{**/*.pl,**/*.sh,curl-config.in,docs/curl-config.1,docs/mk-ca-bundle.1,docs/THANKS-filter,scripts/**}' 211 212SMB: 213 - all: 214 - changed-files: 215 - any-glob-to-all-files: 216 - '{lib/smb.*,tests/smbserver.py}' 217 218SMTP: 219 - all: 220 - changed-files: 221 - any-glob-to-all-files: 222 - '{docs/examples/smtp-*,docs/libcurl/opts/CURLOPT_MAIL*,lib/smtp.*}' 223 224tests: 225 - all: 226 - changed-files: 227 - any-glob-to-any-file: 228 - 'tests/**' 229 230TFTP: 231 - all: 232 - changed-files: 233 - any-glob-to-all-files: 234 - '{lib/tftp.*,tests/tftpserver.pl,tests/server/tftp*}' 235 236TLS: 237 - all: 238 - changed-files: 239 - any-glob-to-all-files: 240 - '{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}' 241 242URL: 243 - all: 244 - changed-files: 245 - any-glob-to-all-files: 246 - '{docs/libcurl/curl_url*,docs/URL-SYNTAX.md,docs/examples/parseurl*,include/curl/urlapi.h,lib/urlapi*}' 247 248WebSocket: 249 - all: 250 - changed-files: 251 - any-glob-to-all-files: 252 - '{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*}' 253 254Windows: 255 - all: 256 - changed-files: 257 - any-glob-to-all-files: 258 - '{appveyor.*,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}' 259