ITADN

feat(membership): add inactive member detection

#1061Pull Requestavivkeller 创建于 2026-04-24
A
avivkellercommented
@JakobJingleheimer mentioned that during the collaborator's summit, it was discussed that we should be more wary of the size of the organization. This adds a daily workflow to keep a constant "activity monitor" issue open. It requires that a `public_repo`, `read:org` token be made for this repository. An example issue that this workflow generates is below (Note: In a real issue, these users would be pinged): <details> <summary>Workflow Output</summary> ``` # Organization Inactivity Audit — nodejs _Run: 2026-04-26T16:11:12.618Z · Window: last 90 days · Inactive: 125/254_ ## Summary - Inactive members: 125 - Members with no team: 9 - Members with no recent activity: 122 - Both signals: 6 ## Inactive members | Login | Reason | Last seen | Teams | |---|---|---|---| | @a0viedo | no-activity | — | `documentation`, `all-members` | | @AdamBraden | no-activity | — | `platform-windows`, `platforms`, `core`, `platform-windows-arm`, `platform-windows-arm-testing`, `all-members` | | @agnat | no-activity | — | `addon-api`, `coreworkinggroups`, `all-members` | | @ahmadawais | no-activity | — | `next-10`, `all-members` | | @aixtools | no-team | — | — | | @aks- | no-activity | — | `http`, `core`, `all-members` | | @alexcfyung | no-activity | — | `platforms`, `core`, `platform-zos`, `all-members` | | @alexeykuzmin | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @alexweej | no-team | — | — | | @amiller-gh | no-activity | — | `commit-queue`, `all-members` | | @anandsuresh | no-activity | — | `platform-freebsd`, `platforms`, `core`, `all-members` | | @andrewbranch | no-activity | — | `typescript`, `all-members` | | @AnnaMag | no-activity | — | `v8`, `core`, `vm`, `all-members` | | @ashishkurmi | no-activity | — | `security-wg`, `all-members` | | @bahamat | no-activity, no-team | — | — | | @bajtos | no-activity | — | `all-members`, `wintercg` | | @bmeurer | no-activity | — | `v8`, `performance`, `core`, `all-members` | | @bradleythughes | no-activity | — | `platform-freebsd`, `platforms`, `core`, `all-members` | | @bzoz | no-activity | — | `platform-windows`, `node-gyp`, `platforms`, `core`, `all-members` | | @camillobruni | no-activity | — | `v8`, `core`, `all-members` | | @charlespierce | no-activity, no-team | — | — | | @coreybutler | no-activity | — | `version-management`, `delivery-channels`, `all-members` | | @coreyfarrell | no-activity | — | `tooling`, `all-members` | | @DavidCai1111 | no-activity | — | `testing`, `all-members` | | @davidmarkclements | no-activity | — | `diagnostics`, `post-mortem`, `coreworkinggroups`, `all-members` | | @davisjam | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` | | @designMoreWeb | no-activity | — | `electron-installer`, `next-10`, `all-members` | | @dgonzalez | no-activity | — | `security-wg`, `all-members` | | @ehsan | no-activity | — | `spidernode`, `all-members` | | @emaste | no-activity | — | `platform-freebsd`, `platforms`, `core`, `all-members` | | @Emuentes | no-activity | — | `package-maintenance`, `all-members` | | @Eomm | no-activity | — | `package-maintenance`, `all-members` | | @esarafianou | no-activity | — | `security-wg`, `all-members` | | @evocateur | no-activity | — | `tooling`, `all-members` | | @fed135 | no-activity | — | `all-members`, `web-server-frameworks` | | @felixrieseberg | no-activity | — | `electron-installer`, `delivery-channels`, `embedders`, `all-members` | | @fraxken | no-activity | — | `security-wg`, `all-members` | | @fritzy | no-activity | — | `npm`, `core`, `all-members` | | @gareth-ellis | no-activity | — | `benchmarking`, `performance`, `coreworkinggroups`, `core`, `all-members` | | @gdams | no-activity | — | `testing`, `platform-macos`, `platforms`, `core`, `commit-queue`, `all-members` | | @geek | no-activity | — | `platform-smartos`, `platforms`, `core`, `all-members` | | @ghinks | no-activity | — | `package-maintenance`, `next-10`, `all-members` | | @GnorTech | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @groundwater | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @gsathya | no-activity | — | `v8`, `core`, `all-members` | | @Harkunwar | no-activity | — | `web`, `nodejs-website`, `all-members` | | @hashseed | no-activity | — | `v8`, `core`, `v8-update`, `all-members` | | @HinataKah0 | no-team | — | — | | @hiroppy | no-activity | — | `core`, `path`, `console`, `all-members` | | @hmalphettes | no-activity, no-team | — | — | | @iansu | no-activity | — | `core`, `linting`, `tooling`, `package-maintenance`, `next-10`, `all-members` | | @iarna | no-activity | — | `tooling`, `all-members` | | @IgorTodorovskiIBM | no-activity | — | `platforms`, `core`, `platform-zos`, `all-members` | | @imyller | no-activity | — | `platform-macos`, `platforms`, `core`, `all-members` | | @jasonkarns | no-activity | — | `version-management`, `delivery-channels`, `all-members` | | @jBarz | no-activity | — | `v8`, `core`, `all-members` | | @jbergstroem | no-activity | — | `platform-freebsd`, `github-bot`, `platforms`, `core`, `all-members` | | @JckXia | no-activity | — | `node-api`, `all-members` | | @JiaLiPassion | no-activity | — | `async_hooks`, `core`, `all-members` | | @jkleinsc | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @jlenon7 | no-activity | — | `loaders`, `all-members` | | @joaocgreis | no-activity | — | `build`, `platform-windows`, `jenkins-release-admins`, `node-gyp`, `platforms`, `coreworkinggroups`, `core`, `jenkins-admins`, `build-infra`, `all-members` | | @JoeDoyle23 | no-activity | — | `electron-installer`, `all-members` | | @joesepi | no-activity | — | `security`, `tooling`, `next-10`, `all-members`, `security-stewards` | | @john-yan | no-activity | — | `platform-s390`, `platform-aix`, `platform-ppc`, `platforms`, `core`, `all-members` | | @JohnTitor | no-activity | — | `moderation`, `i18n`, `all-members` | | @jperkin | no-activity | — | `platform-smartos`, `platforms`, `core`, `all-members` | | @jschlight | no-activity | — | `node-api`, `all-members` | | @karenyavine | no-activity | — | `security-wg`, `all-members` | | @kjin | no-activity | — | `diagnostics`, `coreworkinggroups`, `core`, `perfetto`, `all-members` | | @kunalspathak | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` | | @lance | no-activity | — | `platform-macos`, `platforms`, `core`, `all-members` | | @larson-carter | no-activity, no-team | — | — | | @lholmquist | no-activity | — | `package-maintenance`, `all-members` | | @littledivy | no-activity | — | `node-api-implementer`, `all-members` | | @lucamaraschi | no-activity | — | `diagnostics`, `post-mortem`, `coreworkinggroups`, `all-members` | | @mafintosh | no-activity | — | `core`, `os`, `all-members` | | @manishprivet | no-activity | — | `web`, `nodejs-website`, `all-members` | | @marcelklehr | no-activity | — | `version-management`, `delivery-channels`, `all-members` | | @MarcinHoppe | no-activity | — | `security-wg`, `all-members` | | @mattpocock | no-activity, no-team | — | — | | @MayaLekova | no-activity | — | `v8`, `core`, `all-members` | | @mgalexander | no-activity | — | `security-wg`, `all-members` | | @mike-kaufman | no-activity | — | `diagnostics`, `coreworkinggroups`, `all-members` | | @MoonBall | no-activity | — | `streams`, `http-parser`, `http`, `coreworkinggroups`, `core`, `all-members` | | @natorion | no-activity | — | `v8`, `core`, `all-members` | | @nitsakh | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @niyas-sait | no-activity | — | `platforms`, `core`, `platform-windows-arm`, `platform-windows-arm-testing`, `all-members` | | @nlf | no-activity | — | `npm`, `core`, `all-members` | | @node-forward-build | no-activity | — | `build`, `jenkins-release-admins`, `coreworkinggroups`, `jenkins-admins`, `all-members` | | @nornagon | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @nullivex | no-activity | — | `version-management`, `delivery-channels`, `all-members` | | @o- | no-activity | — | `v8`, `core`, `all-members` | | @obensource | no-activity | — | `i18n-api`, `i18n`, `all-members` | | @ospencer | no-activity | — | `wasi`, `all-members` | | @othiym23 | no-activity | — | `diagnostics`, `coreworkinggroups`, `moderation`, `all-members` | | @pavelfeldman | no-activity | — | `v8-inspector`, `all-members` | | @phated | no-activity | — | `wasi`, `all-members` | | @phillipj | no-activity | — | `github-bot`, `all-members` | | @piccoloaiutante | no-activity | — | `streams-admins`, `all-members` | | @potham | no-activity | — | `package-maintenance`, `all-members` | | @puzpuzpuz | no-activity | — | `benchmarking`, `async_hooks`, `coreworkinggroups`, `core`, `next-10`, `all-members` | | @pxlpnk | no-activity | — | `security-wg`, `all-members` | | @rexagod | no-activity | — | `streams`, `http`, `testing`, `coreworkinggroups`, `core`, `all-members` | | @robertgzr | no-activity | — | `single-executable`, `all-members` | | @rogerwang | no-activity | — | `delivery-channels`, `embedders`, `all-members` | | @RReverser | no-activity | — | `buffer`, `core`, `all-members` | | @rubys | no-activity | — | `documentation`, `core`, `repl`, `all-members` | | @sampsongao | no-activity | — | `n-api-admins`, `all-members` | | @shanpriyan | no-activity, no-team | — | — | | @shigeki | no-activity | — | `http2`, `core`, `all-members` | | @SomeoneWeird | no-activity | — | `security-wg`, `all-members` | | @stduhpf | no-activity | — | `caritat`, `all-members` | | @ThePrez | no-activity | — | `platforms`, `core`, `platform-ibmi`, `all-members` | | @ThePrimeagen | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` | | @TooTallNate | no-activity | — | `addon-api`, `coreworkinggroups`, `all-members` | | @uttampawar | no-activity | — | `benchmarking`, `coreworkinggroups`, `all-members` | | @verwaest | no-activity | — | `v8`, `core`, `all-members` | | @victorgomes | no-activity | — | `v8`, `core`, `all-members` | | @vostrik | no-activity | — | `platform-windows`, `platforms`, `core`, `package-maintenance`, `all-members` | | @vvalderrv | no-activity | — | `all-members`, `linuxit-infra-temp` | | @yhwang | no-activity | — | `testing`, `all-members` | | @yosuke-furukawa | no-activity | — | `http2`, `core`, `all-members` | | @yunong | no-activity | — | `diagnostics`, `post-mortem`, `coreworkinggroups`, `all-members` | | @zsw007 | no-activity | — | `platforms`, `core`, `platform-zos`, `all-members` | ## Errors - @deian — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/ - @ebraminio — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/ - @nodejs-crowdin — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/ - @ronperris — Validation Failed: {"message":"The listed users cannot be searched either because the users do not exist or you do not have permission to view the users.","resource":"Search","field":"q","code":"invalid"} - https://docs.github.com/v3/search/ ``` </details>
合并状态:未合并 16 条评论