mirror of
https://github.com/FelipePrado0/SpartanPort.git
synced 2026-11-07 10:45:59 -10:00
## EN ### Summary Issue forms now collect what triage needs. The answers turn into labels automatically, old-version bug reports get a retest request, and issues without a collaborator reply are flagged after 48h. `needs-triage` is no longer part of the flow. ### Changes - Added: required **Category** dropdown to the bug and feature request forms, mapped to `crash`, `infinite-loading`, `area:graphics`, `performance`, `area:audio`, `gameplay`, `area:input`, `area:launcher`, `saves` and `platform-support`. - Added: operating system, game build, location in the game, regression and settings fields, plus required checks for existing issues and the latest release. - Updated: the launch template only covers failures before the main menu and adds `startup`; it now asks for OS and GPU/driver. - Added: `issue-opened.yml`, which applies the category and `platform:*` labels. For bugs older than the previous minor line of the newest stable release (today 2.6.0), it posts a bilingual retest comment and adds `question`. The issue is never closed. The reference version is read from the releases API, so no edit is needed on new releases. - Added: `issue-awaiting-response.yml`, which adds `awaiting-response` when the last human message is from a non-collaborator and is older than 48h. The workflow runs every 6h, and a collaborator comment removes the label at once. It skips `question`, `awaiting-test` and `awaiting-confirmation`, and only issues created from 2026-10-23 on are considered. - Updated: `docs/agents/triage-labels.md`. ### Validation - Executed: `node --test .github/scripts/issue-triage.test.js`. Result: 10/10 passed. The first 8 tests were written before the implementation and failed without it; the API and option-mapping tests were added later. - Executed: a handler simulation with a fake GitHub API. Result: 14 scenarios passed. It exposed a fragile return path, where the result of a log call could be read as a label, now made explicit and covered by a test. - Executed: `actionlint` 1.7.7, a YAML parse and a check that every dropdown option has a label. Result: OK. - Executed: end-to-end test in a private sandbox repository with stable releases 2.5.0–2.7.0 and the pre-release 2.8.0-test1. Result: correct labels and comments on 6 test issues (old/supported/unreadable version, pre-release, feature, launch). `awaiting-response` was added, skipped with `question`, and removed both by the sweep and by a collaborator comment. The forced 0h window used a sandbox-only patch, since reverted. - Executed: manual check of the forms in the sandbox chooser. Result: OK. ### Risks and pending items - The workflows only run after merge into `main`. - The 7 new labels already exist in this repository, and the `awaiting-response` description was updated. - The 96 open issues that still have `needs-triage` were not reclassified. --- ## PT-BR ### Resumo Os formulários de issue agora coletam o que a triagem precisa. As respostas viram labels automaticamente, relatos de versões antigas recebem pedido de reteste, e issues sem resposta de colaborador são sinalizadas depois de 48h. O `needs-triage` saiu do fluxo. ### Alterações