101 lines
4.5 KiB
Markdown
101 lines
4.5 KiB
Markdown
# PR#95: Antworten for the User's Own Pull Request That Another Human Commented
|
|
|
|
Version: minor
|
|
|
|
> **WARNING:** This document describes only the change applied in this PR.
|
|
> It may already be outdated once the next PR is merged.
|
|
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
|
|
|
|
## Related Links
|
|
|
|
- [hs.hsadmin.ng PR#335](https://dev.hostsharing.net/hostsharing/hs.hsadmin.ng/pulls/335), the case:
|
|
a colleague commented twice after the last commit, and werkregie showed only Wartet auf Review.
|
|
- [werkregie PR#94](https://git.javagil.de/mi/werkregie/pulls/94), Mergen for the user's own pull request.
|
|
|
|
## Problem
|
|
|
|
werkregie reads no comments of a pull request.
|
|
When another human comments on the user's own pull request, the user is to answer or to push a fix;
|
|
but "Du bist dran" does not show it.
|
|
|
|
## Non-Goals
|
|
|
|
- No comments on the pull requests of others; an agent watches its own.
|
|
- No judgement of the comment, e.g. whether it asks for a change; any comment counts.
|
|
- No dismissal of the row; it goes with the user's answer or push.
|
|
|
|
## Specification
|
|
|
|
### Feature: the user's own pull request in which another human has the last word
|
|
|
|
#### Scenario#95.01: a comment after the last commit
|
|
|
|
… so that the user answers the colleague or fixes what the colleague found.
|
|
|
|
- **Given** the user's own pull request, whose head commit is older than the comment of `hsh-stefanbegerad`
|
|
- **When** werkregie reads the pull request
|
|
- **Then** "Du bist dran" shows it under Antworten with "Kommentar von hsh-stefanbegerad"
|
|
|
|
##### Verified by
|
|
|
|
- [GiteaSourceTest "a comment of another human after the last commit is the user's to answer"](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/GiteaSourceTest.kt)
|
|
- [GiteaSourceFetchTest "the open pull requests of the user, each with its statuses, reviews and flags"](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/GiteaSourceFetchTest.kt)
|
|
|
|
#### Scenario#95.02: a review with comments or requested changes
|
|
|
|
… so that a line comment counts like a comment.
|
|
|
|
- **Given** the user's own pull request, and `anna` submitted a review with line comments or with requested changes after its head commit
|
|
- **When** werkregie reads the pull request
|
|
- **Then** "Du bist dran" shows it under Antworten with "Kommentar von anna"
|
|
|
|
##### Verified by
|
|
|
|
- [GiteaSourceTest "a review with comments or requested changes counts as a comment, an approval does not"](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/GiteaSourceTest.kt)
|
|
|
|
#### Scenario#95.03: the user answered or pushed
|
|
|
|
… so that the row goes once the user acted.
|
|
|
|
- **Given** the pull request of Scenario#95.01
|
|
- **When** the user comments after it, or pushes a commit after it
|
|
- **Then** it shows no Antworten
|
|
|
|
##### Verified by
|
|
|
|
- [GiteaSourceTest "an answer or a commit of the user after the comment ends it"](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/GiteaSourceTest.kt)
|
|
|
|
#### Scenario#95.04: a review bot comments
|
|
|
|
… so that werkrevisor's result comment on each pull request asks nothing of the user.
|
|
|
|
- **Given** the user's own pull request, and only `ai-reviewer`, one of `reviewBots`, commented after its head commit
|
|
- **When** werkregie reads the pull request
|
|
- **Then** it shows no Antworten
|
|
|
|
##### Verified by
|
|
|
|
- [GiteaSourceTest "a comment of a review bot asks nothing"](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/GiteaSourceTest.kt)
|
|
|
|
## Solution
|
|
|
|
`GiteaSource` gives the user's own pull request the new flag `answer`; the page shows it under Antworten.
|
|
For this flag, werkregie reads the comments of each ready pull request of the user's own: one request more per pull request.
|
|
Gitea's pull request does not tell the time of its head commit.
|
|
werkregie reads that time only when another human has the last word: then one request more.
|
|
|
|
## Release Notes
|
|
|
|
"Du bist dran" shows your own pull request under Antworten when another human commented after your last commit and answer.
|
|
|
|
## Open Questions
|
|
|
|
None.
|
|
|
|
## Additional Changes
|
|
|
|
- The user's own pull request on a branch without protection shows no Mergen while Gitea's automerge is scheduled,
|
|
as the README says; a finding of werkrevisor in werkregie PR#94,
|
|
verified by [GiteaSourceTest "without a branch protection the approval of another human is to merge"](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/GiteaSourceTest.kt).
|
|
- The English page translates the reasons of werkregie PR#94, "kein Approval nötig" and "hinter main: rebasen, dann mergen".
|