Repository navigation
gardener: start fixes automatically for high-impact, low-cost issues; upgrade to 0.1.21 - #285
Merged
Merged
Conversation
|
commit: |
… fix announcements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades Gardener to 0.1.21 and uses its new
task.runeffect, so a high-impact issue that's cheap to fix gets a fix pull request without anyone adding a label.The chain:
triage→fix→fix-ready, orfix-blockedwhen there's no fixtriagejudges a new issue high impact and low cost → labels itpriority: highand startsfixon it as its last step. No triage comment: the fix comments when its pull request is open.fixreproduces the problem with a failing test, builds the fix, opens a pull request on exactlygardener/issue-<n>, comments on the issue with the link, then startsfix-readyon that pull request. If it can't reproduce the problem or reach a fix it's confident in, it opens nothing, comments with what it found, and startsfix-blockedon the issue instead.fix-readychecks the pull request is open on agardener/issue-branch and posts it to the team's chat as ready for review.fix-blockedchecks the issue is open with no fix pull request and posts it to the team's chat as needing a maintainer, with the reason fromfix's comment. So every high-priority issue reaches chat once: as a fix to review, a fix that needs a maintainer, or (high cost) a decision.triagefix(above).wontfixandpriority: low, a short comment saying why, and are closed.fix-readyannounces the automatic fixes.fixgardener-fixlabel or fromtriage. A maintainer can still ask for a fix on any issue.runs:cap;runs-per-author: 10/dayonfix,fix-readyandfix-blocked, matchingtriage. A started run counts against the original reporter, and a triage run starts at most one fix, so triage's limit is the real bound for non-maintainers (without this, the 3/day default would silently skip a reporter's 4th fix of the day). Maintainers aren't counted.triagestarted it andgardener/issue-<n>already exists, it stops. Label runs still add-2,-3.Safety (Gardener 0.1.21)
runs-per-author. Chains stop at depth 3.workflow_dispatchstarted by a bot or another workflow is refused unless a Gardenertask.runstarted it.triageandfixgetactions: writeso apply can start the next task. Planning never has it.Validated end to end on a demo repository: fixable bugs went from issue to a correct fix pull request with a regression test and a chat post in about two minutes; a report of a bug that doesn't exist got an evidence comment and a
fix-blockedchat post; a report carrying a malicious patch got an independent fix without it; unsanctioned dispatches were refused before the model ran. Gardener change: scuffi/gardener#67.Regenerated with
@scuffi/gardener@0.1.21.