github/labeler: switch to the 5 beta version

This version adds an important feature that will allow more PRs to be
labelled. Rather than being limited to labeling PRs with files that
match a single glob, it can now label them if multiple changed files
match any one of a number of globs.
This commit is contained in:
Dan Fandrich 2023-09-20 12:22:46 -07:00
parent ff5e502316
commit dd12b452a8
2 changed files with 367 additions and 225 deletions

590
.github/labeler.yml vendored
View File

@ -7,297 +7,439 @@
# triaging, but is intended to add labels to the easy cases. If the matching # 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. # language becomes more powerful, more cases should be able to be handled.
# #
# The biggest low-hanging problem is this: # Labels are added in two ways: the AnyGlobToAllFiles ones are added if all the
# It looks like there's no way of specifying that a label be added if *all* the # files fit into the category, and the AnyGlobToAnyFile ones are added as long
# files match *any* one of a number of globs. This feature request is tracked # as any file matches. The first ones are for "major" categories (the PR is all
# in https://github.com/actions/labeler/issues/423 # 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).
authentication: authentication:
- all: ['docs/mk-ca-bundle.1'] - all:
- all: ['docs/libcurl/opts/CURLINFO_HTTPAUTH*'] - changed-files:
- all: ['docs/libcurl/opts/CURLINFO_PROXYAUTH*'] - AnyGlobToAllFiles: [
- all: ['docs/libcurl/opts/CURLOPT_KRB*'] 'docs/mk-ca-bundle.1',
- all: ['docs/libcurl/opts/CURLOPT_SASL*'] 'docs/libcurl/opts/CURLINFO_HTTPAUTH*',
- all: ['docs/libcurl/opts/CURLOPT_SERVICE_NAME*'] 'docs/libcurl/opts/CURLINFO_PROXYAUTH*',
- all: ['docs/libcurl/opts/CURLOPT_USERNAME*'] 'docs/libcurl/opts/CURLOPT_KRB*',
- all: ['docs/libcurl/opts/CURLOPT_USERPWD*'] 'docs/libcurl/opts/CURLOPT_SASL*',
- all: ['docs/libcurl/opts/CURLOPT_XOAUTH*'] 'docs/libcurl/opts/CURLOPT_SERVICE_NAME*',
- all: ['lib/*gssapi*'] 'docs/libcurl/opts/CURLOPT_USERNAME*',
- all: ['lib/*krb5*'] 'docs/libcurl/opts/CURLOPT_USERPWD*',
- all: ['lib/*ntlm*'] 'docs/libcurl/opts/CURLOPT_XOAUTH*',
- all: ['lib/curl_sasl.*'] 'lib/*gssapi*',
- all: ['lib/http_aws*'] 'lib/*krb5*',
- all: ['lib/http_digest.*'] 'lib/*ntlm*',
- all: ['lib/http_negotiate.*'] 'lib/curl_sasl.*',
- all: ['lib/vauth/**'] 'lib/http_aws*',
- all: ['tests/server/fake_ntlm.c'] 'lib/http_digest.*',
'lib/http_negotiate.*',
'lib/vauth/**',
'tests/server/fake_ntlm.c'
]
build: build:
- all: ['**/CMakeLists.txt'] - all:
- all: ['**/Makefile.am'] - changed-files:
- all: ['**/Makefile.inc'] - AnyGlobToAllFiles: [
- all: ['**/Makefile.mk'] '**/CMakeLists.txt',
- all: ['**/*.m4'] '**/Makefile.am',
- all: ['**/*.mk'] '**/Makefile.inc',
- all: ['lib/libcurl*.in'] '**/Makefile.mk',
- all: ['CMake/**'] '**/*.m4',
- all: ['configure.ac'] '**/*.mk',
- all: ['m4/**'] 'lib/libcurl*.in',
- all: ['MacOSX-Framework'] 'CMake/**',
- all: ['packages/**'] 'configure.ac',
- all: ['plan9/**'] 'm4/**',
- all: ['projects/**'] 'MacOSX-Framework',
- all: ['winbuild/**'] 'packages/**',
- all: ['libcurl.def'] 'plan9/**',
'projects/**',
'winbuild/**',
'libcurl.def'
]
CI: CI:
- any: ['.azure-pipelines.yml'] - all:
- any: ['.circleci/**'] - changed-files:
- any: ['.cirrus.yml'] - AnyGlobToAnyFile: [
- any: ['.github/**'] '.azure-pipelines.yml',
- any: ['appveyor.yml'] '.circleci/**',
- any: ['tests/azure.pm'] '.cirrus.yml',
- any: ['tests/appveyor.pm'] '.github/**',
'appveyor.yml',
'tests/azure.pm',
'tests/appveyor.pm'
]
cmake: cmake:
- all: ['**/CMakeLists.txt'] - all:
- all: ['CMake/**'] - changed-files:
- AnyGlobToAllFiles: [
'**/CMakeLists.txt',
'CMake/**'
]
cmdline tool: cmdline tool:
- any: ['docs/cmdline-opts/**'] - all:
- any: ['src/**'] - changed-files:
- AnyGlobToAnyFile: [
'docs/cmdline-opts/**',
'src/**'
]
connecting & proxies: connecting & proxies:
- all: ['docs/CONNECTION-FILTERS.md'] - all:
- all: ['docs/libcurl/opts/CURLINFO_CONNECT*'] - changed-files:
- all: ['docs/libcurl/opts/CURLINFO_PROXY*'] - AnyGlobToAllFiles: [
- all: ['docs/libcurl/opts/CURLOPT_ADDRESS*'] 'docs/CONNECTION-FILTERS.md',
- all: ['docs/libcurl/opts/CURLOPT_CONNECT*'] 'docs/libcurl/opts/CURLINFO_CONNECT*',
- all: ['docs/libcurl/opts/CURLOPT_HAPROXY*'] 'docs/libcurl/opts/CURLINFO_PROXY*',
- all: ['docs/libcurl/opts/CURLOPT_OPENSOCKET*'] 'docs/libcurl/opts/CURLOPT_ADDRESS*',
- all: ['docs/libcurl/opts/CURLOPT_PRE_PROXY*'] 'docs/libcurl/opts/CURLOPT_CONNECT*',
- all: ['docs/libcurl/opts/CURLOPT_PROXY*'] 'docs/libcurl/opts/CURLOPT_HAPROXY*',
- all: ['docs/libcurl/opts/CURLOPT_SOCKOPT*'] 'docs/libcurl/opts/CURLOPT_OPENSOCKET*',
- all: ['docs/libcurl/opts/CURLOPT_SOCKS*'] 'docs/libcurl/opts/CURLOPT_PRE_PROXY*',
- all: ['docs/libcurl/opts/CURLOPT_TCP*'] 'docs/libcurl/opts/CURLOPT_PROXY*',
- all: ['docs/libcurl/opts/CURLOPT_TIMEOUT*'] 'docs/libcurl/opts/CURLOPT_SOCKOPT*',
- all: ['lib/cf-*proxy.*'] 'docs/libcurl/opts/CURLOPT_SOCKS*',
- all: ['lib/cf-socket.*'] 'docs/libcurl/opts/CURLOPT_TCP*',
- all: ['lib/cfilters.*'] 'docs/libcurl/opts/CURLOPT_TIMEOUT*',
- all: ['lib/conncache.*'] 'lib/cf-*proxy.*',
- all: ['lib/connect.*'] 'lib/cf-socket.*',
- all: ['lib/http_proxy.*'] 'lib/cfilters.*',
- all: ['lib/if2ip.*'] 'lib/conncache.*',
- all: ['lib/noproxy.*'] 'lib/connect.*',
- all: ['lib/socks.*'] 'lib/http_proxy.*',
- all: ['tests/server/socksd.c'] 'lib/if2ip.*',
'lib/noproxy.*',
'lib/socks.*',
'tests/server/socksd.c'
]
cookies: cookies:
- all: ['docs/HTTP-COOKIES.md'] - all:
- all: ['docs/libcurl/opts/CURLINFO_COOKIE*'] - changed-files:
- all: ['docs/libcurl/opts/CURLOPT_COOKIE*'] - AnyGlobToAllFiles: [
- all: ['lib/cookie.*'] 'docs/HTTP-COOKIES.md',
- all: ['lib/psl.*'] 'docs/libcurl/opts/CURLINFO_COOKIE*',
'docs/libcurl/opts/CURLOPT_COOKIE*',
'lib/cookie.*',
'lib/psl.*'
]
cryptography: cryptography:
- all: ['docs/CIPHERS.md'] - all:
- all: ['docs/RUSTLS.md'] - changed-files:
- all: ['docs/libcurl/opts/CURLOPT_EGDSOCKET*'] - AnyGlobToAllFiles: [
- all: ['lib/*sha256*'] 'docs/CIPHERS.md',
- all: ['lib/curl_des.*'] 'docs/RUSTLS.md',
- all: ['lib/curl_hmac.*'] 'docs/libcurl/opts/CURLOPT_EGDSOCKET*',
- all: ['lib/curl_md?.*'] 'lib/*sha256*',
- all: ['lib/md?.*'] 'lib/curl_des.*',
- all: ['lib/rand.*'] 'lib/curl_hmac.*',
'lib/curl_md?.*',
'lib/md?.*',
'lib/rand.*'
]
DICT: DICT:
- all: ['lib/dict.*'] - all:
- all: ['tests/dictserver.py'] - changed-files:
- AnyGlobToAllFiles: [
'lib/dict.*',
'tests/dictserver.py'
]
documentation: documentation:
- all: ['**/*.md'] - all:
- all: ['**/*.txt', '!**/CMakeLists.txt'] - changed-files:
- all: ['**/*.1'] - AnyGlobToAllFiles: [
- all: ['**/*.3'] '**/*.md',
- all: ['CHANGES'] '**/*.txt', '!**/CMakeLists.txt',
- all: ['docs/**', '!docs/examples/**'] '**/*.1',
- all: ['GIT-INFO'] '**/*.3',
- all: ['LICENSES/**'] 'CHANGES',
- all: ['README'] 'docs/**', '!docs/examples/**',
- all: ['RELEASE-NOTES'] 'GIT-INFO',
'LICENSES/**',
'README',
'RELEASE-NOTES'
]
FTP: FTP:
- all: ['docs/libcurl/opts/CURLINFO_FTP*'] - all:
- all: ['docs/libcurl/opts/CURLOPT_FTP*'] - changed-files:
- all: ['docs/libcurl/opts/CURLOPT_WILDCARDMATCH*'] - AnyGlobToAllFiles: [
- all: ['lib/curl_fnmatch.*'] 'docs/libcurl/opts/CURLINFO_FTP*',
- all: ['lib/curl_range.*'] 'docs/libcurl/opts/CURLOPT_FTP*',
- all: ['lib/ftp*'] 'docs/libcurl/opts/CURLOPT_WILDCARDMATCH*',
- all: ['tests/ftp*'] 'lib/curl_fnmatch.*',
'lib/curl_range.*',
'lib/ftp*',
'tests/ftp*'
]
GOPHER: GOPHER:
- all: ['lib/gopher*'] - all:
- changed-files:
- AnyGlobToAllFiles: [
'lib/gopher*'
]
HTTP: HTTP:
- all: ['docs/HSTS.md'] - all:
- all: ['docs/HTTP-COOKIES.md'] - changed-files:
- all: ['docs/libcurl/opts/CURLINFO_COOKIE*'] - AnyGlobToAllFiles: [
- all: ['docs/libcurl/opts/CURLOPT_COOKIE*'] 'docs/HSTS.md',
- all: ['docs/libcurl/opts/CURLINFO_HTTP_**'] 'docs/HTTP-COOKIES.md',
- all: ['docs/libcurl/opts/CURLINFO_REDIRECT*'] 'docs/libcurl/opts/CURLINFO_COOKIE*',
- all: ['docs/libcurl/opts/CURLINFO_REFER*'] 'docs/libcurl/opts/CURLOPT_COOKIE*',
- all: ['docs/libcurl/opts/CURLOPT_FOLLOWLOCATION*'] 'docs/libcurl/opts/CURLINFO_HTTP_**',
- all: ['docs/libcurl/opts/CURLOPT_HSTS*'] 'docs/libcurl/opts/CURLINFO_REDIRECT*',
- all: ['docs/libcurl/opts/CURLOPT_HTTP*'] 'docs/libcurl/opts/CURLINFO_REFER*',
- all: ['docs/libcurl/opts/CURLOPT_POST.*'] 'docs/libcurl/opts/CURLOPT_FOLLOWLOCATION*',
- all: ['docs/libcurl/opts/CURLOPT_POSTFIELD*'] 'docs/libcurl/opts/CURLOPT_HSTS*',
- all: ['docs/libcurl/opts/CURLOPT_POSTREDIR*'] 'docs/libcurl/opts/CURLOPT_HTTP*',
- all: ['docs/libcurl/opts/CURLOPT_REDIR*'] 'docs/libcurl/opts/CURLOPT_POST.*',
- all: ['docs/libcurl/opts/CURLOPT_REFER*'] 'docs/libcurl/opts/CURLOPT_POSTFIELD*',
- all: ['docs/libcurl/opts/CURLOPT_TRAILER*'] 'docs/libcurl/opts/CURLOPT_POSTREDIR*',
- all: ['docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING*'] 'docs/libcurl/opts/CURLOPT_REDIR*',
- all: ['lib/cf-https*'] 'docs/libcurl/opts/CURLOPT_REFER*',
- all: ['lib/cf-h1*'] 'docs/libcurl/opts/CURLOPT_TRAILER*',
- all: ['lib/cf-h2*'] 'docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING*',
- all: ['lib/cookie.*'] 'lib/cf-https*',
- all: ['lib/http*'] 'lib/cf-h1*',
- all: ['tests/http*'] 'lib/cf-h2*',
- all: ['tests/http-server.pl'] 'lib/cookie.*',
- all: ['tests/http/*'] 'lib/http*',
- all: ['tests/nghttp*'] 'tests/http*',
'tests/http-server.pl',
'tests/http/*',
'tests/nghttp*'
]
HTTP/2: HTTP/2:
- all: ['docs/HTTP2.md'] - all:
- all: ['docs/libcurl/opts/CURLOPT_STREAM*'] - changed-files:
- all: ['lib/http2*'] - AnyGlobToAllFiles: [
- all: ['tests/http2-server.pl'] 'docs/HTTP2.md',
'docs/libcurl/opts/CURLOPT_STREAM*',
'lib/http2*',
'tests/http2-server.pl'
]
HTTP/3: HTTP/3:
- all: ['.github/workflows/ngtcp2*'] - all:
- all: ['.github/workflows/quiche*'] - changed-files:
- all: ['docs/HTTP3.md'] - AnyGlobToAllFiles: [
- all: ['lib/vquic/**'] '.github/workflows/ngtcp2*',
- all: ['tests/http3-server.pl'] '.github/workflows/quiche*',
- all: ['tests/nghttpx.conf'] 'docs/HTTP3.md',
'lib/vquic/**',
'tests/http3-server.pl',
'tests/nghttpx.conf'
]
Hyper: Hyper:
- all: ['docs/HYPER.md'] - all:
- all: ['lib/c-hyper.*'] - changed-files:
- AnyGlobToAllFiles: [
'docs/HYPER.md',
'lib/c-hyper.*'
]
IMAP: IMAP:
- all: ['lib/imap*'] - all:
- changed-files:
- AnyGlobToAllFiles: [
'lib/imap*'
]
LDAP: LDAP:
- all: ['lib/*ldap*'] - all:
- changed-files:
- AnyGlobToAllFiles: [
'lib/*ldap*'
]
libcurl API: libcurl API:
- all: ['docs/libcurl/ABI.md'] - all:
- any: ['include/curl/**'] - changed-files:
- AnyGlobToAnyFile: [
'docs/libcurl/ABI.md',
'include/curl/**'
]
MIME: MIME:
- all: ['docs/libcurl/curl_mime_*'] - all:
- all: ['docs/libcurl/opts/CURLOPT_MIME*'] - changed-files:
- all: ['lib/mime*'] - AnyGlobToAllFiles: [
'docs/libcurl/curl_mime_*',
'docs/libcurl/opts/CURLOPT_MIME*',
'lib/mime*'
]
MQTT: MQTT:
- all: ['docs/MQTT.md'] - all:
- all: ['lib/mqtt*'] - changed-files:
- all: ['tests/server/mqttd.c'] - AnyGlobToAllFiles: [
'docs/MQTT.md',
'lib/mqtt*',
'tests/server/mqttd.c'
]
name lookup: name lookup:
- all: ['docs/libcurl/opts/CURLINFO_NAMELOOKUP*'] - all:
- all: ['docs/libcurl/opts/CURLOPT_DNS*'] - changed-files:
- all: ['docs/libcurl/opts/CURLOPT_DOH*'] - AnyGlobToAllFiles: [
- all: ['docs/libcurl/opts/CURLOPT_RESOLVE*'] 'docs/libcurl/opts/CURLINFO_NAMELOOKUP*',
- all: ['lib/asyn*'] 'docs/libcurl/opts/CURLOPT_DNS*',
- all: ['lib/curl_gethostname.*'] 'docs/libcurl/opts/CURLOPT_DOH*',
- all: ['lib/doh*'] 'docs/libcurl/opts/CURLOPT_RESOLVE*',
- all: ['lib/host*'] 'lib/asyn*',
- all: ['lib/idn*'] 'lib/curl_gethostname.*',
- all: ['lib/inet_pton.*'] 'lib/doh*',
- all: ['lib/socketpair*'] 'lib/host*',
- all: ['tests/server/resolve.c'] 'lib/idn*',
'lib/inet_pton.*',
'lib/socketpair*',
'tests/server/resolve.c'
]
POP3: POP3:
- all: ['lib/pop3.*'] - all:
- changed-files:
- AnyGlobToAllFiles: [
'lib/pop3.*'
]
RTMP: RTMP:
- all: ['lib/curl_rtmp.*'] - all:
- changed-files:
- AnyGlobToAllFiles: [
'lib/curl_rtmp.*'
]
RTSP: RTSP:
- all: ['docs/libcurl/opts/CURLINFO_RTSP*'] - all:
- all: ['docs/libcurl/opts/CURLOPT_RTSP*'] - changed-files:
- all: ['lib/rtsp.*'] - AnyGlobToAllFiles: [
- all: ['tests/rtspserver.pl'] 'docs/libcurl/opts/CURLINFO_RTSP*',
- all: ['tests/server/rtspd.c'] 'docs/libcurl/opts/CURLOPT_RTSP*',
'lib/rtsp.*',
'tests/rtspserver.pl',
'tests/server/rtspd.c'
]
SCP/SFTP: SCP/SFTP:
- all: ['docs/libcurl/opts/CURLOPT_SSH*'] - all:
- all: ['lib/vssh/**'] - changed-files:
- all: ['tests/sshhelp.pm'] - AnyGlobToAllFiles: [
- all: ['tests/sshserver.pl'] 'docs/libcurl/opts/CURLOPT_SSH*',
'lib/vssh/**',
'tests/sshhelp.pm',
'tests/sshserver.pl'
]
script: script:
- all: ['**/*.pl'] - all:
- all: ['**/*.sh'] - changed-files:
- all: ['curl-config.in'] - AnyGlobToAllFiles: [
- all: ['docs/curl-config.1'] '**/*.pl',
- all: ['docs/mk-ca-bundle.1'] '**/*.sh',
- all: ['docs/THANKS-filter'] 'curl-config.in',
- all: ['scripts/**'] 'docs/curl-config.1',
'docs/mk-ca-bundle.1',
'docs/THANKS-filter',
'scripts/**'
]
SMB: SMB:
- all: ['lib/smb.*'] - all:
- all: ['tests/smbserver.py'] - changed-files:
- AnyGlobToAllFiles: [
'lib/smb.*',
'tests/smbserver.py'
]
SMTP: SMTP:
- all: ['docs/libcurl/opts/CURLOPT_MAIL*'] - all:
- all: ['lib/smtp.*'] - changed-files:
- AnyGlobToAllFiles: [
'docs/libcurl/opts/CURLOPT_MAIL*',
'lib/smtp.*'
]
tests: tests:
- any: ['tests/**'] - all:
- changed-files:
- AnyGlobToAnyFile: [
'tests/**'
]
TFTP: TFTP:
- all: ['lib/tftp.*'] - all:
- all: ['tests/tftpserver.pl'] - changed-files:
- all: ['tests/server/tftp*'] - AnyGlobToAllFiles: [
'lib/tftp.*',
'tests/tftpserver.pl',
'tests/server/tftp*'
]
TLS: TLS:
- all: ['docs/SSL*'] - all:
- all: ['docs/libcurl/opts/CURLINFO_CA*'] - changed-files:
- all: ['docs/libcurl/opts/CURLINFO_CERT*'] - AnyGlobToAllFiles: [
- all: ['docs/libcurl/opts/CURLINFO_SSL*'] 'docs/SSL*',
- all: ['docs/libcurl/opts/CURLINFO_TLS*'] 'docs/libcurl/opts/CURLINFO_CA*',
- all: ['docs/libcurl/opts/CURLOPT_CA*'] 'docs/libcurl/opts/CURLINFO_CERT*',
- all: ['docs/libcurl/opts/CURLOPT_CERT*'] 'docs/libcurl/opts/CURLINFO_SSL*',
- all: ['docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*'] 'docs/libcurl/opts/CURLINFO_TLS*',
- all: ['docs/libcurl/opts/CURLOPT_SSL*'] 'docs/libcurl/opts/CURLOPT_CA*',
- all: ['docs/libcurl/opts/CURLOPT_TLS*'] 'docs/libcurl/opts/CURLOPT_CERT*',
- all: ['docs/libcurl/opts/CURLOPT_USE_SSL*'] 'docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*',
- all: ['lib/vtls/**'] 'docs/libcurl/opts/CURLOPT_SSL*',
'docs/libcurl/opts/CURLOPT_TLS*',
'docs/libcurl/opts/CURLOPT_USE_SSL*',
'lib/vtls/**'
]
URL: URL:
- all: ['docs/libcurl/curl_url*'] - all:
- all: ['docs/URL-SYNTAX.md'] - changed-files:
- all: ['include/curl/urlapi.h'] - AnyGlobToAllFiles: [
- all: ['lib/urlapi*'] 'docs/libcurl/curl_url*',
'docs/URL-SYNTAX.md',
'include/curl/urlapi.h',
'lib/urlapi*'
]
WebSocket: WebSocket:
- all: ['docs/WEBSOCKET.md*'] - all:
- all: ['docs/libcurl/curl_ws_*'] - changed-files:
- all: ['docs/libcurl/libcurl-ws.3'] - AnyGlobToAllFiles: [
- all: ['docs/libcurl/opts/CURLOPT_WS_*'] 'docs/WEBSOCKET.md*',
- all: ['include/curl/websockets.h'] 'docs/libcurl/curl_ws_*',
- all: ['lib/ws.*'] 'docs/libcurl/libcurl-ws.3',
'docs/libcurl/opts/CURLOPT_WS_*',
'include/curl/websockets.h',
'lib/ws.*'
]
Windows: Windows:
- all: ['CMake/Platforms/WindowsCache.cmake'] - all:
- all: ['lib/*win32*'] - changed-files:
- all: ['lib/curl_multibyte.*'] - AnyGlobToAllFiles: [
- all: ['lib/rename.*'] 'CMake/Platforms/WindowsCache.cmake',
- all: ['lib/vtls/schannel*'] 'lib/*win32*',
- all: ['m4/curl-schannel.m4'] 'lib/curl_multibyte.*',
- all: ['projects/**'] 'lib/rename.*',
- all: ['src/tool_doswin.c'] 'lib/vtls/schannel*',
- all: ['winbuild/**'] 'm4/curl-schannel.m4',
- all: ['libcurl.def'] 'projects/**',
'src/tool_doswin.c',
'winbuild/**',
'libcurl.def'
]

View File

@ -21,7 +21,7 @@ jobs:
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/labeler@v4 - uses: actions/labeler@v5.0.0-beta.1
with: with:
repo-token: "${{ secrets.GITHUB_TOKEN }}" repo-token: "${{ secrets.GITHUB_TOKEN }}"
# Workaround for actions/labeler#112 # Workaround for actions/labeler#112