mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 23:35:20 +00:00
Workflows nativos em .forgejo/workflows/ (ci, ci-pr, agent-pool, automerge, issue-transition, plan-issue, vercel-promote, archive), removendo .github/workflows e .github/actions. Runner Forgejo v13 com services Postgres por porta + DB_HOST via gateway do bridge. Libs de agente sobre o novo cliente forgejo-api.mjs (zero dependências, GITHUB_SERVER_URL/FORGEJO_API_URL), helpers de workflow plain-Node. pnpm issue corrigido (await em função sync) e validado ao vivo. Testes: forgejoApi.unit.spec.ts novo, pin do matrix do ci.yml atualizado. Closes #1 (parte 1 — docs/issues/pool seguem na parte 2)
23 lines
857 B
JavaScript
23 lines
857 B
JavaScript
/**
|
|
* `pnpm agent:prioritize` — re-prioritize a trackable issue.
|
|
*
|
|
* pnpm agent:prioritize -- <issue-number> P1
|
|
*/
|
|
|
|
import { dieAgent, labelNames, parseArgs, setLabels } from './lib/agent-forgejo.mjs'
|
|
import { forgejoApi as api } from './lib/forgejo-api.mjs'
|
|
|
|
const die = dieAgent('prioritize')
|
|
const { positional } = parseArgs(process.argv.slice(2), new Set())
|
|
|
|
const [number, priority] = positional
|
|
if (!number || !/^P[0-3]$/.test(priority ?? '')) {
|
|
die('Usage: pnpm agent:prioritize -- <issue-number> <P0|P1|P2|P3>')
|
|
}
|
|
|
|
const issue = await api.getIssue(number)
|
|
const current = labelNames(issue).filter((label) => /^prio:P[0-3]$/.test(label))
|
|
await setLabels(number, { add: [`prio:${priority}`], remove: current })
|
|
console.log(
|
|
`[agent:prioritize] #${issue.number} — ${issue.title}: ${current.join(',') || '(none)'} → prio:${priority}`,
|
|
)
|