From 2ae829885d49781c111dee27a35b7b22fad59e67 Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 18 May 2022 12:05:25 +0200 Subject: [PATCH 01/15] chore: clean up inactive users from the org, teams and repos --- .gitignore | 3 + github/libp2p/membership.json | 207 --- github/libp2p/repository_collaborator.json | 1521 ++------------------ github/libp2p/team_membership.json | 315 ---- github/libp2p/team_repository.json | 1086 +------------- scripts/remove-inactive-members.js | 93 ++ 6 files changed, 224 insertions(+), 3001 deletions(-) create mode 100755 scripts/remove-inactive-members.js diff --git a/.gitignore b/.gitignore index 34adc7e0..541b70cb 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ crash.log # Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan # example: *tfplan* *.tfplan + +# GitHub audit log exports +export-*.json diff --git a/github/libp2p/membership.json b/github/libp2p/membership.json index 5291bc60..f8d9b677 100644 --- a/github/libp2p/membership.json +++ b/github/libp2p/membership.json @@ -2,63 +2,30 @@ "AgeManning": { "role": "member" }, - "AlanSl": { - "role": "member" - }, "BigLep": { "role": "member" }, - "ChihChengLiang": { - "role": "member" - }, "Gozala": { "role": "member" }, - "Harrm": { - "role": "member" - }, - "JGAntunes": { - "role": "member" - }, "Kubuxu": { "role": "member" }, "MarcoPolo": { "role": "member" }, - "NIC619": { - "role": "member" - }, "Nashatyrev": { "role": "member" }, - "RichardLitt": { - "role": "member" - }, "SgtPooki": { "role": "member" }, "Stebalien": { "role": "admin" }, - "Warchant": { - "role": "member" - }, - "ZenGround0": { - "role": "member" - }, - "aamnv": { - "role": "member" - }, - "aarshkshah1992": { - "role": "member" - }, "achingbrain": { "role": "member" }, - "adlrocha": { - "role": "member" - }, "ajnavarro": { "role": "member" }, @@ -68,36 +35,15 @@ "alanshaw": { "role": "member" }, - "alexh": { - "role": "member" - }, "andrew": { "role": "member" }, - "andyschwab": { - "role": "member" - }, - "anorth": { - "role": "member" - }, "arajasek": { "role": "member" }, - "art-gor": { - "role": "member" - }, "aschmahmann": { "role": "admin" }, - "autonome": { - "role": "member" - }, - "bigs": { - "role": "member" - }, - "cemozerr": { - "role": "member" - }, "daviddias": { "role": "admin" }, @@ -107,48 +53,18 @@ "dirkmc": { "role": "member" }, - "dryajov": { - "role": "member" - }, - "dvdplm": { - "role": "member" - }, "elenaf9": { "role": "member" }, - "fbaiodias": { - "role": "member" - }, - "flyingzumwalt": { - "role": "member" - }, - "frrist": { - "role": "member" - }, - "fsdiogo": { - "role": "member" - }, "galargh": { "role": "admin" }, "gammazero": { "role": "member" }, - "gavinmcdermott": { - "role": "member" - }, - "geoah": { - "role": "member" - }, "guseggert": { "role": "member" }, - "haadcode": { - "role": "member" - }, - "hacdias": { - "role": "member" - }, "hannahhoward": { "role": "member" }, @@ -161,9 +77,6 @@ "iand": { "role": "member" }, - "iceseer": { - "role": "member" - }, "igor-egorov": { "role": "member" }, @@ -173,165 +86,57 @@ "jacobheun": { "role": "admin" }, - "jbenet": { - "role": "admin" - }, - "jbenetsafer": { - "role": "member" - }, "jchris": { "role": "member" }, "jrhea": { "role": "member" }, - "jsoares": { - "role": "member" - }, - "kamilsa": { - "role": "member" - }, - "keks": { - "role": "member" - }, - "kevina": { - "role": "member" - }, - "kishansagathiya": { - "role": "member" - }, - "kumavis": { - "role": "member" - }, "lidel": { "role": "member" }, - "litzenberger": { - "role": "member" - }, - "locotorp": { - "role": "member" - }, "magik6k": { "role": "member" }, "marten-seemann": { "role": "admin" }, - "masih": { - "role": "member" - }, - "mbaxter": { - "role": "member" - }, - "mcollina": { - "role": "member" - }, - "mhchia": { - "role": "member" - }, - "mikeal": { - "role": "member" - }, - "miyazono": { - "role": "member" - }, - "mkalinin": { - "role": "member" - }, - "mkg20001": { - "role": "member" - }, "momack2": { "role": "admin" }, "mpetrunic": { "role": "member" }, - "mvid": { - "role": "member" - }, "mxinden": { "role": "member" }, - "nicola": { - "role": "member" - }, - "nunofmn": { - "role": "member" - }, - "olizilla": { - "role": "member" - }, - "ortyomka": { - "role": "member" - }, "petar": { "role": "member" }, - "pipermerriam": { - "role": "member" - }, "protocollabsit": { "role": "admin" }, - "protocollabsit-readonly": { - "role": "member" - }, "protolambda": { "role": "member" }, - "ralexstokes": { - "role": "member" - }, "raulk": { "role": "admin" }, - "richardschneider": { - "role": "member" - }, - "robzajac": { - "role": "member" - }, "rolfyone": { "role": "member" }, - "romanb": { - "role": "member" - }, - "shahankhatch": { - "role": "member" - }, - "snazha-blkio": { - "role": "member" - }, - "stongo": { - "role": "member" - }, - "stuckinaboot": { - "role": "member" - }, - "tabrath": { - "role": "member" - }, "thomaseizinger": { "role": "member" }, "tomaka": { "role": "member" }, - "travisperson": { - "role": "member" - }, "turuslan": { "role": "member" }, "vasco-santos": { "role": "member" }, - "victorb": { - "role": "member" - }, "vmx": { "role": "member" }, @@ -347,25 +152,13 @@ "wemeetagain": { "role": "member" }, - "whyrusleeping": { - "role": "admin" - }, "willscott": { "role": "member" }, "xDimon": { "role": "member" }, - "yiannisbot": { - "role": "member" - }, "yusefnapora": { "role": "member" - }, - "zixuanzh": { - "role": "member" - }, - "zuiris": { - "role": "member" } } diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index c0632327..b03862aa 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -1,354 +1,70 @@ { - ".github": { - "marten-seemann": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "awesome-libp2p": { - "aarshkshah1992": { - "permission": "pull" - }, - "vasco-santos": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "community": { - "web3-bot": { - "permission": "push" - } - }, - "cpp-libp2p": { - "raulk": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "cs-libp2p-crypto": { - "tabrath": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "cs-libp2p-io": { - "tabrath": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "cs-libp2p-peer": { - "tabrath": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "cs-libp2p-protocol": { - "tabrath": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "cs-libp2p-record": { - "tabrath": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "cs-libp2p-utils": { - "tabrath": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "demo-multi-lang": { - "aarshkshah1992": { - "permission": "pull" - }, - "web3-bot": { - "permission": "push" - } - }, - "developer-meetings": { - "42piratas": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "admin" - }, - "b5": { - "permission": "admin" - }, - "cpacia": { - "permission": "admin" - }, - "ericxtang": { - "permission": "admin" - }, - "flyingzumwalt": { - "permission": "admin" - }, - "jacobheun": { - "permission": "admin" - }, - "meiqimichelle": { - "permission": "admin" - }, - "mikiquantum": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "devgrants": { - "raulk": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "dht-hardening": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, - "adlrocha": { - "permission": "push" - }, - "aschmahmann": { - "permission": "admin" - }, - "daviddias": { - "permission": "admin" - }, - "hacdias": { - "permission": "maintain" - }, - "schomatis": { - "permission": "pull" - }, - "vyzo": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - }, - "yusefnapora": { - "permission": "admin" - } - }, - "dht-tracer": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "pull" - }, - "adam-hanna": { - "permission": "push" - }, - "aschmahmann": { - "permission": "admin" - }, - "jbenet": { - "permission": "admin" - }, - "jimpick": { - "permission": "push" - }, - "mplaza": { - "permission": "admin" - }, - "raulk": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "dht-tracer-archived": { - "web3-bot": { - "permission": "push" - } - }, "dht-tracer1": { - "jbenet": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } }, "dht-utils": { - "dignifiedquire": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "dht-vis-v0": { - "dignifiedquire": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } }, "docs": { - "aarshkshah1992": { - "permission": "push" - }, - "andyschwab": { - "permission": "admin" - }, "walkerlj0": { "permission": "maintain" - }, - "web3-bot": { - "permission": "push" - } - }, - "docs-old": { - "web3-bot": { - "permission": "push" - } - }, - "fclibp2p-zhi": { - "web3-bot": { - "permission": "push" } }, "go-addr-util": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, "go-buffer-pool": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, "go-composable-routing": { - "petar": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } }, - "go-conn-security": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - } - }, "go-conn-security-multistream": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, "go-doh-resolver": { - "vyzo": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } }, "go-eventbus": { - "aarshkshah1992": { - "permission": "push" - }, - "magik6k": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-flow-metrics": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, "go-libp2p": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, - "go-libp2p-asn": { - "aarshkshah1992": { - "permission": "admin" - } - }, "go-libp2p-asn-util": { "web3-bot": { "permission": "push" } }, "go-libp2p-autonat": { - "aarshkshah1992": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } }, "go-libp2p-backoff": { - "petar": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } }, "go-libp2p-blankhost": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } @@ -359,54 +75,21 @@ } }, "go-libp2p-circuit": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, - "go-libp2p-circuit-progs": { - "vyzo": { - "permission": "admin" - } - }, - "go-libp2p-conn": { - "aarshkshah1992": { - "permission": "push" - } - }, "go-libp2p-connmgr": { - "aarshkshah1992": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, "go-libp2p-consensus": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-coral-dht": { - "bigs": { - "permission": "admin" - }, - "carospiegly": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, "go-libp2p-core": { - "dignifiedquire": { - "permission": "push" - }, "mvdan": { "permission": "push" }, @@ -414,24 +97,7 @@ "permission": "push" } }, - "go-libp2p-crypto": { - "aarshkshah1992": { - "permission": "push" - } - }, "go-libp2p-daemon": { - "aarshkshah1992": { - "permission": "push" - }, - "bigs": { - "permission": "admin" - }, - "mvid": { - "permission": "push" - }, - "vyzo": { - "permission": "admin" - }, "web3-bot": { "permission": "push" } @@ -441,23 +107,7 @@ "permission": "push" } }, - "go-libp2p-dummy-conn": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-examples": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, "go-libp2p-gorpc": { - "aarshkshah1992": { - "permission": "push" - }, "hsanjuan": { "permission": "admin" }, @@ -465,1273 +115,322 @@ "permission": "push" } }, - "go-libp2p-gostream": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, - "hsanjuan": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-holepunch-test": { - "aarshkshah1992": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-host": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-http": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, - "hsanjuan": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-identify": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-interface-conn": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-interface-connmgr": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-interface-pnet": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-introspector": { - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-kad-dht": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-kbucket": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-loggables": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - }, - "whyrusleeping": { - "permission": "admin" - } - }, - "go-libp2p-metrics": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-nat": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-net": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-netutil": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-noise": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - }, - "yusefnapora": { - "permission": "admin" - } - }, - "go-libp2p-peer": { - "aarshkshah1992": { - "permission": "push" - }, - "whyrusleeping": { - "permission": "admin" - } - }, - "go-libp2p-peerstore": { - "aarshkshah1992": { - "permission": "push" - }, - "bigs": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-ping": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-pnet": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-protocol": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-pubsub": { - "vyzo": { - "permission": "maintain" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-pubsub-DEPRECATED": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-pubsub-router": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-pubsub-tracer": { - "aarshkshah1992": { - "permission": "admin" - }, - "vyzo": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-quic-transport": { - "aarshkshah1992": { - "permission": "push" - }, - "marten-seemann": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-raft": { - "aarshkshah1992": { - "permission": "push" - }, - "hsanjuan": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-record": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-relay-daemon": { - "Stebalien": { - "permission": "admin" - }, - "marten-seemann": { - "permission": "admin" - }, - "vyzo": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-rendezvous": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-resource-manager": { - "vyzo": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-routing": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-routing-helpers": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-secio": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-slog": { - "petar": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-swarm": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-testing": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-tls": { - "aarshkshah1992": { - "permission": "push" - }, - "marten-seemann": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-transport": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-libp2p-transport-upgrader": { - "Stebalien": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-webrtc-direct": { - "aarshkshah1992": { - "permission": "push" - }, - "albrow": { - "permission": "admin" - }, - "backkem": { - "permission": "admin" - }, - "mearaj": { - "permission": "push" - }, - "raulk": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-websocket-star-rendezvous": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-xor": { - "petar": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-libp2p-yamux": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-maddr-filter": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-mplex": { - "web3-bot": { - "permission": "push" - } - }, - "go-netroute": { - "web3-bot": { - "permission": "push" - }, - "willscott": { - "permission": "admin" - } - }, - "go-reuseport": { - "Kubuxu": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, - "jbenet": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - }, - "whyrusleeping": { - "permission": "admin" - } - }, - "go-reuseport-transport": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-routing-language": { - "adlrocha": { - "permission": "push" - }, - "masih": { - "permission": "push" - }, - "petar": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-smart-record": { - "adlrocha": { - "permission": "maintain" - }, - "petar": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-sockaddr": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-socket-activation": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-stream-muxer": { - "aarshkshah1992": { - "permission": "push" - }, - "jbenet": { - "permission": "admin" - }, - "whyrusleeping": { - "permission": "admin" - } - }, - "go-tcp-transport": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-testutil": { - "aarshkshah1992": { - "permission": "push" - } - }, - "go-udp-transport": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-utp-transport": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-ws-transport": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-xtp": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "go-yamux": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "gossipsub-hardening": { - "daviddias": { - "permission": "admin" - }, - "dirkmc": { - "permission": "admin" - }, - "djrtwo": { - "permission": "triage" - }, - "dominictarr": { - "permission": "triage" - }, - "dylanlott": { - "permission": "triage" - }, - "hacdias": { - "permission": "maintain" - }, - "keks": { - "permission": "triage" - }, - "nginnever": { - "permission": "triage" - }, - "nonsense": { - "permission": "admin" - }, - "protolambda": { - "permission": "triage" - }, - "vyzo": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - }, - "whyrusleeping": { - "permission": "admin" - }, - "willscott": { - "permission": "push" - }, - "yiannisbot": { - "permission": "admin" - }, - "yusefnapora": { - "permission": "admin" - } - }, - "haskell-p2pcat": { - "web3-bot": { - "permission": "push" - } - }, - "hydra-booster-infra": { - "gmasgras": { - "permission": "push" - }, - "guseggert": { - "permission": "admin" - }, - "mcamou": { - "permission": "push" - }, - "thattommyhall": { - "permission": "push" - } - }, - "interface-connection": { - "daviddias": { - "permission": "admin" - } - }, - "interface-libp2p": { - "daviddias": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "interface-peer-routing": { - "daviddias": { - "permission": "admin" - } - }, - "interface-record-store": { - "daviddias": { - "permission": "admin" - } - }, - "interface-stream-muxer": { - "daviddias": { - "permission": "admin" - } - }, - "interface-transport": { - "daviddias": { - "permission": "admin" - } - }, - "interop": { - "aarshkshah1992": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-iprs-record": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - } - }, - "js-libp2p": { - "hugomrdias": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-bootstrap": { - "nunofmn": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-circuit": { - "dryajov": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - } - }, - "js-libp2p-crypto": { - "dignifiedquire": { - "permission": "admin" - }, - "nunofmn": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-daemon": { - "jacobheun": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-daemon-client": { - "vasco-santos": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-daemon-protocol": { - "achingbrain": { - "permission": "admin" - } - }, - "js-libp2p-delegated-content-routing": { - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-delegated-peer-routing": { - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-distributed-record-store": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - } - }, - "js-libp2p-examples": { - "jacobheun": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-floodsub": { - "nunofmn": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-identify": { - "daviddias": { - "permission": "admin" - }, - "nunofmn": { - "permission": "push" - } - }, - "js-libp2p-interfaces": { - "jacobheun": { - "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-kad-dht": { - "nunofmn": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-kad-record-store": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - } - }, - "js-libp2p-kad-routing": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - } - }, - "js-libp2p-mdns": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - }, - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-mplex": { - "web3-bot": { - "permission": "push" - } - }, - "js-libp2p-nat-mngr": { + "go-libp2p-gostream": { "web3-bot": { "permission": "push" } }, - "js-libp2p-ping": { - "daviddias": { + "go-libp2p-http": { + "hsanjuan": { "permission": "admin" }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { + "web3-bot": { "permission": "push" } }, - "js-libp2p-pnet": { - "jacobheun": { - "permission": "admin" + "go-libp2p-introspector": { + "web3-bot": { + "permission": "push" } }, - "js-libp2p-pubsub": { - "vasco-santos": { - "permission": "push" - }, + "go-libp2p-kad-dht": { "web3-bot": { "permission": "push" } }, - "js-libp2p-pubsub-peer-discovery": { + "go-libp2p-kbucket": { "web3-bot": { "permission": "push" } }, - "js-libp2p-record": { + "go-libp2p-loggables": { "web3-bot": { "permission": "push" } }, - "js-libp2p-relay-server": { - "vasco-santos": { - "permission": "push" - }, + "go-libp2p-nat": { "web3-bot": { "permission": "push" } }, - "js-libp2p-rendezvous": { + "go-libp2p-netutil": { "web3-bot": { "permission": "push" } }, - "js-libp2p-secio": { - "dignifiedquire": { - "permission": "admin" - }, - "nunofmn": { + "go-libp2p-noise": { + "web3-bot": { "permission": "push" } }, - "js-libp2p-spdy": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "fbaiodias": { - "permission": "push" - }, - "nunofmn": { + "go-libp2p-peerstore": { + "web3-bot": { "permission": "push" } }, - "js-libp2p-stardust": { - "mkg20001": { + "go-libp2p-pnet": { + "web3-bot": { "permission": "push" } }, - "js-libp2p-tcp": { + "go-libp2p-pubsub": { + "vyzo": { + "permission": "maintain" + } + }, + "go-libp2p-pubsub-router": { "web3-bot": { "permission": "push" } }, - "js-libp2p-udp": { - "daviddias": { + "go-libp2p-pubsub-tracer": { + "vyzo": { "permission": "admin" }, - "nunofmn": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, - "js-libp2p-udt": { - "daviddias": { + "go-libp2p-quic-transport": { + "marten-seemann": { "permission": "admin" }, - "nunofmn": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, - "js-libp2p-utils": { - "vasco-santos": { + "go-libp2p-raft": { + "web3-bot": { "permission": "push" - }, + } + }, + "go-libp2p-record": { "web3-bot": { "permission": "push" } }, - "js-libp2p-utp": { - "daviddias": { + "go-libp2p-relay-daemon": { + "marten-seemann": { "permission": "admin" }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { + "vyzo": { "permission": "push" }, "web3-bot": { "permission": "push" } }, - "js-libp2p-webrtc-direct": { - "vasco-santos": { + "go-libp2p-resource-manager": { + "vyzo": { "permission": "admin" }, "web3-bot": { "permission": "push" } }, - "js-libp2p-webrtc-peer": { - "achingbrain": { - "permission": "admin" + "go-libp2p-routing-helpers": { + "web3-bot": { + "permission": "push" } }, - "js-libp2p-webrtc-star": { - "vasco-santos": { - "permission": "admin" - }, + "go-libp2p-swarm": { "web3-bot": { "permission": "push" } }, - "js-libp2p-websocket-star-multi": { - "mkg20001": { + "go-libp2p-testing": { + "web3-bot": { "permission": "push" } }, - "js-libp2p-websocket-star-rendezvous": { - "mkg20001": { + "go-libp2p-tls": { + "marten-seemann": { "permission": "admin" + }, + "web3-bot": { + "permission": "push" } }, - "js-libp2p-websockets": { - "daviddias": { + "go-libp2p-transport-upgrader": { + "Stebalien": { "permission": "admin" }, - "dignifiedquire": { - "permission": "push" - }, - "fbaiodias": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - }, "web3-bot": { "permission": "push" } }, - "js-p2pcat": { + "go-libp2p-webrtc-direct": { "web3-bot": { "permission": "push" } }, - "js-peer-book": { - "daviddias": { - "permission": "admin" - }, - "nunofmn": { + "go-libp2p-xor": { + "web3-bot": { "permission": "push" } }, - "js-peer-id": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nginnever": { - "permission": "push" - }, - "nunofmn": { - "permission": "push" - }, + "go-libp2p-yamux": { "web3-bot": { "permission": "push" } }, - "js-peer-info": { - "daviddias": { - "permission": "admin" - }, - "dignifiedquire": { - "permission": "push" - }, - "nunofmn": { + "go-mplex": { + "web3-bot": { "permission": "push" } }, - "jvm-libp2p": { + "go-netroute": { "web3-bot": { "permission": "push" } }, - "libp2p": { - "Mr0grog": { - "permission": "pull" - }, - "carospiegly": { - "permission": "pull" - }, - "raulk": { - "permission": "admin" - }, + "go-reuseport": { "web3-bot": { "permission": "push" } }, - "mplex": { - "aarshkshah1992": { + "go-reuseport-transport": { + "web3-bot": { "permission": "push" } }, - "notes": { - "aarshkshah1992": { - "permission": "push" - }, - "jsoares": { - "permission": "push" - }, + "go-routing-language": { "web3-bot": { "permission": "push" - }, - "yiannisbot": { - "permission": "push" - } - }, - "npm-go-libp2p": { - "achingbrain": { - "permission": "admin" } }, - "npm-go-libp2p-dep": { - "aarshkshah1992": { - "permission": "push" - }, - "vasco-santos": { - "permission": "admin" - }, + "go-smart-record": { "web3-bot": { "permission": "push" } }, - "observation-deck": { - "AlanSl": { - "permission": "admin" - }, - "mcollina": { - "permission": "admin" - }, - "raulk": { - "permission": "admin" - }, + "go-sockaddr": { "web3-bot": { "permission": "push" } }, - "observer-toolkit": { - "AlanSl": { - "permission": "admin" - }, - "aarshkshah1992": { - "permission": "push" - }, - "mcollina": { - "permission": "admin" - }, - "raulk": { - "permission": "admin" - }, + "go-socket-activation": { "web3-bot": { "permission": "push" } }, - "projects": { - "aarshkshah1992": { - "permission": "push" - }, + "go-tcp-transport": { "web3-bot": { "permission": "push" } }, - "pubsub-notes": { + "go-ws-transport": { "web3-bot": { "permission": "push" } }, - "pull-mplex": { + "go-yamux": { "web3-bot": { "permission": "push" } }, - "py-libp2p": { - "alexh": { - "permission": "push" - }, - "carver": { - "permission": "admin" - }, - "ralexstokes": { + "hydra-booster-infra": { + "guseggert": { "permission": "admin" }, - "robzajac": { - "permission": "push" - }, - "stuckinaboot": { + "thattommyhall": { "permission": "push" - }, + } + }, + "js-libp2p-bootstrap": { "web3-bot": { "permission": "push" - }, - "zixuanzh": { - "permission": "push" } }, - "py-libp2p-slog": { - "petar": { - "permission": "admin" - }, + "js-libp2p-crypto": { "web3-bot": { "permission": "push" } }, - "py-libp2p-xor": { - "petar": { + "js-libp2p-daemon-protocol": { + "achingbrain": { "permission": "admin" - }, + } + }, + "js-libp2p-floodsub": { "web3-bot": { "permission": "push" } }, - "repl": { - "aarshkshah1992": { - "permission": "push" - }, + "js-libp2p-interfaces": { "web3-bot": { "permission": "push" } }, - "research-dht": { - "bigs": { - "permission": "admin" + "js-libp2p-kad-dht": { + "web3-bot": { + "permission": "push" } }, - "research-pubsub": { + "js-libp2p-mdns": { "web3-bot": { "permission": "push" } }, - "rust-libp2p": { - "raulk": { - "permission": "admin" - }, + "js-libp2p-mplex": { "web3-bot": { "permission": "push" } }, - "rust-yamux": { - "ddorgan": { - "permission": "push" - }, - "tomaka": { + "js-libp2p-record": { + "web3-bot": { "permission": "push" } }, - "specs": { - "schomatis": { - "permission": "triage" - }, + "js-libp2p-tcp": { "web3-bot": { "permission": "push" } }, - "team-mgmt": { - "aarshkshah1992": { - "permission": "push" - }, + "js-libp2p-utils": { "web3-bot": { "permission": "push" } }, - "test-plans": { - "hacdias": { - "permission": "maintain" - }, - "nonsense": { - "permission": "maintain" + "js-libp2p-webrtc-direct": { + "vasco-santos": { + "permission": "admin" + } + }, + "js-libp2p-webrtc-peer": { + "achingbrain": { + "permission": "admin" + } + }, + "js-libp2p-webrtc-star": { + "vasco-santos": { + "permission": "admin" }, "web3-bot": { "permission": "push" } }, - "testlab": { - "aarshkshah1992": { - "permission": "push" - }, - "jimpick": { + "js-libp2p-websockets": { + "web3-bot": { "permission": "push" } }, - "website": { - "alanshaw": { - "permission": "push" - }, - "andyschwab": { - "permission": "admin" - }, - "momack2": { - "permission": "admin" - }, - "olizilla": { + "npm-go-libp2p": { + "achingbrain": { "permission": "admin" - }, + } + }, + "repl": { "web3-bot": { "permission": "push" } }, "workspace-go-libp2p": { - "Kubuxu": { - "permission": "push" - }, - "aarshkshah1992": { - "permission": "push" - }, - "backkem": { - "permission": "push" - }, "mcamou": { "permission": "push" }, "raulk": { "permission": "admin" - }, - "web3-bot": { - "permission": "push" - } - }, - "xtp": { - "web3-bot": { - "permission": "push" } } } diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index 04f9d85a..5f5bb115 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -9,62 +9,11 @@ "aschmahmann": { "role": "maintainer" }, - "autonome": { - "role": "member" - }, - "daviddias": { - "role": "maintainer" - }, - "jbenet": { - "role": "maintainer" - }, "mxinden": { "role": "member" }, "raulk": { "role": "maintainer" - }, - "whyrusleeping": { - "role": "maintainer" - }, - "yusefnapora": { - "role": "member" - } - }, - "Devgrant editors": { - "Kubuxu": { - "role": "member" - }, - "Stebalien": { - "role": "maintainer" - }, - "jacobheun": { - "role": "maintainer" - }, - "raulk": { - "role": "maintainer" - }, - "vasco-santos": { - "role": "member" - }, - "vyzo": { - "role": "member" - }, - "yusefnapora": { - "role": "member" - } - }, - "Observation UI": { - "AlanSl": { - "role": "member" - }, - "raulk": { - "role": "maintainer" - } - }, - "Repos - C#": { - "tabrath": { - "role": "member" } }, "Repos - Go": { @@ -77,36 +26,18 @@ "Stebalien": { "role": "maintainer" }, - "ZenGround0": { - "role": "member" - }, - "aarshkshah1992": { - "role": "member" - }, - "adlrocha": { - "role": "member" - }, "alanshaw": { "role": "member" }, - "anorth": { - "role": "member" - }, "aschmahmann": { "role": "maintainer" }, "dirkmc": { "role": "member" }, - "frrist": { - "role": "member" - }, "gammazero": { "role": "member" }, - "hacdias": { - "role": "member" - }, "hannahhoward": { "role": "member" }, @@ -116,21 +47,12 @@ "iand": { "role": "member" }, - "jacobheun": { - "role": "maintainer" - }, "lidel": { "role": "member" }, - "magik6k": { - "role": "member" - }, "marten-seemann": { "role": "maintainer" }, - "masih": { - "role": "member" - }, "momack2": { "role": "maintainer" }, @@ -143,9 +65,6 @@ "vyzo": { "role": "member" }, - "whyrusleeping": { - "role": "maintainer" - }, "willscott": { "role": "member" }, @@ -153,11 +72,6 @@ "role": "member" } }, - "Repos - Haskell": { - "daviddias": { - "role": "maintainer" - } - }, "Repos - Java": { "Nashatyrev": { "role": "member" @@ -165,89 +79,32 @@ "ajsutton": { "role": "member" }, - "cemozerr": { - "role": "member" - }, - "jrhea": { - "role": "member" - }, - "mbaxter": { - "role": "member" - }, - "mkalinin": { - "role": "member" - }, - "raulk": { - "role": "maintainer" - }, "rolfyone": { "role": "member" - }, - "shahankhatch": { - "role": "member" - }, - "snazha-blkio": { - "role": "member" } }, "Repos - JavaScript": { - "Gozala": { - "role": "member" - }, "SgtPooki": { "role": "member" }, "achingbrain": { "role": "member" }, - "adlrocha": { - "role": "member" - }, - "alanshaw": { - "role": "member" - }, - "daviddias": { - "role": "maintainer" - }, - "dirkmc": { - "role": "member" - }, - "hacdias": { - "role": "member" - }, "hugomrdias": { "role": "member" }, - "jacobheun": { - "role": "maintainer" - }, - "kumavis": { - "role": "member" - }, "lidel": { "role": "member" }, - "mikeal": { - "role": "member" - }, - "mkg20001": { - "role": "member" - }, "momack2": { "role": "maintainer" }, "mpetrunic": { "role": "member" }, - "olizilla": { - "role": "member" - }, "vasco-santos": { "role": "member" }, - "vmx": { - "role": "member" - }, "wemeetagain": { "role": "member" }, @@ -255,60 +112,16 @@ "role": "member" } }, - "Repos - Python": { - "ChihChengLiang": { - "role": "member" - }, - "NIC619": { - "role": "member" - }, - "alexh": { - "role": "member" - }, - "mhchia": { - "role": "member" - }, - "pipermerriam": { - "role": "member" - }, - "ralexstokes": { - "role": "member" - }, - "raulk": { - "role": "maintainer" - }, - "robzajac": { - "role": "member" - }, - "stuckinaboot": { - "role": "member" - }, - "zixuanzh": { - "role": "member" - } - }, "Repos - Rust": { "AgeManning": { "role": "member" }, - "Stebalien": { - "role": "maintainer" - }, - "daviddias": { - "role": "maintainer" - }, - "dvdplm": { - "role": "member" - }, "elenaf9": { "role": "member" }, "mxinden": { "role": "maintainer" }, - "romanb": { - "role": "member" - }, "thomaseizinger": { "role": "member" }, @@ -325,9 +138,6 @@ "Specs contributors": { "mxinden": { "role": "member" - }, - "raulk": { - "role": "maintainer" } }, "ci": { @@ -335,131 +145,12 @@ "role": "member" } }, - "contributors": { - "BigLep": { - "role": "member" - }, - "JGAntunes": { - "role": "member" - }, - "Kubuxu": { - "role": "member" - }, - "MarcoPolo": { - "role": "member" - }, - "RichardLitt": { - "role": "member" - }, - "adlrocha": { - "role": "member" - }, - "daviddias": { - "role": "maintainer" - }, - "dignifiedquire": { - "role": "member" - }, - "dryajov": { - "role": "member" - }, - "fbaiodias": { - "role": "member" - }, - "flyingzumwalt": { - "role": "member" - }, - "fsdiogo": { - "role": "member" - }, - "gavinmcdermott": { - "role": "member" - }, - "haadcode": { - "role": "member" - }, - "hsanjuan": { - "role": "member" - }, - "jsoares": { - "role": "member" - }, - "kumavis": { - "role": "member" - }, - "litzenberger": { - "role": "member" - }, - "mcollina": { - "role": "member" - }, - "mikeal": { - "role": "member" - }, - "miyazono": { - "role": "member" - }, - "mkg20001": { - "role": "member" - }, - "nicola": { - "role": "member" - }, - "petar": { - "role": "member" - }, - "protolambda": { - "role": "member" - }, - "richardschneider": { - "role": "member" - }, - "tabrath": { - "role": "member" - }, - "victorb": { - "role": "member" - }, - "willscott": { - "role": "member" - }, - "yiannisbot": { - "role": "member" - } - }, "cpp-libp2p": { - "Harrm": { - "role": "member" - }, - "Warchant": { - "role": "member" - }, - "art-gor": { - "role": "member" - }, - "iceseer": { - "role": "member" - }, "igor-egorov": { "role": "member" }, - "kamilsa": { - "role": "maintainer" - }, - "ortyomka": { - "role": "member" - }, - "raulk": { - "role": "maintainer" - }, "turuslan": { "role": "member" - }, - "xDimon": { - "role": "member" - }, - "zuiris": { - "role": "member" } }, "docs": { @@ -480,9 +171,6 @@ "BigLep": { "role": "maintainer" }, - "adlrocha": { - "role": "member" - }, "iand": { "role": "member" }, @@ -514,9 +202,6 @@ "achingbrain": { "role": "member" }, - "ajnavarro": { - "role": "member" - }, "arajasek": { "role": "member" }, diff --git a/github/libp2p/team_repository.json b/github/libp2p/team_repository.json index fad8a3a2..18270baa 100644 --- a/github/libp2p/team_repository.json +++ b/github/libp2p/team_repository.json @@ -1,293 +1,32 @@ { "Admin": { - "community": { - "permission": "admin" - }, - "cs-libp2p-crypto": { - "permission": "admin" - }, - "cs-libp2p-io": { - "permission": "admin" - }, - "cs-libp2p-peer": { - "permission": "admin" - }, - "cs-libp2p-protocol": { - "permission": "admin" - }, - "cs-libp2p-record": { - "permission": "admin" - }, - "cs-libp2p-utils": { - "permission": "admin" - }, - "go-addr-util": { - "permission": "admin" - }, "go-libp2p": { "permission": "admin" }, - "go-libp2p-blankhost": { - "permission": "admin" - }, - "go-libp2p-circuit": { - "permission": "admin" - }, - "go-libp2p-conn": { - "permission": "admin" - }, - "go-libp2p-connmgr": { - "permission": "admin" - }, - "go-libp2p-consensus": { - "permission": "admin" - }, - "go-libp2p-crypto": { - "permission": "admin" - }, - "go-libp2p-dummy-conn": { - "permission": "admin" - }, - "go-libp2p-gorpc": { - "permission": "admin" - }, - "go-libp2p-host": { - "permission": "admin" - }, - "go-libp2p-http": { - "permission": "admin" - }, - "go-libp2p-identify": { - "permission": "admin" - }, - "go-libp2p-interface-conn": { - "permission": "admin" - }, - "go-libp2p-interface-pnet": { - "permission": "admin" - }, "go-libp2p-kad-dht": { "permission": "admin" }, - "go-libp2p-kbucket": { - "permission": "admin" - }, - "go-libp2p-loggables": { - "permission": "admin" - }, - "go-libp2p-metrics": { - "permission": "admin" - }, - "go-libp2p-nat": { - "permission": "admin" - }, - "go-libp2p-net": { - "permission": "admin" - }, - "go-libp2p-netutil": { - "permission": "admin" - }, - "go-libp2p-peer": { - "permission": "admin" - }, - "go-libp2p-peerstore": { - "permission": "admin" - }, - "go-libp2p-ping": { - "permission": "admin" - }, - "go-libp2p-pnet": { - "permission": "admin" - }, - "go-libp2p-protocol": { - "permission": "admin" - }, - "go-libp2p-pubsub": { - "permission": "admin" - }, - "go-libp2p-quic-transport": { - "permission": "admin" - }, - "go-libp2p-raft": { - "permission": "admin" - }, - "go-libp2p-record": { - "permission": "admin" - }, - "go-libp2p-routing": { - "permission": "admin" - }, - "go-libp2p-secio": { - "permission": "admin" - }, "go-libp2p-swarm": { "permission": "admin" }, - "go-libp2p-transport": { - "permission": "admin" - }, - "go-maddr-filter": { - "permission": "admin" - }, - "go-mplex": { - "permission": "admin" - }, - "go-peerstream": { - "permission": "admin" - }, - "go-reuseport": { - "permission": "admin" - }, - "go-sockaddr": { - "permission": "admin" - }, - "go-stream-muxer": { - "permission": "admin" - }, - "go-tcp-transport": { - "permission": "admin" - }, - "go-testutil": { - "permission": "admin" - }, - "go-udp-transport": { - "permission": "admin" - }, - "go-utp-transport": { - "permission": "admin" - }, "go-ws-transport": { "permission": "admin" }, - "go-xtp": { - "permission": "admin" - }, - "haskell-p2pcat": { - "permission": "admin" - }, - "interface-connection": { - "permission": "admin" - }, - "interface-libp2p": { - "permission": "admin" - }, - "interface-peer-discovery": { - "permission": "admin" - }, - "interface-peer-routing": { - "permission": "admin" - }, - "interface-record-store": { - "permission": "admin" - }, - "interface-stream-muxer": { - "permission": "admin" - }, - "interface-transport": { - "permission": "admin" - }, - "js-iprs-record": { - "permission": "admin" - }, "js-libp2p": { "permission": "admin" }, - "js-libp2p-bootstrap": { - "permission": "admin" - }, - "js-libp2p-circuit": { - "permission": "admin" - }, - "js-libp2p-crypto": { - "permission": "admin" - }, - "js-libp2p-crypto-secp256k1": { - "permission": "admin" - }, - "js-libp2p-distributed-record-store": { - "permission": "admin" - }, - "js-libp2p-floodsub": { - "permission": "admin" - }, - "js-libp2p-identify": { - "permission": "admin" - }, - "js-libp2p-kad-dht": { - "permission": "admin" - }, - "js-libp2p-kad-record-store": { - "permission": "admin" - }, - "js-libp2p-kad-routing": { - "permission": "admin" - }, - "js-libp2p-mdns": { - "permission": "admin" - }, "js-libp2p-mplex": { "permission": "admin" }, - "js-libp2p-ping": { - "permission": "admin" - }, - "js-libp2p-record": { - "permission": "admin" - }, - "js-libp2p-secio": { - "permission": "admin" - }, - "js-libp2p-spdy": { - "permission": "admin" - }, - "js-libp2p-switch": { - "permission": "admin" - }, "js-libp2p-tcp": { "permission": "admin" }, - "js-libp2p-udp": { - "permission": "admin" - }, - "js-libp2p-udt": { - "permission": "admin" - }, - "js-libp2p-utp": { - "permission": "admin" - }, - "js-libp2p-webrtc-direct": { - "permission": "admin" - }, - "js-libp2p-webrtc-star": { - "permission": "admin" - }, - "js-libp2p-websockets": { - "permission": "admin" - }, - "js-p2pcat": { - "permission": "admin" - }, - "js-peer-book": { - "permission": "admin" - }, "js-peer-id": { "permission": "admin" }, - "js-peer-info": { - "permission": "admin" - }, - "js-spdy-stream-muxer": { - "permission": "admin" - }, "libp2p": { "permission": "admin" }, - "pubsub-notes": { - "permission": "admin" - }, - "research-pubsub": { - "permission": "admin" - }, "rust-libp2p": { "permission": "admin" }, @@ -296,57 +35,9 @@ }, "website": { "permission": "admin" - }, - "xtp": { - "permission": "admin" - } - }, - "Devgrant editors": { - "devgrants": { - "permission": "push" - } - }, - "Observation UI": { - "observation-deck": { - "permission": "admin" - }, - "observer-toolkit": { - "permission": "push" - } - }, - "Repos - C#": { - "cs-libp2p-crypto": { - "permission": "push" - }, - "cs-libp2p-io": { - "permission": "push" - }, - "cs-libp2p-peer": { - "permission": "push" - }, - "cs-libp2p-protocol": { - "permission": "push" - }, - "cs-libp2p-record": { - "permission": "push" - }, - "cs-libp2p-utils": { - "permission": "push" } }, "Repos - Go": { - "awesome-libp2p": { - "permission": "pull" - }, - "demo-multi-lang": { - "permission": "pull" - }, - "developer-meetings": { - "permission": "push" - }, - "dht-tracer": { - "permission": "pull" - }, "docs": { "permission": "push" }, @@ -356,133 +47,55 @@ "go-buffer-pool": { "permission": "push" }, - "go-conn-security": { - "permission": "push" - }, - "go-conn-security-multistream": { - "permission": "push" - }, - "go-eventbus": { - "permission": "push" - }, - "go-flow-metrics": { - "permission": "push" - }, "go-libp2p": { "permission": "push" }, "go-libp2p-autonat": { "permission": "push" }, - "go-libp2p-autonat-svc": { - "permission": "push" - }, "go-libp2p-blankhost": { "permission": "push" }, - "go-libp2p-circuit": { - "permission": "push" - }, - "go-libp2p-conn": { - "permission": "push" - }, - "go-libp2p-connmgr": { - "permission": "push" - }, - "go-libp2p-consensus": { - "permission": "push" - }, - "go-libp2p-core": { - "permission": "push" - }, - "go-libp2p-crypto": { - "permission": "push" - }, - "go-libp2p-daemon": { - "permission": "push" - }, - "go-libp2p-discovery": { - "permission": "push" - }, - "go-libp2p-dummy-conn": { - "permission": "push" - }, - "go-libp2p-examples": { - "permission": "push" - }, - "go-libp2p-gorpc": { - "permission": "push" - }, - "go-libp2p-gostream": { - "permission": "push" - }, - "go-libp2p-host": { - "permission": "push" - }, - "go-libp2p-http": { - "permission": "push" - }, - "go-libp2p-identify": { - "permission": "push" - }, - "go-libp2p-interface-conn": { - "permission": "push" - }, - "go-libp2p-interface-connmgr": { - "permission": "push" - }, - "go-libp2p-interface-pnet": { - "permission": "push" - }, - "go-libp2p-introspector": { - "permission": "push" - }, - "go-libp2p-kad-dht": { - "permission": "push" - }, - "go-libp2p-kbucket": { - "permission": "push" - }, - "go-libp2p-loggables": { + "go-libp2p-circuit": { "permission": "push" }, - "go-libp2p-metrics": { + "go-libp2p-connmgr": { "permission": "push" }, - "go-libp2p-mplex": { + "go-libp2p-core": { "permission": "push" }, - "go-libp2p-nat": { + "go-libp2p-discovery": { "permission": "push" }, - "go-libp2p-net": { + "go-libp2p-gorpc": { "permission": "push" }, - "go-libp2p-netutil": { + "go-libp2p-gostream": { "permission": "push" }, - "go-libp2p-noise": { + "go-libp2p-http": { "permission": "push" }, - "go-libp2p-peer": { + "go-libp2p-kad-dht": { "permission": "push" }, - "go-libp2p-peerstore": { + "go-libp2p-kbucket": { "permission": "push" }, - "go-libp2p-ping": { + "go-libp2p-mplex": { "permission": "push" }, - "go-libp2p-pnet": { + "go-libp2p-netutil": { "permission": "push" }, - "go-libp2p-protocol": { + "go-libp2p-noise": { "permission": "push" }, - "go-libp2p-pubsub": { + "go-libp2p-peerstore": { "permission": "push" }, - "go-libp2p-pubsub-DEPRECATED": { + "go-libp2p-pubsub": { "permission": "push" }, "go-libp2p-pubsub-router": { @@ -494,24 +107,9 @@ "go-libp2p-quic-transport": { "permission": "push" }, - "go-libp2p-raft": { - "permission": "push" - }, - "go-libp2p-record": { - "permission": "push" - }, - "go-libp2p-rendezvous": { - "permission": "push" - }, - "go-libp2p-routing": { - "permission": "push" - }, "go-libp2p-routing-helpers": { "permission": "push" }, - "go-libp2p-secio": { - "permission": "push" - }, "go-libp2p-swarm": { "permission": "push" }, @@ -521,45 +119,27 @@ "go-libp2p-tls": { "permission": "push" }, - "go-libp2p-transport": { - "permission": "push" - }, "go-libp2p-transport-upgrader": { "permission": "push" }, "go-libp2p-webrtc-direct": { "permission": "push" }, - "go-libp2p-websocket-star-rendezvous": { - "permission": "push" - }, - "go-libp2p-xor": { - "permission": "push" - }, "go-libp2p-yamux": { "permission": "push" }, - "go-maddr-filter": { - "permission": "push" - }, "go-mplex": { "permission": "push" }, "go-msgio": { "permission": "push" }, - "go-nat": { - "permission": "push" - }, "go-netroute": { "permission": "push" }, "go-openssl": { "permission": "push" }, - "go-peerstream": { - "permission": "push" - }, "go-reuseport": { "permission": "push" }, @@ -569,141 +149,55 @@ "go-sockaddr": { "permission": "push" }, - "go-socket-activation": { - "permission": "push" - }, - "go-src-select": { - "permission": "push" - }, - "go-stream-muxer": { - "permission": "push" - }, "go-stream-muxer-multistream": { "permission": "push" }, "go-tcp-transport": { "permission": "push" }, - "go-testutil": { - "permission": "push" - }, - "go-udp-transport": { - "permission": "push" - }, - "go-utp-transport": { - "permission": "push" - }, "go-ws-transport": { "permission": "push" }, - "go-xtp": { - "permission": "push" - }, "go-yamux": { "permission": "push" }, "hydra-booster": { "permission": "push" }, - "interop": { - "permission": "push" - }, - "mplex": { - "permission": "push" - }, "notes": { "permission": "push" }, - "npm-go-libp2p-dep": { - "permission": "push" - }, - "projects": { - "permission": "push" - }, "repl": { "permission": "push" }, "specs": { "permission": "push" }, - "team-mgmt": { - "permission": "push" - }, - "testlab": { - "permission": "push" - }, "workspace-go-libp2p": { "permission": "push" } }, - "Repos - Haskell": { - "haskell-p2pcat": { - "permission": "push" - } - }, "Repos - Java": { "jvm-libp2p": { "permission": "push" } }, "Repos - JavaScript": { - "awesome-libp2p": { - "permission": "pull" - }, - "demo-multi-lang": { - "permission": "pull" - }, - "developer-meetings": { - "permission": "push" - }, "docs": { "permission": "push" }, - "interface-connection": { - "permission": "push" - }, - "interface-content-routing": { - "permission": "push" - }, - "interface-peer-discovery": { - "permission": "push" - }, - "interface-peer-routing": { - "permission": "push" - }, - "interface-record-store": { - "permission": "push" - }, - "interface-stream-muxer": { - "permission": "push" - }, - "interface-transport": { - "permission": "push" - }, "interop": { "permission": "push" }, - "js-iprs-record": { - "permission": "push" - }, "js-libp2p": { "permission": "push" }, "js-libp2p-bootstrap": { "permission": "push" }, - "js-libp2p-circuit": { - "permission": "push" - }, - "js-libp2p-connection-manager": { - "permission": "push" - }, "js-libp2p-crypto": { "permission": "push" }, - "js-libp2p-crypto-secp256k1": { - "permission": "push" - }, "js-libp2p-daemon": { "permission": "push" }, @@ -716,51 +210,21 @@ "js-libp2p-delegated-peer-routing": { "permission": "push" }, - "js-libp2p-distributed-record-store": { - "permission": "push" - }, - "js-libp2p-examples": { - "permission": "push" - }, "js-libp2p-floodsub": { "permission": "push" }, - "js-libp2p-identify": { - "permission": "push" - }, "js-libp2p-interfaces": { "permission": "push" }, "js-libp2p-kad-dht": { "permission": "push" }, - "js-libp2p-kad-record-store": { - "permission": "push" - }, - "js-libp2p-kad-routing": { - "permission": "push" - }, - "js-libp2p-keychain": { - "permission": "push" - }, "js-libp2p-mdns": { "permission": "push" }, "js-libp2p-mplex": { "permission": "push" }, - "js-libp2p-nat-mngr": { - "permission": "push" - }, - "js-libp2p-ping": { - "permission": "push" - }, - "js-libp2p-pnet": { - "permission": "push" - }, - "js-libp2p-pubsub": { - "permission": "push" - }, "js-libp2p-pubsub-peer-discovery": { "permission": "push" }, @@ -770,135 +234,40 @@ "js-libp2p-relay-server": { "permission": "push" }, - "js-libp2p-rendezvous": { - "permission": "push" - }, - "js-libp2p-secio": { - "permission": "push" - }, - "js-libp2p-spdy": { - "permission": "push" - }, - "js-libp2p-stardust": { - "permission": "push" - }, - "js-libp2p-switch": { - "permission": "push" - }, "js-libp2p-tcp": { "permission": "push" }, - "js-libp2p-udp": { - "permission": "push" - }, - "js-libp2p-udt": { - "permission": "push" - }, "js-libp2p-utils": { "permission": "push" }, - "js-libp2p-utp": { - "permission": "push" - }, "js-libp2p-webrtc-direct": { "permission": "push" }, "js-libp2p-webrtc-star": { "permission": "push" }, - "js-libp2p-websocket-star": { - "permission": "push" - }, - "js-libp2p-websocket-star-multi": { - "permission": "push" - }, - "js-libp2p-websocket-star-rendezvous": { - "permission": "push" - }, "js-libp2p-websockets": { "permission": "push" }, - "js-p2pcat": { - "permission": "push" - }, - "js-peer-book": { - "permission": "push" - }, "js-peer-id": { "permission": "push" }, - "js-peer-info": { - "permission": "push" - }, - "js-spdy-stream-muxer": { - "permission": "push" - }, - "mplex": { - "permission": "push" - }, - "notes": { - "permission": "push" - }, "npm-go-libp2p-dep": { "permission": "push" }, - "projects": { - "permission": "push" - }, - "pull-mplex": { - "permission": "push" - }, - "research-pubsub": { - "permission": "push" - }, "specs": { "permission": "push" - }, - "team-mgmt": { - "permission": "push" - }, - "testlab": { - "permission": "push" - } - }, - "Repos - Python": { - "libp2p": { - "permission": "push" - }, - "notes": { - "permission": "push" - }, - "py-libp2p": { - "permission": "push" } }, "Repos - Rust": { - "demo-multi-lang": { - "permission": "push" - }, - "developer-meetings": { - "permission": "admin" - }, "docs": { "permission": "push" }, - "mplex": { - "permission": "push" - }, - "notes": { - "permission": "push" - }, - "projects": { - "permission": "push" - }, "rust-libp2p": { "permission": "push" }, "rust-yamux": { "permission": "push" - }, - "team-mgmt": { - "permission": "push" } }, "Specs contributors": { @@ -907,64 +276,8 @@ } }, "ci": { - "docs": { - "permission": "push" - }, - "go-libp2p-core": { - "permission": "pull" - }, - "go-libp2p-noise": { - "permission": "pull" - }, - "go-libp2p-testing": { - "permission": "pull" - }, - "js-libp2p-relay-server": { - "permission": "push" - }, - "js-libp2p-stardust": { - "permission": "admin" - }, "js-libp2p-webrtc-star": { "permission": "admin" - }, - "website": { - "permission": "push" - } - }, - "contributors": { - "demo-multi-lang": { - "permission": "pull" - }, - "developer-meetings": { - "permission": "pull" - }, - "fclibp2p-zhi": { - "permission": "pull" - }, - "go-cidranger": { - "permission": "pull" - }, - "go-libp2p-autonat-svc": { - "permission": "pull" - }, - "go-netroute": { - "permission": "pull" - }, - "go-openssl": { - "permission": "pull" - }, - "js-libp2p-connection-manager": { - "permission": "pull" - }, - "js-libp2p-utils": { - "permission": "pull" - }, - "research": { - "permission": "pull" - }, - "research-pubsub": { - "permission": "pull" } }, "cpp-libp2p": { @@ -976,39 +289,12 @@ "docs": { "permission": "pull" } - }, - "go-libp2p Maintainers": { - "awesome-libp2p": { - "permission": "pull" - }, - "demo-multi-lang": { - "permission": "pull" - }, - "developer-meetings": { - "permission": "push" - }, - "dht-tracer": { - "permission": "pull" - }, - "docs": { - "permission": "push" - }, - "go-addr-util": { - "permission": "push" - }, - "go-buffer-pool": { - "permission": "push" - }, - "go-conn-security": { - "permission": "push" - }, - "go-conn-security-multistream": { - "permission": "push" - }, - "go-eventbus": { + }, + "go-libp2p Maintainers": { + "docs": { "permission": "push" }, - "go-flow-metrics": { + "go-addr-util": { "permission": "push" }, "go-libp2p": { @@ -1017,147 +303,45 @@ "go-libp2p-autonat": { "permission": "push" }, - "go-libp2p-autonat-svc": { - "permission": "push" - }, - "go-libp2p-backoff": { - "permission": "maintain" - }, "go-libp2p-blankhost": { "permission": "push" }, "go-libp2p-circuit": { "permission": "maintain" }, - "go-libp2p-conn": { - "permission": "push" - }, "go-libp2p-connmgr": { "permission": "push" }, - "go-libp2p-consensus": { - "permission": "push" - }, "go-libp2p-core": { "permission": "maintain" }, - "go-libp2p-crypto": { - "permission": "push" - }, - "go-libp2p-daemon": { - "permission": "push" - }, "go-libp2p-discovery": { "permission": "push" }, - "go-libp2p-dummy-conn": { - "permission": "push" - }, - "go-libp2p-examples": { - "permission": "push" - }, - "go-libp2p-gorpc": { - "permission": "push" - }, - "go-libp2p-gostream": { - "permission": "push" - }, - "go-libp2p-host": { - "permission": "push" - }, - "go-libp2p-http": { - "permission": "push" - }, - "go-libp2p-identify": { - "permission": "push" - }, - "go-libp2p-interface-conn": { - "permission": "push" - }, - "go-libp2p-interface-connmgr": { - "permission": "push" - }, - "go-libp2p-interface-pnet": { - "permission": "push" - }, - "go-libp2p-introspector": { - "permission": "push" - }, "go-libp2p-kad-dht": { "permission": "maintain" }, - "go-libp2p-kbucket": { - "permission": "push" - }, - "go-libp2p-loggables": { - "permission": "push" - }, - "go-libp2p-metrics": { - "permission": "push" - }, "go-libp2p-mplex": { "permission": "push" }, - "go-libp2p-nat": { - "permission": "maintain" - }, - "go-libp2p-net": { - "permission": "push" - }, "go-libp2p-netutil": { "permission": "push" }, "go-libp2p-noise": { "permission": "maintain" }, - "go-libp2p-peer": { - "permission": "push" - }, "go-libp2p-peerstore": { "permission": "maintain" }, - "go-libp2p-ping": { - "permission": "push" - }, - "go-libp2p-pnet": { - "permission": "push" - }, - "go-libp2p-protocol": { - "permission": "push" - }, "go-libp2p-pubsub": { "permission": "maintain" }, - "go-libp2p-pubsub-DEPRECATED": { - "permission": "push" - }, - "go-libp2p-pubsub-router": { - "permission": "maintain" - }, "go-libp2p-pubsub-tracer": { "permission": "admin" }, "go-libp2p-quic-transport": { "permission": "maintain" }, - "go-libp2p-raft": { - "permission": "push" - }, - "go-libp2p-record": { - "permission": "push" - }, - "go-libp2p-rendezvous": { - "permission": "push" - }, - "go-libp2p-routing": { - "permission": "push" - }, - "go-libp2p-routing-helpers": { - "permission": "push" - }, - "go-libp2p-secio": { - "permission": "push" - }, "go-libp2p-swarm": { "permission": "maintain" }, @@ -1167,42 +351,24 @@ "go-libp2p-tls": { "permission": "maintain" }, - "go-libp2p-transport": { - "permission": "push" - }, "go-libp2p-transport-upgrader": { "permission": "maintain" }, "go-libp2p-webrtc-direct": { "permission": "maintain" }, - "go-libp2p-websocket-star-rendezvous": { - "permission": "push" - }, "go-libp2p-yamux": { "permission": "push" }, - "go-maddr-filter": { - "permission": "push" - }, "go-mplex": { "permission": "push" }, "go-msgio": { "permission": "push" }, - "go-nat": { - "permission": "push" - }, "go-netroute": { "permission": "push" }, - "go-openssl": { - "permission": "push" - }, - "go-peerstream": { - "permission": "push" - }, "go-reuseport": { "permission": "maintain" }, @@ -1212,71 +378,23 @@ "go-sockaddr": { "permission": "push" }, - "go-socket-activation": { - "permission": "push" - }, - "go-src-select": { - "permission": "push" - }, - "go-stream-muxer": { - "permission": "push" - }, "go-stream-muxer-multistream": { "permission": "push" }, "go-tcp-transport": { "permission": "maintain" }, - "go-testutil": { - "permission": "push" - }, - "go-udp-transport": { - "permission": "push" - }, - "go-utp-transport": { - "permission": "push" - }, "go-ws-transport": { "permission": "maintain" }, - "go-xtp": { - "permission": "push" - }, "go-yamux": { "permission": "maintain" }, "hydra-booster": { "permission": "push" }, - "interop": { - "permission": "push" - }, - "mplex": { - "permission": "push" - }, - "notes": { - "permission": "push" - }, - "npm-go-libp2p-dep": { - "permission": "push" - }, - "projects": { - "permission": "push" - }, - "repl": { - "permission": "push" - }, "specs": { "permission": "push" - }, - "team-mgmt": { - "permission": "push" - }, - "testlab": { - "permission": "push" - }, - "workspace-go-libp2p": { - "permission": "push" } }, "js-libp2p ChainSafe Maintainers": { @@ -1285,135 +403,39 @@ } }, "w3dt-stewards": { - "community": { - "permission": "admin" - }, - "cs-libp2p-crypto": { - "permission": "admin" - }, - "cs-libp2p-io": { - "permission": "admin" - }, - "cs-libp2p-peer": { - "permission": "admin" - }, - "cs-libp2p-protocol": { - "permission": "admin" - }, - "cs-libp2p-record": { - "permission": "admin" - }, - "cs-libp2p-utils": { - "permission": "admin" - }, - "demo-multi-lang": { - "permission": "admin" - }, - "developer-meetings": { - "permission": "admin" - }, - "dht-utils": { - "permission": "admin" - }, "docs": { "permission": "admin" }, - "docs-old": { - "permission": "admin" - }, - "go-addr-util": { - "permission": "admin" - }, "go-buffer-pool": { "permission": "admin" }, - "go-conn-security-multistream": { - "permission": "admin" - }, - "go-flow-metrics": { - "permission": "admin" - }, "go-libp2p": { "permission": "admin" }, - "go-libp2p-autonat": { - "permission": "admin" - }, - "go-libp2p-blankhost": { - "permission": "admin" - }, - "go-libp2p-circuit": { - "permission": "admin" - }, "go-libp2p-connmgr": { "permission": "admin" }, - "go-libp2p-consensus": { - "permission": "admin" - }, - "go-libp2p-coral-dht": { - "permission": "admin" - }, "go-libp2p-core": { "permission": "admin" }, - "go-libp2p-daemon": { - "permission": "admin" - }, "go-libp2p-discovery": { "permission": "admin" }, - "go-libp2p-gorpc": { - "permission": "admin" - }, - "go-libp2p-gostream": { - "permission": "admin" - }, - "go-libp2p-http": { - "permission": "admin" - }, "go-libp2p-kad-dht": { "permission": "admin" }, "go-libp2p-kbucket": { "permission": "admin" }, - "go-libp2p-loggables": { - "permission": "admin" - }, - "go-libp2p-nat": { - "permission": "admin" - }, - "go-libp2p-netutil": { - "permission": "admin" - }, "go-libp2p-noise": { "permission": "admin" }, "go-libp2p-peerstore": { "permission": "admin" }, - "go-libp2p-pnet": { - "permission": "admin" - }, - "go-libp2p-pubsub": { - "permission": "admin" - }, "go-libp2p-pubsub-router": { "permission": "admin" }, - "go-libp2p-quic-transport": { - "permission": "admin" - }, - "go-libp2p-raft": { - "permission": "admin" - }, - "go-libp2p-record": { - "permission": "admin" - }, - "go-libp2p-rendezvous": { - "permission": "admin" - }, "go-libp2p-routing-helpers": { "permission": "admin" }, @@ -1432,42 +454,15 @@ "go-libp2p-webrtc-direct": { "permission": "admin" }, - "go-libp2p-websocket-star-rendezvous": { - "permission": "admin" - }, "go-mplex": { "permission": "admin" }, "go-msgio": { "permission": "admin" }, - "go-nat": { - "permission": "admin" - }, - "go-reuseport": { - "permission": "admin" - }, - "go-reuseport-transport": { - "permission": "admin" - }, - "go-sockaddr": { - "permission": "admin" - }, "go-tcp-transport": { "permission": "admin" }, - "go-udp-transport": { - "permission": "admin" - }, - "go-ws-transport": { - "permission": "admin" - }, - "haskell-p2pcat": { - "permission": "admin" - }, - "interface-libp2p": { - "permission": "admin" - }, "interop": { "permission": "admin" }, @@ -1504,27 +499,12 @@ "js-libp2p-mplex": { "permission": "admin" }, - "js-libp2p-nat-mngr": { - "permission": "admin" - }, "js-libp2p-record": { "permission": "admin" }, - "js-libp2p-rendezvous": { - "permission": "admin" - }, "js-libp2p-tcp": { "permission": "admin" }, - "js-libp2p-udp": { - "permission": "admin" - }, - "js-libp2p-udt": { - "permission": "admin" - }, - "js-libp2p-utp": { - "permission": "admin" - }, "js-libp2p-webrtc-direct": { "permission": "admin" }, @@ -1534,36 +514,15 @@ "js-libp2p-websockets": { "permission": "admin" }, - "js-p2pcat": { - "permission": "admin" - }, "js-peer-id": { "permission": "admin" }, "libp2p": { "permission": "admin" }, - "notes": { - "permission": "admin" - }, "npm-go-libp2p-dep": { "permission": "admin" }, - "projects": { - "permission": "admin" - }, - "pubsub-notes": { - "permission": "admin" - }, - "pull-mplex": { - "permission": "admin" - }, - "py-libp2p": { - "permission": "admin" - }, - "research-pubsub": { - "permission": "admin" - }, "rust-libp2p": { "permission": "admin" }, @@ -1573,17 +532,8 @@ "specs": { "permission": "admin" }, - "team-mgmt": { - "permission": "admin" - }, "website": { "permission": "admin" - }, - "workspace-go-libp2p": { - "permission": "admin" - }, - "xtp": { - "permission": "admin" } } } diff --git a/scripts/remove-inactive-members.js b/scripts/remove-inactive-members.js new file mode 100755 index 00000000..122d6810 --- /dev/null +++ b/scripts/remove-inactive-members.js @@ -0,0 +1,93 @@ +#!/usr/bin/env bash +":" //# comment; exec /usr/bin/env node --input-type=module - "$@" < "$0" + +import { writeFileSync, readFileSync, write } from 'fs'; + +const __dirname = process.cwd(); +const args = process.argv.slice(2); + +const auditLogFilePath = args[0]; +const auditLog = JSON.parse(readFileSync(auditLogFilePath)); + +const cutoffDate = new Date(); +cutoffDate.setMonth(cutoffDate.getMonth() - 6); + +const membershipFilePath = `${__dirname}/github/libp2p/membership.json`; +const membership = JSON.parse(readFileSync(membershipFilePath)); +const repositoryCollaboratorFilePath = `${__dirname}/github/libp2p/repository_collaborator.json`; +const repositoryCollaborator = JSON.parse(readFileSync(repositoryCollaboratorFilePath)); +const teamMembershipFilePath = `${__dirname}/github/libp2p/team_membership.json`; +const teamMembership = JSON.parse(readFileSync(teamMembershipFilePath)); +const teamRepositoryFilePath = `${__dirname}/github/libp2p/team_repository.json`; +const teamRepository = JSON.parse(readFileSync(teamRepositoryFilePath)); + +for (const [name, _config] of Object.entries(membership)) { + const recentActivity = auditLog.find(activity => { + const createdAt = new Date(activity.created_at); + return activity.actor == name && createdAt >= cutoffDate; + }) + if (recentActivity === undefined) { + console.log(`Didn't find any recent activity for ${name}. Removing ${name} from the organization.`) + delete membership[name] + } +} + +for (const [repositoryName, repositoryCollaborators] of Object.entries(repositoryCollaborator)) { + for (const [userName, _config] of Object.entries(repositoryCollaborators)) { + const recentActivity = auditLog.find(activity => { + const createdAt = new Date(activity.created_at); + return activity.actor == userName && activity.repo == `libp2p/${repositoryName}` && createdAt >= cutoffDate; + }) + if (recentActivity === undefined) { + console.log(`Didn't find any recent activity for ${userName} in ${repositoryName}. Removing ${userName} from ${repositoryName}.`) + delete repositoryCollaborator[repositoryName][userName]; + } + } + if (Object.keys(repositoryCollaborator[repositoryName]).length === 0) { + console.log(`There are no users left in ${repositoryName}. Removing ${repositoryName}.`) + delete repositoryCollaborator[repositoryName]; + } +} + +for (const [teamName, teamMembers] of Object.entries(teamMembership)) { + const repositories = Object.keys(teamRepository[teamName] ?? {}).map(name => { + return `libp2p/${name}` + }); + for (const [userName, _config] of Object.entries(teamMembers)) { + const recentActivity = auditLog.find(activity => { + const createdAt = new Date(activity.created_at); + return activity.actor == userName && repositories.includes(activity.repo) && createdAt >= cutoffDate; + }) + if (recentActivity === undefined) { + console.log(`Didn't find any recent activity for ${userName} in any of the repositories belonging to ${teamName}. Removing ${userName} from ${teamName}.`) + delete teamMembership[teamName][userName]; + } + } + if (Object.keys(teamMembership[teamName]).length === 0) { + console.log(`There are no members left in ${teamName}. Removing ${teamName}.`) + delete teamMembership[teamName]; + } +} + +for (const [teamName, teamRepositories] of Object.entries(teamRepository)) { + const members = Object.keys(teamMembership[teamName] ?? {}); + for (const [repositoryName, _config] of Object.entries(teamRepositories)) { + const recentActivity = auditLog.find(activity => { + const createdAt = new Date(activity.created_at); + return members.includes(activity.actor) && activity.repo == `libp2p/${repositoryName}` && createdAt >= cutoffDate; + }) + if (recentActivity === undefined) { + console.log(`Didn't find any recent activity for ${repositoryName} by any of the ${teamName} members. Removing ${repositoryName} from ${teamName}.`) + delete teamRepository[teamName][repositoryName]; + } + } + if (Object.keys(teamRepository[teamName]).length === 0) { + console.log(`There are no repositories left in ${teamName}. Removing ${teamName}.`) + delete teamRepository[teamName]; + } +} + +writeFileSync(membershipFilePath, `${JSON.stringify(membership, null, 2)}\n`); +writeFileSync(repositoryCollaboratorFilePath, `${JSON.stringify(repositoryCollaborator, null, 2)}\n`); +writeFileSync(teamMembershipFilePath, `${JSON.stringify(teamMembership, null, 2)}\n`); +writeFileSync(teamRepositoryFilePath, `${JSON.stringify(teamRepository, null, 2)}\n`); From d489695fa67a49b63d17195a1aab6d9867f5bef6 Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 18 May 2022 12:40:54 +0200 Subject: [PATCH 02/15] chore: look for recent activity within past 12 months --- github/libp2p/membership.json | 33 +++++ github/libp2p/repository_collaborator.json | 34 +++++ github/libp2p/team_membership.json | 29 ++++ github/libp2p/team_repository.json | 155 +++++++++++++++++++++ scripts/remove-inactive-members.js | 2 +- 5 files changed, 252 insertions(+), 1 deletion(-) diff --git a/github/libp2p/membership.json b/github/libp2p/membership.json index f8d9b677..aef6e83e 100644 --- a/github/libp2p/membership.json +++ b/github/libp2p/membership.json @@ -8,6 +8,9 @@ "Gozala": { "role": "member" }, + "Harrm": { + "role": "member" + }, "Kubuxu": { "role": "member" }, @@ -26,6 +29,9 @@ "achingbrain": { "role": "member" }, + "adlrocha": { + "role": "member" + }, "ajnavarro": { "role": "member" }, @@ -38,9 +44,15 @@ "andrew": { "role": "member" }, + "andyschwab": { + "role": "member" + }, "arajasek": { "role": "member" }, + "art-gor": { + "role": "member" + }, "aschmahmann": { "role": "admin" }, @@ -53,6 +65,9 @@ "dirkmc": { "role": "member" }, + "dvdplm": { + "role": "member" + }, "elenaf9": { "role": "member" }, @@ -86,12 +101,21 @@ "jacobheun": { "role": "admin" }, + "jbenet": { + "role": "admin" + }, "jchris": { "role": "member" }, "jrhea": { "role": "member" }, + "kamilsa": { + "role": "member" + }, + "kumavis": { + "role": "member" + }, "lidel": { "role": "member" }, @@ -101,6 +125,9 @@ "marten-seemann": { "role": "admin" }, + "masih": { + "role": "member" + }, "momack2": { "role": "admin" }, @@ -125,6 +152,9 @@ "rolfyone": { "role": "member" }, + "romanb": { + "role": "member" + }, "thomaseizinger": { "role": "member" }, @@ -152,6 +182,9 @@ "wemeetagain": { "role": "member" }, + "whyrusleeping": { + "role": "admin" + }, "willscott": { "role": "member" }, diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index b03862aa..5dbdc59e 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -1,5 +1,8 @@ { "dht-tracer1": { + "jbenet": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -25,6 +28,9 @@ } }, "go-composable-routing": { + "petar": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -116,6 +122,9 @@ } }, "go-libp2p-gostream": { + "Stebalien": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -265,6 +274,9 @@ } }, "go-libp2p-xor": { + "petar": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -295,11 +307,23 @@ } }, "go-routing-language": { + "adlrocha": { + "permission": "push" + }, + "masih": { + "permission": "push" + }, + "petar": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } }, "go-smart-record": { + "petar": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -347,6 +371,11 @@ "permission": "push" } }, + "js-libp2p-daemon-client": { + "vasco-santos": { + "permission": "admin" + } + }, "js-libp2p-daemon-protocol": { "achingbrain": { "permission": "admin" @@ -425,6 +454,11 @@ "permission": "push" } }, + "website": { + "momack2": { + "permission": "admin" + } + }, "workspace-go-libp2p": { "mcamou": { "permission": "push" diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index 5f5bb115..fef77263 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -9,11 +9,17 @@ "aschmahmann": { "role": "maintainer" }, + "jbenet": { + "role": "maintainer" + }, "mxinden": { "role": "member" }, "raulk": { "role": "maintainer" + }, + "yusefnapora": { + "role": "member" } }, "Repos - Go": { @@ -47,6 +53,9 @@ "iand": { "role": "member" }, + "jacobheun": { + "role": "maintainer" + }, "lidel": { "role": "member" }, @@ -93,6 +102,9 @@ "hugomrdias": { "role": "member" }, + "jacobheun": { + "role": "maintainer" + }, "lidel": { "role": "member" }, @@ -116,6 +128,9 @@ "AgeManning": { "role": "member" }, + "dvdplm": { + "role": "member" + }, "elenaf9": { "role": "member" }, @@ -145,12 +160,26 @@ "role": "member" } }, + "contributors": { + "BigLep": { + "role": "member" + } + }, "cpp-libp2p": { + "Harrm": { + "role": "member" + }, "igor-egorov": { "role": "member" }, + "kamilsa": { + "role": "maintainer" + }, "turuslan": { "role": "member" + }, + "xDimon": { + "role": "member" } }, "docs": { diff --git a/github/libp2p/team_repository.json b/github/libp2p/team_repository.json index 18270baa..46a32cad 100644 --- a/github/libp2p/team_repository.json +++ b/github/libp2p/team_repository.json @@ -3,18 +3,57 @@ "go-libp2p": { "permission": "admin" }, + "go-libp2p-blankhost": { + "permission": "admin" + }, + "go-libp2p-circuit": { + "permission": "admin" + }, + "go-libp2p-connmgr": { + "permission": "admin" + }, "go-libp2p-kad-dht": { "permission": "admin" }, + "go-libp2p-nat": { + "permission": "admin" + }, + "go-libp2p-peerstore": { + "permission": "admin" + }, + "go-libp2p-pubsub": { + "permission": "admin" + }, + "go-libp2p-quic-transport": { + "permission": "admin" + }, + "go-libp2p-raft": { + "permission": "admin" + }, + "go-libp2p-record": { + "permission": "admin" + }, "go-libp2p-swarm": { "permission": "admin" }, + "go-mplex": { + "permission": "admin" + }, + "go-reuseport": { + "permission": "admin" + }, + "go-tcp-transport": { + "permission": "admin" + }, "go-ws-transport": { "permission": "admin" }, "js-libp2p": { "permission": "admin" }, + "js-libp2p-crypto": { + "permission": "admin" + }, "js-libp2p-mplex": { "permission": "admin" }, @@ -47,6 +86,9 @@ "go-buffer-pool": { "permission": "push" }, + "go-conn-security-multistream": { + "permission": "push" + }, "go-libp2p": { "permission": "push" }, @@ -65,6 +107,9 @@ "go-libp2p-core": { "permission": "push" }, + "go-libp2p-daemon": { + "permission": "push" + }, "go-libp2p-discovery": { "permission": "push" }, @@ -77,6 +122,9 @@ "go-libp2p-http": { "permission": "push" }, + "go-libp2p-introspector": { + "permission": "push" + }, "go-libp2p-kad-dht": { "permission": "push" }, @@ -86,6 +134,9 @@ "go-libp2p-mplex": { "permission": "push" }, + "go-libp2p-nat": { + "permission": "push" + }, "go-libp2p-netutil": { "permission": "push" }, @@ -125,6 +176,9 @@ "go-libp2p-webrtc-direct": { "permission": "push" }, + "go-libp2p-xor": { + "permission": "push" + }, "go-libp2p-yamux": { "permission": "push" }, @@ -134,6 +188,9 @@ "go-msgio": { "permission": "push" }, + "go-nat": { + "permission": "push" + }, "go-netroute": { "permission": "push" }, @@ -149,15 +206,27 @@ "go-sockaddr": { "permission": "push" }, + "go-socket-activation": { + "permission": "push" + }, + "go-src-select": { + "permission": "push" + }, "go-stream-muxer-multistream": { "permission": "push" }, "go-tcp-transport": { "permission": "push" }, + "go-utp-transport": { + "permission": "push" + }, "go-ws-transport": { "permission": "push" }, + "go-xtp": { + "permission": "push" + }, "go-yamux": { "permission": "push" }, @@ -210,6 +279,9 @@ "js-libp2p-delegated-peer-routing": { "permission": "push" }, + "js-libp2p-examples": { + "permission": "push" + }, "js-libp2p-floodsub": { "permission": "push" }, @@ -234,6 +306,9 @@ "js-libp2p-relay-server": { "permission": "push" }, + "js-libp2p-rendezvous": { + "permission": "push" + }, "js-libp2p-tcp": { "permission": "push" }, @@ -280,6 +355,11 @@ "permission": "admin" } }, + "contributors": { + "go-openssl": { + "permission": "pull" + } + }, "cpp-libp2p": { "cpp-libp2p": { "permission": "maintain" @@ -297,12 +377,18 @@ "go-addr-util": { "permission": "push" }, + "go-conn-security-multistream": { + "permission": "push" + }, "go-libp2p": { "permission": "maintain" }, "go-libp2p-autonat": { "permission": "push" }, + "go-libp2p-backoff": { + "permission": "maintain" + }, "go-libp2p-blankhost": { "permission": "push" }, @@ -318,12 +404,24 @@ "go-libp2p-discovery": { "permission": "push" }, + "go-libp2p-gorpc": { + "permission": "push" + }, + "go-libp2p-gostream": { + "permission": "push" + }, + "go-libp2p-http": { + "permission": "push" + }, "go-libp2p-kad-dht": { "permission": "maintain" }, "go-libp2p-mplex": { "permission": "push" }, + "go-libp2p-nat": { + "permission": "maintain" + }, "go-libp2p-netutil": { "permission": "push" }, @@ -336,6 +434,9 @@ "go-libp2p-pubsub": { "permission": "maintain" }, + "go-libp2p-pubsub-router": { + "permission": "maintain" + }, "go-libp2p-pubsub-tracer": { "permission": "admin" }, @@ -366,9 +467,15 @@ "go-msgio": { "permission": "push" }, + "go-nat": { + "permission": "push" + }, "go-netroute": { "permission": "push" }, + "go-openssl": { + "permission": "push" + }, "go-reuseport": { "permission": "maintain" }, @@ -378,6 +485,12 @@ "go-sockaddr": { "permission": "push" }, + "go-socket-activation": { + "permission": "push" + }, + "go-src-select": { + "permission": "push" + }, "go-stream-muxer-multistream": { "permission": "push" }, @@ -395,6 +508,9 @@ }, "specs": { "permission": "push" + }, + "workspace-go-libp2p": { + "permission": "push" } }, "js-libp2p ChainSafe Maintainers": { @@ -403,6 +519,9 @@ } }, "w3dt-stewards": { + "dht-utils": { + "permission": "admin" + }, "docs": { "permission": "admin" }, @@ -412,30 +531,57 @@ "go-libp2p": { "permission": "admin" }, + "go-libp2p-autonat": { + "permission": "admin" + }, + "go-libp2p-blankhost": { + "permission": "admin" + }, + "go-libp2p-circuit": { + "permission": "admin" + }, "go-libp2p-connmgr": { "permission": "admin" }, + "go-libp2p-coral-dht": { + "permission": "admin" + }, "go-libp2p-core": { "permission": "admin" }, + "go-libp2p-daemon": { + "permission": "admin" + }, "go-libp2p-discovery": { "permission": "admin" }, + "go-libp2p-gostream": { + "permission": "admin" + }, "go-libp2p-kad-dht": { "permission": "admin" }, "go-libp2p-kbucket": { "permission": "admin" }, + "go-libp2p-nat": { + "permission": "admin" + }, "go-libp2p-noise": { "permission": "admin" }, "go-libp2p-peerstore": { "permission": "admin" }, + "go-libp2p-pubsub": { + "permission": "admin" + }, "go-libp2p-pubsub-router": { "permission": "admin" }, + "go-libp2p-quic-transport": { + "permission": "admin" + }, "go-libp2p-routing-helpers": { "permission": "admin" }, @@ -460,9 +606,15 @@ "go-msgio": { "permission": "admin" }, + "go-reuseport": { + "permission": "admin" + }, "go-tcp-transport": { "permission": "admin" }, + "go-ws-transport": { + "permission": "admin" + }, "interop": { "permission": "admin" }, @@ -523,6 +675,9 @@ "npm-go-libp2p-dep": { "permission": "admin" }, + "pubsub-notes": { + "permission": "admin" + }, "rust-libp2p": { "permission": "admin" }, diff --git a/scripts/remove-inactive-members.js b/scripts/remove-inactive-members.js index 122d6810..351293ff 100755 --- a/scripts/remove-inactive-members.js +++ b/scripts/remove-inactive-members.js @@ -10,7 +10,7 @@ const auditLogFilePath = args[0]; const auditLog = JSON.parse(readFileSync(auditLogFilePath)); const cutoffDate = new Date(); -cutoffDate.setMonth(cutoffDate.getMonth() - 6); +cutoffDate.setMonth(cutoffDate.getMonth() - 12); const membershipFilePath = `${__dirname}/github/libp2p/membership.json`; const membership = JSON.parse(readFileSync(membershipFilePath)); From 6020081829ffcc673de8af6867a751f6f634bb7b Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 18 May 2022 21:06:37 +0200 Subject: [PATCH 03/15] chore: restore team repositories and delete teams with no members --- github/libp2p/team.json | 25 - github/libp2p/team_repository.json | 870 ++++++++++++++++++++++++++++- scripts/remove-inactive-members.js | 23 +- 3 files changed, 863 insertions(+), 55 deletions(-) diff --git a/github/libp2p/team.json b/github/libp2p/team.json index 5b7ee190..f3876fe5 100644 --- a/github/libp2p/team.json +++ b/github/libp2p/team.json @@ -4,31 +4,11 @@ "parent_team_id": null, "privacy": "closed" }, - "Devgrant editors": { - "id": "3356302", - "parent_team_id": null, - "privacy": "closed" - }, - "Observation UI": { - "id": "3891830", - "parent_team_id": null, - "privacy": "closed" - }, - "Repos - C#": { - "id": "2223530", - "parent_team_id": null, - "privacy": "closed" - }, "Repos - Go": { "id": "2100801", "parent_team_id": null, "privacy": "closed" }, - "Repos - Haskell": { - "id": "2570766", - "parent_team_id": null, - "privacy": "closed" - }, "Repos - Java": { "id": "2976895", "parent_team_id": null, @@ -39,11 +19,6 @@ "parent_team_id": null, "privacy": "closed" }, - "Repos - Python": { - "id": "2976894", - "parent_team_id": null, - "privacy": "closed" - }, "Repos - Rust": { "id": "2457482", "parent_team_id": null, diff --git a/github/libp2p/team_repository.json b/github/libp2p/team_repository.json index 46a32cad..441cacdf 100644 --- a/github/libp2p/team_repository.json +++ b/github/libp2p/team_repository.json @@ -1,5 +1,29 @@ { "Admin": { + "community": { + "permission": "admin" + }, + "cs-libp2p-crypto": { + "permission": "admin" + }, + "cs-libp2p-io": { + "permission": "admin" + }, + "cs-libp2p-peer": { + "permission": "admin" + }, + "cs-libp2p-protocol": { + "permission": "admin" + }, + "cs-libp2p-record": { + "permission": "admin" + }, + "cs-libp2p-utils": { + "permission": "admin" + }, + "go-addr-util": { + "permission": "admin" + }, "go-libp2p": { "permission": "admin" }, @@ -9,18 +33,75 @@ "go-libp2p-circuit": { "permission": "admin" }, + "go-libp2p-conn": { + "permission": "admin" + }, "go-libp2p-connmgr": { "permission": "admin" }, + "go-libp2p-consensus": { + "permission": "admin" + }, + "go-libp2p-crypto": { + "permission": "admin" + }, + "go-libp2p-dummy-conn": { + "permission": "admin" + }, + "go-libp2p-gorpc": { + "permission": "admin" + }, + "go-libp2p-host": { + "permission": "admin" + }, + "go-libp2p-http": { + "permission": "admin" + }, + "go-libp2p-identify": { + "permission": "admin" + }, + "go-libp2p-interface-conn": { + "permission": "admin" + }, + "go-libp2p-interface-pnet": { + "permission": "admin" + }, "go-libp2p-kad-dht": { "permission": "admin" }, + "go-libp2p-kbucket": { + "permission": "admin" + }, + "go-libp2p-loggables": { + "permission": "admin" + }, + "go-libp2p-metrics": { + "permission": "admin" + }, "go-libp2p-nat": { "permission": "admin" }, + "go-libp2p-net": { + "permission": "admin" + }, + "go-libp2p-netutil": { + "permission": "admin" + }, + "go-libp2p-peer": { + "permission": "admin" + }, "go-libp2p-peerstore": { "permission": "admin" }, + "go-libp2p-ping": { + "permission": "admin" + }, + "go-libp2p-pnet": { + "permission": "admin" + }, + "go-libp2p-protocol": { + "permission": "admin" + }, "go-libp2p-pubsub": { "permission": "admin" }, @@ -33,39 +114,180 @@ "go-libp2p-record": { "permission": "admin" }, + "go-libp2p-routing": { + "permission": "admin" + }, + "go-libp2p-secio": { + "permission": "admin" + }, "go-libp2p-swarm": { "permission": "admin" }, + "go-libp2p-transport": { + "permission": "admin" + }, + "go-maddr-filter": { + "permission": "admin" + }, "go-mplex": { "permission": "admin" }, + "go-peerstream": { + "permission": "admin" + }, "go-reuseport": { "permission": "admin" }, + "go-sockaddr": { + "permission": "admin" + }, + "go-stream-muxer": { + "permission": "admin" + }, "go-tcp-transport": { "permission": "admin" }, + "go-testutil": { + "permission": "admin" + }, + "go-udp-transport": { + "permission": "admin" + }, + "go-utp-transport": { + "permission": "admin" + }, "go-ws-transport": { "permission": "admin" }, + "go-xtp": { + "permission": "admin" + }, + "haskell-p2pcat": { + "permission": "admin" + }, + "interface-connection": { + "permission": "admin" + }, + "interface-libp2p": { + "permission": "admin" + }, + "interface-peer-discovery": { + "permission": "admin" + }, + "interface-peer-routing": { + "permission": "admin" + }, + "interface-record-store": { + "permission": "admin" + }, + "interface-stream-muxer": { + "permission": "admin" + }, + "interface-transport": { + "permission": "admin" + }, + "js-iprs-record": { + "permission": "admin" + }, "js-libp2p": { "permission": "admin" }, + "js-libp2p-bootstrap": { + "permission": "admin" + }, + "js-libp2p-circuit": { + "permission": "admin" + }, "js-libp2p-crypto": { "permission": "admin" }, + "js-libp2p-crypto-secp256k1": { + "permission": "admin" + }, + "js-libp2p-distributed-record-store": { + "permission": "admin" + }, + "js-libp2p-floodsub": { + "permission": "admin" + }, + "js-libp2p-identify": { + "permission": "admin" + }, + "js-libp2p-kad-dht": { + "permission": "admin" + }, + "js-libp2p-kad-record-store": { + "permission": "admin" + }, + "js-libp2p-kad-routing": { + "permission": "admin" + }, + "js-libp2p-mdns": { + "permission": "admin" + }, "js-libp2p-mplex": { "permission": "admin" }, + "js-libp2p-ping": { + "permission": "admin" + }, + "js-libp2p-record": { + "permission": "admin" + }, + "js-libp2p-secio": { + "permission": "admin" + }, + "js-libp2p-spdy": { + "permission": "admin" + }, + "js-libp2p-switch": { + "permission": "admin" + }, "js-libp2p-tcp": { "permission": "admin" }, + "js-libp2p-udp": { + "permission": "admin" + }, + "js-libp2p-udt": { + "permission": "admin" + }, + "js-libp2p-utp": { + "permission": "admin" + }, + "js-libp2p-webrtc-direct": { + "permission": "admin" + }, + "js-libp2p-webrtc-star": { + "permission": "admin" + }, + "js-libp2p-websockets": { + "permission": "admin" + }, + "js-p2pcat": { + "permission": "admin" + }, + "js-peer-book": { + "permission": "admin" + }, "js-peer-id": { "permission": "admin" }, + "js-peer-info": { + "permission": "admin" + }, + "js-spdy-stream-muxer": { + "permission": "admin" + }, "libp2p": { "permission": "admin" }, + "pubsub-notes": { + "permission": "admin" + }, + "research-pubsub": { + "permission": "admin" + }, "rust-libp2p": { "permission": "admin" }, @@ -74,9 +296,24 @@ }, "website": { "permission": "admin" + }, + "xtp": { + "permission": "admin" } }, "Repos - Go": { + "awesome-libp2p": { + "permission": "pull" + }, + "demo-multi-lang": { + "permission": "pull" + }, + "developer-meetings": { + "permission": "push" + }, + "dht-tracer": { + "permission": "pull" + }, "docs": { "permission": "push" }, @@ -86,42 +323,84 @@ "go-buffer-pool": { "permission": "push" }, + "go-conn-security": { + "permission": "push" + }, "go-conn-security-multistream": { "permission": "push" }, + "go-eventbus": { + "permission": "push" + }, + "go-flow-metrics": { + "permission": "push" + }, "go-libp2p": { "permission": "push" }, "go-libp2p-autonat": { "permission": "push" }, + "go-libp2p-autonat-svc": { + "permission": "push" + }, "go-libp2p-blankhost": { "permission": "push" }, "go-libp2p-circuit": { "permission": "push" }, + "go-libp2p-conn": { + "permission": "push" + }, "go-libp2p-connmgr": { "permission": "push" }, + "go-libp2p-consensus": { + "permission": "push" + }, "go-libp2p-core": { "permission": "push" }, + "go-libp2p-crypto": { + "permission": "push" + }, "go-libp2p-daemon": { "permission": "push" }, "go-libp2p-discovery": { "permission": "push" }, + "go-libp2p-dummy-conn": { + "permission": "push" + }, + "go-libp2p-examples": { + "permission": "push" + }, "go-libp2p-gorpc": { "permission": "push" }, "go-libp2p-gostream": { "permission": "push" }, + "go-libp2p-host": { + "permission": "push" + }, "go-libp2p-http": { "permission": "push" }, + "go-libp2p-identify": { + "permission": "push" + }, + "go-libp2p-interface-conn": { + "permission": "push" + }, + "go-libp2p-interface-connmgr": { + "permission": "push" + }, + "go-libp2p-interface-pnet": { + "permission": "push" + }, "go-libp2p-introspector": { "permission": "push" }, @@ -131,24 +410,48 @@ "go-libp2p-kbucket": { "permission": "push" }, + "go-libp2p-loggables": { + "permission": "push" + }, + "go-libp2p-metrics": { + "permission": "push" + }, "go-libp2p-mplex": { "permission": "push" }, "go-libp2p-nat": { "permission": "push" }, + "go-libp2p-net": { + "permission": "push" + }, "go-libp2p-netutil": { "permission": "push" }, "go-libp2p-noise": { "permission": "push" }, + "go-libp2p-peer": { + "permission": "push" + }, "go-libp2p-peerstore": { "permission": "push" }, + "go-libp2p-ping": { + "permission": "push" + }, + "go-libp2p-pnet": { + "permission": "push" + }, + "go-libp2p-protocol": { + "permission": "push" + }, "go-libp2p-pubsub": { "permission": "push" }, + "go-libp2p-pubsub-DEPRECATED": { + "permission": "push" + }, "go-libp2p-pubsub-router": { "permission": "push" }, @@ -158,9 +461,24 @@ "go-libp2p-quic-transport": { "permission": "push" }, + "go-libp2p-raft": { + "permission": "push" + }, + "go-libp2p-record": { + "permission": "push" + }, + "go-libp2p-rendezvous": { + "permission": "push" + }, + "go-libp2p-routing": { + "permission": "push" + }, "go-libp2p-routing-helpers": { "permission": "push" }, + "go-libp2p-secio": { + "permission": "push" + }, "go-libp2p-swarm": { "permission": "push" }, @@ -170,18 +488,27 @@ "go-libp2p-tls": { "permission": "push" }, + "go-libp2p-transport": { + "permission": "push" + }, "go-libp2p-transport-upgrader": { "permission": "push" }, "go-libp2p-webrtc-direct": { "permission": "push" }, + "go-libp2p-websocket-star-rendezvous": { + "permission": "push" + }, "go-libp2p-xor": { "permission": "push" }, "go-libp2p-yamux": { "permission": "push" }, + "go-maddr-filter": { + "permission": "push" + }, "go-mplex": { "permission": "push" }, @@ -197,6 +524,9 @@ "go-openssl": { "permission": "push" }, + "go-peerstream": { + "permission": "push" + }, "go-reuseport": { "permission": "push" }, @@ -212,12 +542,21 @@ "go-src-select": { "permission": "push" }, + "go-stream-muxer": { + "permission": "push" + }, "go-stream-muxer-multistream": { "permission": "push" }, "go-tcp-transport": { "permission": "push" }, + "go-testutil": { + "permission": "push" + }, + "go-udp-transport": { + "permission": "push" + }, "go-utp-transport": { "permission": "push" }, @@ -233,15 +572,33 @@ "hydra-booster": { "permission": "push" }, + "interop": { + "permission": "push" + }, + "mplex": { + "permission": "push" + }, "notes": { "permission": "push" }, + "npm-go-libp2p-dep": { + "permission": "push" + }, + "projects": { + "permission": "push" + }, "repl": { "permission": "push" }, "specs": { "permission": "push" }, + "team-mgmt": { + "permission": "push" + }, + "testlab": { + "permission": "push" + }, "workspace-go-libp2p": { "permission": "push" } @@ -252,21 +609,63 @@ } }, "Repos - JavaScript": { + "awesome-libp2p": { + "permission": "pull" + }, + "demo-multi-lang": { + "permission": "pull" + }, + "developer-meetings": { + "permission": "push" + }, "docs": { "permission": "push" }, + "interface-connection": { + "permission": "push" + }, + "interface-content-routing": { + "permission": "push" + }, + "interface-peer-discovery": { + "permission": "push" + }, + "interface-peer-routing": { + "permission": "push" + }, + "interface-record-store": { + "permission": "push" + }, + "interface-stream-muxer": { + "permission": "push" + }, + "interface-transport": { + "permission": "push" + }, "interop": { "permission": "push" }, + "js-iprs-record": { + "permission": "push" + }, "js-libp2p": { "permission": "push" }, "js-libp2p-bootstrap": { "permission": "push" }, + "js-libp2p-circuit": { + "permission": "push" + }, + "js-libp2p-connection-manager": { + "permission": "push" + }, "js-libp2p-crypto": { "permission": "push" }, + "js-libp2p-crypto-secp256k1": { + "permission": "push" + }, "js-libp2p-daemon": { "permission": "push" }, @@ -279,24 +678,51 @@ "js-libp2p-delegated-peer-routing": { "permission": "push" }, + "js-libp2p-distributed-record-store": { + "permission": "push" + }, "js-libp2p-examples": { "permission": "push" }, "js-libp2p-floodsub": { "permission": "push" }, + "js-libp2p-identify": { + "permission": "push" + }, "js-libp2p-interfaces": { "permission": "push" }, "js-libp2p-kad-dht": { "permission": "push" }, + "js-libp2p-kad-record-store": { + "permission": "push" + }, + "js-libp2p-kad-routing": { + "permission": "push" + }, + "js-libp2p-keychain": { + "permission": "push" + }, "js-libp2p-mdns": { "permission": "push" }, "js-libp2p-mplex": { "permission": "push" }, + "js-libp2p-nat-mngr": { + "permission": "push" + }, + "js-libp2p-ping": { + "permission": "push" + }, + "js-libp2p-pnet": { + "permission": "push" + }, + "js-libp2p-pubsub": { + "permission": "push" + }, "js-libp2p-pubsub-peer-discovery": { "permission": "push" }, @@ -309,55 +735,187 @@ "js-libp2p-rendezvous": { "permission": "push" }, + "js-libp2p-secio": { + "permission": "push" + }, + "js-libp2p-spdy": { + "permission": "push" + }, + "js-libp2p-stardust": { + "permission": "push" + }, + "js-libp2p-switch": { + "permission": "push" + }, "js-libp2p-tcp": { "permission": "push" }, + "js-libp2p-udp": { + "permission": "push" + }, + "js-libp2p-udt": { + "permission": "push" + }, "js-libp2p-utils": { "permission": "push" }, + "js-libp2p-utp": { + "permission": "push" + }, "js-libp2p-webrtc-direct": { "permission": "push" }, "js-libp2p-webrtc-star": { "permission": "push" }, + "js-libp2p-websocket-star": { + "permission": "push" + }, + "js-libp2p-websocket-star-multi": { + "permission": "push" + }, + "js-libp2p-websocket-star-rendezvous": { + "permission": "push" + }, "js-libp2p-websockets": { "permission": "push" }, + "js-p2pcat": { + "permission": "push" + }, + "js-peer-book": { + "permission": "push" + }, "js-peer-id": { "permission": "push" }, + "js-peer-info": { + "permission": "push" + }, + "js-spdy-stream-muxer": { + "permission": "push" + }, + "mplex": { + "permission": "push" + }, + "notes": { + "permission": "push" + }, "npm-go-libp2p-dep": { "permission": "push" }, + "projects": { + "permission": "push" + }, + "pull-mplex": { + "permission": "push" + }, + "research-pubsub": { + "permission": "push" + }, "specs": { "permission": "push" + }, + "team-mgmt": { + "permission": "push" + }, + "testlab": { + "permission": "push" } }, "Repos - Rust": { + "demo-multi-lang": { + "permission": "push" + }, + "developer-meetings": { + "permission": "admin" + }, + "docs": { + "permission": "push" + }, + "mplex": { + "permission": "push" + }, + "notes": { + "permission": "push" + }, + "projects": { + "permission": "push" + }, + "rust-libp2p": { + "permission": "push" + }, + "rust-yamux": { + "permission": "push" + }, + "team-mgmt": { + "permission": "push" + } + }, + "Specs contributors": { + "specs": { + "permission": "push" + } + }, + "ci": { "docs": { "permission": "push" }, - "rust-libp2p": { - "permission": "push" + "go-libp2p-core": { + "permission": "pull" + }, + "go-libp2p-noise": { + "permission": "pull" + }, + "go-libp2p-testing": { + "permission": "pull" + }, + "js-libp2p-relay-server": { + "permission": "push" + }, + "js-libp2p-stardust": { + "permission": "admin" }, - "rust-yamux": { - "permission": "push" - } - }, - "Specs contributors": { - "specs": { - "permission": "push" - } - }, - "ci": { "js-libp2p-webrtc-star": { "permission": "admin" + }, + "website": { + "permission": "push" } }, "contributors": { + "demo-multi-lang": { + "permission": "pull" + }, + "developer-meetings": { + "permission": "pull" + }, + "fclibp2p-zhi": { + "permission": "pull" + }, + "go-cidranger": { + "permission": "pull" + }, + "go-libp2p-autonat-svc": { + "permission": "pull" + }, + "go-netroute": { + "permission": "pull" + }, "go-openssl": { "permission": "pull" + }, + "js-libp2p-connection-manager": { + "permission": "pull" + }, + "js-libp2p-utils": { + "permission": "pull" + }, + "research": { + "permission": "pull" + }, + "research-pubsub": { + "permission": "pull" } }, "cpp-libp2p": { @@ -371,21 +929,48 @@ } }, "go-libp2p Maintainers": { + "awesome-libp2p": { + "permission": "pull" + }, + "demo-multi-lang": { + "permission": "pull" + }, + "developer-meetings": { + "permission": "push" + }, + "dht-tracer": { + "permission": "pull" + }, "docs": { "permission": "push" }, "go-addr-util": { "permission": "push" }, + "go-buffer-pool": { + "permission": "push" + }, + "go-conn-security": { + "permission": "push" + }, "go-conn-security-multistream": { "permission": "push" }, + "go-eventbus": { + "permission": "push" + }, + "go-flow-metrics": { + "permission": "push" + }, "go-libp2p": { "permission": "maintain" }, "go-libp2p-autonat": { "permission": "push" }, + "go-libp2p-autonat-svc": { + "permission": "push" + }, "go-libp2p-backoff": { "permission": "maintain" }, @@ -395,45 +980,108 @@ "go-libp2p-circuit": { "permission": "maintain" }, + "go-libp2p-conn": { + "permission": "push" + }, "go-libp2p-connmgr": { "permission": "push" }, + "go-libp2p-consensus": { + "permission": "push" + }, "go-libp2p-core": { "permission": "maintain" }, + "go-libp2p-crypto": { + "permission": "push" + }, + "go-libp2p-daemon": { + "permission": "push" + }, "go-libp2p-discovery": { "permission": "push" }, + "go-libp2p-dummy-conn": { + "permission": "push" + }, + "go-libp2p-examples": { + "permission": "push" + }, "go-libp2p-gorpc": { "permission": "push" }, "go-libp2p-gostream": { "permission": "push" }, + "go-libp2p-host": { + "permission": "push" + }, "go-libp2p-http": { "permission": "push" }, + "go-libp2p-identify": { + "permission": "push" + }, + "go-libp2p-interface-conn": { + "permission": "push" + }, + "go-libp2p-interface-connmgr": { + "permission": "push" + }, + "go-libp2p-interface-pnet": { + "permission": "push" + }, + "go-libp2p-introspector": { + "permission": "push" + }, "go-libp2p-kad-dht": { "permission": "maintain" }, + "go-libp2p-kbucket": { + "permission": "push" + }, + "go-libp2p-loggables": { + "permission": "push" + }, + "go-libp2p-metrics": { + "permission": "push" + }, "go-libp2p-mplex": { "permission": "push" }, "go-libp2p-nat": { "permission": "maintain" }, + "go-libp2p-net": { + "permission": "push" + }, "go-libp2p-netutil": { "permission": "push" }, "go-libp2p-noise": { "permission": "maintain" }, + "go-libp2p-peer": { + "permission": "push" + }, "go-libp2p-peerstore": { "permission": "maintain" }, + "go-libp2p-ping": { + "permission": "push" + }, + "go-libp2p-pnet": { + "permission": "push" + }, + "go-libp2p-protocol": { + "permission": "push" + }, "go-libp2p-pubsub": { "permission": "maintain" }, + "go-libp2p-pubsub-DEPRECATED": { + "permission": "push" + }, "go-libp2p-pubsub-router": { "permission": "maintain" }, @@ -443,6 +1091,24 @@ "go-libp2p-quic-transport": { "permission": "maintain" }, + "go-libp2p-raft": { + "permission": "push" + }, + "go-libp2p-record": { + "permission": "push" + }, + "go-libp2p-rendezvous": { + "permission": "push" + }, + "go-libp2p-routing": { + "permission": "push" + }, + "go-libp2p-routing-helpers": { + "permission": "push" + }, + "go-libp2p-secio": { + "permission": "push" + }, "go-libp2p-swarm": { "permission": "maintain" }, @@ -452,15 +1118,24 @@ "go-libp2p-tls": { "permission": "maintain" }, + "go-libp2p-transport": { + "permission": "push" + }, "go-libp2p-transport-upgrader": { "permission": "maintain" }, "go-libp2p-webrtc-direct": { "permission": "maintain" }, + "go-libp2p-websocket-star-rendezvous": { + "permission": "push" + }, "go-libp2p-yamux": { "permission": "push" }, + "go-maddr-filter": { + "permission": "push" + }, "go-mplex": { "permission": "push" }, @@ -476,6 +1151,9 @@ "go-openssl": { "permission": "push" }, + "go-peerstream": { + "permission": "push" + }, "go-reuseport": { "permission": "maintain" }, @@ -491,24 +1169,63 @@ "go-src-select": { "permission": "push" }, + "go-stream-muxer": { + "permission": "push" + }, "go-stream-muxer-multistream": { "permission": "push" }, "go-tcp-transport": { "permission": "maintain" }, + "go-testutil": { + "permission": "push" + }, + "go-udp-transport": { + "permission": "push" + }, + "go-utp-transport": { + "permission": "push" + }, "go-ws-transport": { "permission": "maintain" }, + "go-xtp": { + "permission": "push" + }, "go-yamux": { "permission": "maintain" }, "hydra-booster": { "permission": "push" }, + "interop": { + "permission": "push" + }, + "mplex": { + "permission": "push" + }, + "notes": { + "permission": "push" + }, + "npm-go-libp2p-dep": { + "permission": "push" + }, + "projects": { + "permission": "push" + }, + "repl": { + "permission": "push" + }, "specs": { "permission": "push" }, + "team-mgmt": { + "permission": "push" + }, + "testlab": { + "permission": "push" + }, "workspace-go-libp2p": { "permission": "push" } @@ -519,15 +1236,54 @@ } }, "w3dt-stewards": { + "community": { + "permission": "admin" + }, + "cs-libp2p-crypto": { + "permission": "admin" + }, + "cs-libp2p-io": { + "permission": "admin" + }, + "cs-libp2p-peer": { + "permission": "admin" + }, + "cs-libp2p-protocol": { + "permission": "admin" + }, + "cs-libp2p-record": { + "permission": "admin" + }, + "cs-libp2p-utils": { + "permission": "admin" + }, + "demo-multi-lang": { + "permission": "admin" + }, + "developer-meetings": { + "permission": "admin" + }, "dht-utils": { "permission": "admin" }, "docs": { "permission": "admin" }, + "docs-old": { + "permission": "admin" + }, + "go-addr-util": { + "permission": "admin" + }, "go-buffer-pool": { "permission": "admin" }, + "go-conn-security-multistream": { + "permission": "admin" + }, + "go-flow-metrics": { + "permission": "admin" + }, "go-libp2p": { "permission": "admin" }, @@ -543,6 +1299,9 @@ "go-libp2p-connmgr": { "permission": "admin" }, + "go-libp2p-consensus": { + "permission": "admin" + }, "go-libp2p-coral-dht": { "permission": "admin" }, @@ -555,24 +1314,39 @@ "go-libp2p-discovery": { "permission": "admin" }, + "go-libp2p-gorpc": { + "permission": "admin" + }, "go-libp2p-gostream": { "permission": "admin" }, + "go-libp2p-http": { + "permission": "admin" + }, "go-libp2p-kad-dht": { "permission": "admin" }, "go-libp2p-kbucket": { "permission": "admin" }, + "go-libp2p-loggables": { + "permission": "admin" + }, "go-libp2p-nat": { "permission": "admin" }, + "go-libp2p-netutil": { + "permission": "admin" + }, "go-libp2p-noise": { "permission": "admin" }, "go-libp2p-peerstore": { "permission": "admin" }, + "go-libp2p-pnet": { + "permission": "admin" + }, "go-libp2p-pubsub": { "permission": "admin" }, @@ -582,6 +1356,15 @@ "go-libp2p-quic-transport": { "permission": "admin" }, + "go-libp2p-raft": { + "permission": "admin" + }, + "go-libp2p-record": { + "permission": "admin" + }, + "go-libp2p-rendezvous": { + "permission": "admin" + }, "go-libp2p-routing-helpers": { "permission": "admin" }, @@ -600,21 +1383,42 @@ "go-libp2p-webrtc-direct": { "permission": "admin" }, + "go-libp2p-websocket-star-rendezvous": { + "permission": "admin" + }, "go-mplex": { "permission": "admin" }, "go-msgio": { "permission": "admin" }, + "go-nat": { + "permission": "admin" + }, "go-reuseport": { "permission": "admin" }, + "go-reuseport-transport": { + "permission": "admin" + }, + "go-sockaddr": { + "permission": "admin" + }, "go-tcp-transport": { "permission": "admin" }, + "go-udp-transport": { + "permission": "admin" + }, "go-ws-transport": { "permission": "admin" }, + "haskell-p2pcat": { + "permission": "admin" + }, + "interface-libp2p": { + "permission": "admin" + }, "interop": { "permission": "admin" }, @@ -651,12 +1455,27 @@ "js-libp2p-mplex": { "permission": "admin" }, + "js-libp2p-nat-mngr": { + "permission": "admin" + }, "js-libp2p-record": { "permission": "admin" }, + "js-libp2p-rendezvous": { + "permission": "admin" + }, "js-libp2p-tcp": { "permission": "admin" }, + "js-libp2p-udp": { + "permission": "admin" + }, + "js-libp2p-udt": { + "permission": "admin" + }, + "js-libp2p-utp": { + "permission": "admin" + }, "js-libp2p-webrtc-direct": { "permission": "admin" }, @@ -666,18 +1485,36 @@ "js-libp2p-websockets": { "permission": "admin" }, + "js-p2pcat": { + "permission": "admin" + }, "js-peer-id": { "permission": "admin" }, "libp2p": { "permission": "admin" }, + "notes": { + "permission": "admin" + }, "npm-go-libp2p-dep": { "permission": "admin" }, + "projects": { + "permission": "admin" + }, "pubsub-notes": { "permission": "admin" }, + "pull-mplex": { + "permission": "admin" + }, + "py-libp2p": { + "permission": "admin" + }, + "research-pubsub": { + "permission": "admin" + }, "rust-libp2p": { "permission": "admin" }, @@ -687,8 +1524,17 @@ "specs": { "permission": "admin" }, + "team-mgmt": { + "permission": "admin" + }, "website": { "permission": "admin" + }, + "workspace-go-libp2p": { + "permission": "admin" + }, + "xtp": { + "permission": "admin" } } } diff --git a/scripts/remove-inactive-members.js b/scripts/remove-inactive-members.js index 351293ff..278b6083 100755 --- a/scripts/remove-inactive-members.js +++ b/scripts/remove-inactive-members.js @@ -1,7 +1,7 @@ #!/usr/bin/env bash ":" //# comment; exec /usr/bin/env node --input-type=module - "$@" < "$0" -import { writeFileSync, readFileSync, write } from 'fs'; +import { writeFileSync, readFileSync } from 'fs'; const __dirname = process.cwd(); const args = process.argv.slice(2); @@ -16,6 +16,8 @@ const membershipFilePath = `${__dirname}/github/libp2p/membership.json`; const membership = JSON.parse(readFileSync(membershipFilePath)); const repositoryCollaboratorFilePath = `${__dirname}/github/libp2p/repository_collaborator.json`; const repositoryCollaborator = JSON.parse(readFileSync(repositoryCollaboratorFilePath)); +const teamFilePath = `${__dirname}/github/libp2p/team.json`; +const team = JSON.parse(readFileSync(teamFilePath)); const teamMembershipFilePath = `${__dirname}/github/libp2p/team_membership.json`; const teamMembership = JSON.parse(readFileSync(teamMembershipFilePath)); const teamRepositoryFilePath = `${__dirname}/github/libp2p/team_repository.json`; @@ -65,29 +67,14 @@ for (const [teamName, teamMembers] of Object.entries(teamMembership)) { } if (Object.keys(teamMembership[teamName]).length === 0) { console.log(`There are no members left in ${teamName}. Removing ${teamName}.`) + delete team[teamName]; delete teamMembership[teamName]; - } -} - -for (const [teamName, teamRepositories] of Object.entries(teamRepository)) { - const members = Object.keys(teamMembership[teamName] ?? {}); - for (const [repositoryName, _config] of Object.entries(teamRepositories)) { - const recentActivity = auditLog.find(activity => { - const createdAt = new Date(activity.created_at); - return members.includes(activity.actor) && activity.repo == `libp2p/${repositoryName}` && createdAt >= cutoffDate; - }) - if (recentActivity === undefined) { - console.log(`Didn't find any recent activity for ${repositoryName} by any of the ${teamName} members. Removing ${repositoryName} from ${teamName}.`) - delete teamRepository[teamName][repositoryName]; - } - } - if (Object.keys(teamRepository[teamName]).length === 0) { - console.log(`There are no repositories left in ${teamName}. Removing ${teamName}.`) delete teamRepository[teamName]; } } writeFileSync(membershipFilePath, `${JSON.stringify(membership, null, 2)}\n`); writeFileSync(repositoryCollaboratorFilePath, `${JSON.stringify(repositoryCollaborator, null, 2)}\n`); +writeFileSync(teamFilePath, `${JSON.stringify(team, null, 2)}\n`); writeFileSync(teamMembershipFilePath, `${JSON.stringify(teamMembership, null, 2)}\n`); writeFileSync(teamRepositoryFilePath, `${JSON.stringify(teamRepository, null, 2)}\n`); From 7ee465d8743de0f5b3de9116b0fabd0c914e2ba6 Mon Sep 17 00:00:00 2001 From: Piotr Galar Date: Thu, 2 Jun 2022 16:44:23 +0200 Subject: [PATCH 04/15] chore: remove entry added back accidentally during conflict resolution --- github/libp2p/repository_collaborator.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index 3dcd7c52..c73a752b 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -271,11 +271,6 @@ "permission": "push" } }, - "js-libp2p-webrtc-peer": { - "achingbrain": { - "permission": "admin" - } - }, "go-libp2p-webrtc-direct": { "web3-bot": { "permission": "push" From 5e940fcc142aa39d4dd3c470c4104863e8697ea3 Mon Sep 17 00:00:00 2001 From: galargh Date: Thu, 2 Jun 2022 16:49:31 +0200 Subject: [PATCH 05/15] chore: rerun removal script against default branch --- github/libp2p/repository_collaborator.json | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index c73a752b..c373b23f 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -356,6 +356,11 @@ "permission": "push" } }, + "gossipsub-hardening": { + "vyzo": { + "permission": "admin" + } + }, "hydra-booster-infra": { "guseggert": { "permission": "admin" @@ -374,6 +379,11 @@ "permission": "push" } }, + "js-libp2p-daemon": { + "web3-bot": { + "permission": "push" + } + }, "js-libp2p-daemon-client": { "vasco-santos": { "permission": "admin" @@ -384,6 +394,16 @@ "permission": "admin" } }, + "js-libp2p-delegated-content-routing": { + "web3-bot": { + "permission": "push" + } + }, + "js-libp2p-delegated-peer-routing": { + "web3-bot": { + "permission": "push" + } + }, "js-libp2p-floodsub": { "web3-bot": { "permission": "push" @@ -409,6 +429,11 @@ "permission": "push" } }, + "js-libp2p-pubsub-peer-discovery": { + "web3-bot": { + "permission": "push" + } + }, "js-libp2p-record": { "web3-bot": { "permission": "push" @@ -427,11 +452,17 @@ "js-libp2p-webrtc-direct": { "vasco-santos": { "permission": "admin" + }, + "web3-bot": { + "permission": "push" } }, "js-libp2p-webrtc-peer": { "achingbrain": { "permission": "admin" + }, + "web3-bot": { + "permission": "push" } }, "js-libp2p-webrtc-star": { From 34ddd37ab892af0ad81e095b9c3462c257db308d Mon Sep 17 00:00:00 2001 From: galargh Date: Thu, 2 Jun 2022 17:12:04 +0200 Subject: [PATCH 06/15] chore: omit unimportant event action categories --- github/libp2p/membership.json | 3 --- scripts/remove-inactive-members.js | 7 ++++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/github/libp2p/membership.json b/github/libp2p/membership.json index aef6e83e..798f99ad 100644 --- a/github/libp2p/membership.json +++ b/github/libp2p/membership.json @@ -107,9 +107,6 @@ "jchris": { "role": "member" }, - "jrhea": { - "role": "member" - }, "kamilsa": { "role": "member" }, diff --git a/scripts/remove-inactive-members.js b/scripts/remove-inactive-members.js index 278b6083..07b09380 100755 --- a/scripts/remove-inactive-members.js +++ b/scripts/remove-inactive-members.js @@ -6,8 +6,13 @@ import { writeFileSync, readFileSync } from 'fs'; const __dirname = process.cwd(); const args = process.argv.slice(2); +const unimportantCategories = ['org_credential_authorization']; + const auditLogFilePath = args[0]; -const auditLog = JSON.parse(readFileSync(auditLogFilePath)); +const auditLog = JSON.parse(readFileSync(auditLogFilePath)).filter(event => { + const category = event.action.split('.')[0]; + return ! unimportantCategories.includes(category); +}); const cutoffDate = new Date(); cutoffDate.setMonth(cutoffDate.getMonth() - 12); From 11f5193c585cb06ae2e4831a623e54e7a95ddfe1 Mon Sep 17 00:00:00 2001 From: galargh Date: Thu, 2 Jun 2022 17:14:47 +0200 Subject: [PATCH 07/15] chore: restore some of the memberships that were flagged --- github/libp2p/membership.json | 6 ++++++ github/libp2p/team_membership.json | 3 +++ 2 files changed, 9 insertions(+) diff --git a/github/libp2p/membership.json b/github/libp2p/membership.json index 798f99ad..2d36bc46 100644 --- a/github/libp2p/membership.json +++ b/github/libp2p/membership.json @@ -26,6 +26,9 @@ "Stebalien": { "role": "admin" }, + "aarshkshah1992": { + "role": "member" + }, "achingbrain": { "role": "member" }, @@ -140,6 +143,9 @@ "protocollabsit": { "role": "admin" }, + "protocollabsit-readonly": { + "role": "member" + }, "protolambda": { "role": "member" }, diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index fef77263..11946c7a 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -228,6 +228,9 @@ "Stebalien": { "role": "maintainer" }, + "ajnavarro": { + "role": "member" + }, "achingbrain": { "role": "member" }, From c623c3eff05c82fb85fa8205259e634a4065ec63 Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 8 Jun 2022 08:29:49 +0200 Subject: [PATCH 08/15] chore: remove dvdplm and romanb --- github/libp2p/membership.json | 6 ------ github/libp2p/team_membership.json | 3 --- 2 files changed, 9 deletions(-) diff --git a/github/libp2p/membership.json b/github/libp2p/membership.json index 2d36bc46..99b2a327 100644 --- a/github/libp2p/membership.json +++ b/github/libp2p/membership.json @@ -68,9 +68,6 @@ "dirkmc": { "role": "member" }, - "dvdplm": { - "role": "member" - }, "elenaf9": { "role": "member" }, @@ -155,9 +152,6 @@ "rolfyone": { "role": "member" }, - "romanb": { - "role": "member" - }, "thomaseizinger": { "role": "member" }, diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index 11946c7a..836f522c 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -128,9 +128,6 @@ "AgeManning": { "role": "member" }, - "dvdplm": { - "role": "member" - }, "elenaf9": { "role": "member" }, From fda2229ef7201af5b1d7b38d41bc72bc5cc8c75f Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 8 Jun 2022 14:42:50 +0200 Subject: [PATCH 09/15] chore: add masih back to Repos - Go team --- github/libp2p/team_membership.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index 836f522c..e45b74d8 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -62,6 +62,9 @@ "marten-seemann": { "role": "maintainer" }, + "masih": { + "role": "member" + }, "momack2": { "role": "maintainer" }, From 6397fc91c6e22bc60c39c052d964c99c9e4dc982 Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 8 Jun 2022 14:49:18 +0200 Subject: [PATCH 10/15] chore: add hsanjuan back to go-libp2p-raft and go-libp2p-gostream --- github/libp2p/repository_collaborator.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index c373b23f..1604e1bc 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -128,6 +128,9 @@ "Stebalien": { "permission": "admin" }, + "hsanjuan": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -212,6 +215,9 @@ } }, "go-libp2p-raft": { + "hsanjuan": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } From f4e7704f07c33c6737fa20bcd00c14f9c3698c93 Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 8 Jun 2022 16:53:26 +0200 Subject: [PATCH 11/15] chore: create a bifrost team --- github/libp2p/repository_collaborator.json | 3 --- github/libp2p/team.json | 3 +++ github/libp2p/team_membership.json | 11 +++++++++++ github/libp2p/team_repository.json | 5 +++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index 1604e1bc..92f5d212 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -370,9 +370,6 @@ "hydra-booster-infra": { "guseggert": { "permission": "admin" - }, - "thattommyhall": { - "permission": "push" } }, "js-libp2p-bootstrap": { diff --git a/github/libp2p/team.json b/github/libp2p/team.json index f3876fe5..e1d8480a 100644 --- a/github/libp2p/team.json +++ b/github/libp2p/team.json @@ -4,6 +4,9 @@ "parent_team_id": null, "privacy": "closed" }, + "Bifrost": { + "privacy": "closed" + }, "Repos - Go": { "id": "2100801", "parent_team_id": null, diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index e45b74d8..eaf55bd1 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -22,6 +22,17 @@ "role": "member" } }, + "Bifrost": { + "gmasgras": { + "permission": "member" + }, + "mcamou": { + "permission": "member" + }, + "thattommyhall": { + "permission": "member" + } + }, "Repos - Go": { "BigLep": { "role": "member" diff --git a/github/libp2p/team_repository.json b/github/libp2p/team_repository.json index 441cacdf..17fe89de 100644 --- a/github/libp2p/team_repository.json +++ b/github/libp2p/team_repository.json @@ -301,6 +301,11 @@ "permission": "admin" } }, + "Bifrost": { + "hydra-booster-infra": { + "permission": "push" + } + }, "Repos - Go": { "awesome-libp2p": { "permission": "pull" From 7159785af8ae0a2373e750b1905d3feb40681868 Mon Sep 17 00:00:00 2001 From: galargh Date: Wed, 8 Jun 2022 17:47:37 +0200 Subject: [PATCH 12/15] chore: create an alumni team --- github/libp2p/membership.json | 177 ++++++++++++++++++++++++++++ github/libp2p/team.json | 3 + github/libp2p/team_membership.json | 179 +++++++++++++++++++++++++++++ 3 files changed, 359 insertions(+) diff --git a/github/libp2p/membership.json b/github/libp2p/membership.json index 99b2a327..5291bc60 100644 --- a/github/libp2p/membership.json +++ b/github/libp2p/membership.json @@ -2,30 +2,54 @@ "AgeManning": { "role": "member" }, + "AlanSl": { + "role": "member" + }, "BigLep": { "role": "member" }, + "ChihChengLiang": { + "role": "member" + }, "Gozala": { "role": "member" }, "Harrm": { "role": "member" }, + "JGAntunes": { + "role": "member" + }, "Kubuxu": { "role": "member" }, "MarcoPolo": { "role": "member" }, + "NIC619": { + "role": "member" + }, "Nashatyrev": { "role": "member" }, + "RichardLitt": { + "role": "member" + }, "SgtPooki": { "role": "member" }, "Stebalien": { "role": "admin" }, + "Warchant": { + "role": "member" + }, + "ZenGround0": { + "role": "member" + }, + "aamnv": { + "role": "member" + }, "aarshkshah1992": { "role": "member" }, @@ -44,12 +68,18 @@ "alanshaw": { "role": "member" }, + "alexh": { + "role": "member" + }, "andrew": { "role": "member" }, "andyschwab": { "role": "member" }, + "anorth": { + "role": "member" + }, "arajasek": { "role": "member" }, @@ -59,6 +89,15 @@ "aschmahmann": { "role": "admin" }, + "autonome": { + "role": "member" + }, + "bigs": { + "role": "member" + }, + "cemozerr": { + "role": "member" + }, "daviddias": { "role": "admin" }, @@ -68,18 +107,48 @@ "dirkmc": { "role": "member" }, + "dryajov": { + "role": "member" + }, + "dvdplm": { + "role": "member" + }, "elenaf9": { "role": "member" }, + "fbaiodias": { + "role": "member" + }, + "flyingzumwalt": { + "role": "member" + }, + "frrist": { + "role": "member" + }, + "fsdiogo": { + "role": "member" + }, "galargh": { "role": "admin" }, "gammazero": { "role": "member" }, + "gavinmcdermott": { + "role": "member" + }, + "geoah": { + "role": "member" + }, "guseggert": { "role": "member" }, + "haadcode": { + "role": "member" + }, + "hacdias": { + "role": "member" + }, "hannahhoward": { "role": "member" }, @@ -92,6 +161,9 @@ "iand": { "role": "member" }, + "iceseer": { + "role": "member" + }, "igor-egorov": { "role": "member" }, @@ -104,18 +176,42 @@ "jbenet": { "role": "admin" }, + "jbenetsafer": { + "role": "member" + }, "jchris": { "role": "member" }, + "jrhea": { + "role": "member" + }, + "jsoares": { + "role": "member" + }, "kamilsa": { "role": "member" }, + "keks": { + "role": "member" + }, + "kevina": { + "role": "member" + }, + "kishansagathiya": { + "role": "member" + }, "kumavis": { "role": "member" }, "lidel": { "role": "member" }, + "litzenberger": { + "role": "member" + }, + "locotorp": { + "role": "member" + }, "magik6k": { "role": "member" }, @@ -125,18 +221,57 @@ "masih": { "role": "member" }, + "mbaxter": { + "role": "member" + }, + "mcollina": { + "role": "member" + }, + "mhchia": { + "role": "member" + }, + "mikeal": { + "role": "member" + }, + "miyazono": { + "role": "member" + }, + "mkalinin": { + "role": "member" + }, + "mkg20001": { + "role": "member" + }, "momack2": { "role": "admin" }, "mpetrunic": { "role": "member" }, + "mvid": { + "role": "member" + }, "mxinden": { "role": "member" }, + "nicola": { + "role": "member" + }, + "nunofmn": { + "role": "member" + }, + "olizilla": { + "role": "member" + }, + "ortyomka": { + "role": "member" + }, "petar": { "role": "member" }, + "pipermerriam": { + "role": "member" + }, "protocollabsit": { "role": "admin" }, @@ -146,24 +281,57 @@ "protolambda": { "role": "member" }, + "ralexstokes": { + "role": "member" + }, "raulk": { "role": "admin" }, + "richardschneider": { + "role": "member" + }, + "robzajac": { + "role": "member" + }, "rolfyone": { "role": "member" }, + "romanb": { + "role": "member" + }, + "shahankhatch": { + "role": "member" + }, + "snazha-blkio": { + "role": "member" + }, + "stongo": { + "role": "member" + }, + "stuckinaboot": { + "role": "member" + }, + "tabrath": { + "role": "member" + }, "thomaseizinger": { "role": "member" }, "tomaka": { "role": "member" }, + "travisperson": { + "role": "member" + }, "turuslan": { "role": "member" }, "vasco-santos": { "role": "member" }, + "victorb": { + "role": "member" + }, "vmx": { "role": "member" }, @@ -188,7 +356,16 @@ "xDimon": { "role": "member" }, + "yiannisbot": { + "role": "member" + }, "yusefnapora": { "role": "member" + }, + "zixuanzh": { + "role": "member" + }, + "zuiris": { + "role": "member" } } diff --git a/github/libp2p/team.json b/github/libp2p/team.json index e1d8480a..196e3075 100644 --- a/github/libp2p/team.json +++ b/github/libp2p/team.json @@ -4,6 +4,9 @@ "parent_team_id": null, "privacy": "closed" }, + "Alumni": { + "privacy": "closed" + }, "Bifrost": { "privacy": "closed" }, diff --git a/github/libp2p/team_membership.json b/github/libp2p/team_membership.json index eaf55bd1..67234583 100644 --- a/github/libp2p/team_membership.json +++ b/github/libp2p/team_membership.json @@ -22,6 +22,185 @@ "role": "member" } }, + "Alumni": { + "AlanSl": { + "permission": "member" + }, + "ChihChengLiang": { + "permission": "member" + }, + "JGAntunes": { + "permission": "member" + }, + "NIC619": { + "permission": "member" + }, + "RichardLitt": { + "permission": "member" + }, + "Warchant": { + "permission": "member" + }, + "ZenGround0": { + "permission": "member" + }, + "aamnv": { + "permission": "member" + }, + "alexh": { + "permission": "member" + }, + "anorth": { + "permission": "member" + }, + "autonome": { + "permission": "member" + }, + "bigs": { + "permission": "member" + }, + "cemozerr": { + "permission": "member" + }, + "dryajov": { + "permission": "member" + }, + "dvdplm": { + "permission": "member" + }, + "fbaiodias": { + "permission": "member" + }, + "flyingzumwalt": { + "permission": "member" + }, + "frrist": { + "permission": "member" + }, + "fsdiogo": { + "permission": "member" + }, + "gavinmcdermott": { + "permission": "member" + }, + "geoah": { + "permission": "member" + }, + "haadcode": { + "permission": "member" + }, + "hacdias": { + "permission": "member" + }, + "iceseer": { + "permission": "member" + }, + "jbenetsafer": { + "permission": "member" + }, + "jrhea": { + "permission": "member" + }, + "jsoares": { + "permission": "member" + }, + "keks": { + "permission": "member" + }, + "kevina": { + "permission": "member" + }, + "kishansagathiya": { + "permission": "member" + }, + "litzenberger": { + "permission": "member" + }, + "locotorp": { + "permission": "member" + }, + "mbaxter": { + "permission": "member" + }, + "mcollina": { + "permission": "member" + }, + "mhchia": { + "permission": "member" + }, + "mikeal": { + "permission": "member" + }, + "miyazono": { + "permission": "member" + }, + "mkalinin": { + "permission": "member" + }, + "mkg20001": { + "permission": "member" + }, + "mvid": { + "permission": "member" + }, + "nicola": { + "permission": "member" + }, + "nunofmn": { + "permission": "member" + }, + "olizilla": { + "permission": "member" + }, + "ortyomka": { + "permission": "member" + }, + "pipermerriam": { + "permission": "member" + }, + "ralexstokes": { + "permission": "member" + }, + "richardschneider": { + "permission": "member" + }, + "robzajac": { + "permission": "member" + }, + "romanb": { + "permission": "member" + }, + "shahankhatch": { + "permission": "member" + }, + "snazha-blkio": { + "permission": "member" + }, + "stongo": { + "permission": "member" + }, + "stuckinaboot": { + "permission": "member" + }, + "tabrath": { + "permission": "member" + }, + "travisperson": { + "permission": "member" + }, + "victorb": { + "permission": "member" + }, + "yiannisbot": { + "permission": "member" + }, + "zixuanzh": { + "permission": "member" + }, + "zuiris": { + "permission": "member" + } + }, "Bifrost": { "gmasgras": { "permission": "member" From eec0f2265d90d91556ef49720f33241c1ee02b2d Mon Sep 17 00:00:00 2001 From: galargh Date: Thu, 9 Jun 2022 10:07:54 +0200 Subject: [PATCH 13/15] chore: add carver back as py-libp2p admin --- github/libp2p/repository_collaborator.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index 92f5d212..0fd5ca0e 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -486,6 +486,11 @@ "permission": "admin" } }, + "py-libp2p": { + "carver": { + "permission": "admin" + } + }, "repl": { "web3-bot": { "permission": "push" From d2aba776241cc98ca5fde5f5cbddda63f11747b4 Mon Sep 17 00:00:00 2001 From: galargh Date: Thu, 9 Jun 2022 10:11:42 +0200 Subject: [PATCH 14/15] chore: add vyzo back as admin to multiple repositories --- github/libp2p/repository_collaborator.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/github/libp2p/repository_collaborator.json b/github/libp2p/repository_collaborator.json index 0fd5ca0e..7aa02ddc 100644 --- a/github/libp2p/repository_collaborator.json +++ b/github/libp2p/repository_collaborator.json @@ -1,4 +1,9 @@ { + "dht-hardening": { + "vyzo": { + "permission": "admin" + } + }, "dht-tracer1": { "jbenet": { "permission": "admin" @@ -41,6 +46,9 @@ } }, "go-doh-resolver": { + "vyzo": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } @@ -88,6 +96,11 @@ "permission": "push" } }, + "go-libp2p-circuit-progs": { + "vyzo": { + "permission": "admin" + } + }, "go-libp2p-connmgr": { "web3-bot": { "permission": "push" @@ -107,6 +120,9 @@ } }, "go-libp2p-daemon": { + "vyzo": { + "permission": "admin" + }, "web3-bot": { "permission": "push" } From 530b6da9096bf03c7fa6b8073692f6183bd525e2 Mon Sep 17 00:00:00 2001 From: Piotr Galar Date: Thu, 9 Jun 2022 10:15:55 +0200 Subject: [PATCH 15/15] Update scripts/remove-inactive-members.js Co-authored-by: Steve Loeppky --- scripts/remove-inactive-members.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/remove-inactive-members.js b/scripts/remove-inactive-members.js index 07b09380..9f56de7e 100755 --- a/scripts/remove-inactive-members.js +++ b/scripts/remove-inactive-members.js @@ -9,6 +9,8 @@ const args = process.argv.slice(2); const unimportantCategories = ['org_credential_authorization']; const auditLogFilePath = args[0]; +// You can export the audit log from the organization settings page +// See https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#exporting-the-audit-log const auditLog = JSON.parse(readFileSync(auditLogFilePath)).filter(event => { const category = event.action.split('.')[0]; return ! unimportantCategories.includes(category);