123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537 |
- # Copyright (C) Daniel Fandrich, <dan@coneharvesters.com>, et al.
- #
- # SPDX-License-Identifier: curl
- # The workflow configures the .github/workflows/label.yml action
- # to add labels to pull requests. This is not (yet?) a replacement for human
- # triaging, but is intended to add labels to the easy cases. If the matching
- # language becomes more powerful, more cases should be able to be handled.
- #
- # Labels are added in two ways: the any-glob-to-all-files ones are added if all
- # the files fit into the category, and the any-glob-to-any-file ones are added
- # as long as any file matches. The first ones are for "major" categories (the
- # PR is all about that one topic, like HTTP/3), while the second ones are
- # "addendums" that give useful information about a PR that's really mostly
- # something else (e.g. CI if the PR also touches CI jobs).
- #
- # N.B. any-glob-to-all-files is misnamed; it acts like one-glob-to-all-files.
- # Therefore, to get any-glob-to-all-files semantics with multiple matching
- # patterns, they must be joined with commas to a single string surrounded by
- # braces. For example: '{lib/**,src/**}'.
- #
- # See https://github.com/actions/labeler/ for documentation on this file.
- ---
- appleOS:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- .github/workflows/macos.yml,\
- lib/config-mac.h,\
- lib/macos*,\
- lib/vtls/sectransp*,\
- m4/curl-sectransp.m4\
- }"
- authentication:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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/**\
- }"
- build:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- **/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/**,\
- lib/libcurl.def\
- }"
- CI:
- - all:
- - changed-files:
- - any-glob-to-any-file:
- - '.circleci/**'
- - '.github/**'
- - 'appveyor.*'
- - 'scripts/ci*'
- - 'tests/azure.pm'
- - 'tests/appveyor.pm'
- - 'tests/CI.md'
- cmake:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- **/CMakeLists.txt,\
- CMake/**,\
- docs/INSTALL.cmake,\
- lib/curl_config.h.cmake\
- }"
- cmdline tool:
- - all:
- - changed-files:
- - any-glob-to-any-file:
- - 'docs/cmdline-opts/**'
- - 'src/**'
- connecting & proxies:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/internals/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\
- }"
- cookies:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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.*\
- }"
- cryptography:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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.*\
- }"
- DICT:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/dict.*,\
- tests/dictserver.py\
- }"
- documentation:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- .github/workflows/checkdocs.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*\
- }"
- - all-globs-to-all-files:
- # negative matches
- - '!**/CMakeLists.txt'
- - '!**/Makefile.am'
- FTP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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*\
- }"
- GOPHER:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/gopher*\
- }"
- HTTP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/examples/hsts*,\
- docs/examples/http-*,\
- docs/examples/httpput*,\
- docs/examples/https*,\
- docs/examples/*post*,\
- 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*\
- }"
- HTTP/2:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- CMake/FindNGHTTP2.cmake,\
- CMake/FindQuiche.cmake,\
- docs/libcurl/opts/CURLOPT_STREAM*,\
- docs/examples/http2*,\
- lib/http2*,\
- tests/http2-server.pl\
- }"
- HTTP/3:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- .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\
- }"
- Hyper:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/HYPER.md,\
- lib/c-hyper.*\
- }"
- IMAP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/imap*,\
- docs/examples/imap*\
- }"
- LDAP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/*ldap*\
- }"
- libcurl API:
- - all:
- - changed-files:
- - any-glob-to-any-file:
- - 'docs/libcurl/ABI.md'
- - 'docs/libcurl/curl_*.md'
- - 'include/curl/**'
- logging:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/cmdline-opts/trace*,\
- docs/libcurl/curl_global_trace*,\
- lib/curl_trc*,\
- tests/http/test_15_tracing.py\
- }"
- MIME:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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.*\
- }"
- MQTT:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/mqtt*,\
- tests/server/mqttd.c\
- }"
- name lookup:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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\
- }"
- POP3:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/examples/pop3*,\
- lib/pop3.*\
- }"
- RTMP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/curl_rtmp.*\
- }"
- RTSP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/libcurl/opts/CURLINFO_RTSP*,\
- docs/libcurl/opts/CURLOPT_RTSP*,\
- lib/rtsp.*,\
- tests/rtspserver.pl,\
- tests/server/rtspd.c\
- }"
- SCP/SFTP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- CMake/FindLibssh2.cmake,\
- docs/libcurl/opts/CURLOPT_SSH*,\
- docs/examples/sftp*,\
- lib/vssh/**,\
- tests/sshhelp.pm,\
- tests/sshserver.pl\
- }"
- script:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- **/*.pl,\
- **/*.sh,\
- curl-config.in,\
- docs/curl-config.1,\
- docs/mk-ca-bundle.1,\
- docs/THANKS-filter,\
- scripts/**\
- }"
- SMB:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/smb.*,\
- tests/smbserver.py\
- }"
- SMTP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/examples/smtp-*,\
- docs/libcurl/opts/CURLOPT_MAIL*,\
- lib/smtp.*\
- }"
- tests:
- - all:
- - changed-files:
- - any-glob-to-any-file:
- - 'tests/**'
- TFTP:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- lib/tftp.*,\
- tests/tftpserver.pl,\
- tests/server/tftp*\
- }"
- TLS:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- CMake/FindBearSSL.cmake,\
- CMake/FindMbedTLS.cmake,\
- CMake/FindWolfSSL.cmake,\
- CMake/FindRustls.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\
- }"
- URL:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/libcurl/curl_url*,\
- docs/URL-SYNTAX.md,\
- docs/examples/parseurl*,\
- include/curl/urlapi.h,\
- lib/urlapi*\
- }"
- WebSocket:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- docs/internals/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*\
- }"
- Windows:
- - all:
- - changed-files:
- - any-glob-to-all-files: "{\
- 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/**,\
- lib/libcurl.def\
- }"
|