ci: skip issue actions for team authors (#34556)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
This commit is contained in:
opencode-agent[bot]
2026-06-29 23:48:58 -05:00
committed by GitHub
co-authored by Aiden Cline opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Aiden Cline
parent 451876b0bd
commit ba41dadc91
4 changed files with 102 additions and 2 deletions
+19
View File
@@ -11,10 +11,20 @@ if (!token) {
}
const cutoff = new Date(Date.now() - days * 24 * 60 * 60 * 1000)
const agentLogin = "opencode-agent[bot]"
const teamMembers = new Set(
(await Bun.file(new URL("../../.github/TEAM_MEMBERS", import.meta.url)).text())
.split("\n")
.map((line) => line.trim().toLowerCase())
.filter(Boolean),
)
const teamAssociations = new Set(["OWNER", "MEMBER"])
type Issue = {
number: number
updated_at: string
author_association: string
user: { login: string } | null
}
const headers = {
@@ -24,6 +34,11 @@ const headers = {
"X-GitHub-Api-Version": "2022-11-28",
}
function shouldSkip(i: Issue) {
const login = i.user?.login.toLowerCase()
return login === agentLogin || (login ? teamMembers.has(login) : false) || teamAssociations.has(i.author_association)
}
async function close(num: number) {
const base = `https://api.github.com/repos/${repo}/issues/${num}`
@@ -63,6 +78,10 @@ async function main() {
for (const i of all) {
const updated = new Date(i.updated_at)
if (updated < cutoff) {
if (shouldSkip(i)) {
console.log(`Skipping stale issue #${i.number}; author ${i.user?.login ?? "unknown"} is exempt`)
continue
}
stale.push(i.number)
} else {
console.log(`\nFound fresh issue #${i.number}, stopping`)