Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

botreview - automate simple reviews #3100

Open
12 of 24 tasks
dhiller opened this issue Nov 30, 2023 · 14 comments
Open
12 of 24 tasks

botreview - automate simple reviews #3100

dhiller opened this issue Nov 30, 2023 · 14 comments
Assignees
Labels
area/automation Issues and PRs concerning automation, i.e. KubeVirt job updates, KubeVirtCI bumps etc. area/prow Issues and PRs concerning KubeVirt Prow, i.e. configuration, setup etc. kind/tracker lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@dhiller
Copy link
Contributor

dhiller commented Nov 30, 2023

botreview aims to automate reviews that follow simple patterns.

Motivation of this is to check automatically created PRs like image bumps, prow bumps, kubevirtci bumps etc., i.e. all PRs that follow simple patterns, are tedious to review but still required to check.

If anything beyond those patterns appears, it will backoff and add a comment with suspicious changes it found.

Note: botreview only acts as a first gate to filter out those PRs that really require a humans review!

Roadmap

How to run

It can be run in two ways:

as a command

Example run:

go run ./robots/cmd/botreview/... --dry-run=false --github-token-path ... --pr-number=2485 --repo=project-infra

If --dry-run=false is set, it will attach a comment to the review that states the review result.

Result: #2485 (comment)

Note: using --dry-run=true or omitting the flag will run the tool in dry-run which will just print out the result)

as an external plugin for prow

It will react on pull request events for the repos it's configured for in the plugins config and will review simple PRs automatically.

Note that the deployment currently has ``--dry-run=true` enabled, since we want to test it's stability gradually.

Review strategies

Review strategies implemented today:

Note: It can also handle mixed PRs, where each change abides by the rules of the strategy.

Footnotes

  1. required since kubevirt-bot can't lgtm their own PRs

@dhiller
Copy link
Contributor Author

dhiller commented Nov 30, 2023

/area automation
/area prow

@kubevirt-bot kubevirt-bot added area/automation Issues and PRs concerning automation, i.e. KubeVirt job updates, KubeVirtCI bumps etc. area/prow Issues and PRs concerning KubeVirt Prow, i.e. configuration, setup etc. labels Nov 30, 2023
@dhiller
Copy link
Contributor Author

dhiller commented Nov 30, 2023

/kind tracker

@dhiller
Copy link
Contributor Author

dhiller commented Dec 8, 2023

From the first round of testing I got these results:

  • so far plugin seems to behave well, at current it had memory consumption of about 65 Mib at total over one night, seemingly caused by the checkout of the repos
  • image_bump.go seems to be a bit unselective. It also took into account normal prowjob change PRs that were unrelated to image bump. We should probably be more specific when selecting relevant changes, i.e. look for changes to image: config specifically.

@dhiller
Copy link
Contributor Author

dhiller commented Dec 12, 2023

Need to improve kubevirtci bump selection: kubevirt/kubevirt#10747 (comment)

@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 8, 2024
@kubevirt-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

@kubevirt-bot kubevirt-bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels May 8, 2024
@kubevirt-bot
Copy link
Contributor

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

@kubevirt-bot
Copy link
Contributor

@kubevirt-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@dhiller
Copy link
Contributor Author

dhiller commented Jun 7, 2024

/reopen

We still want to do this.

@kubevirt-bot
Copy link
Contributor

@dhiller: Reopened this issue.

In response to this:

/reopen

We still want to do this.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@kubevirt-bot kubevirt-bot reopened this Jun 7, 2024
@dhiller
Copy link
Contributor Author

dhiller commented Jun 7, 2024

/remove-lifecycle rotten

@kubevirt-bot kubevirt-bot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Jun 7, 2024
@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 5, 2024
@kubevirt-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

@kubevirt-bot kubevirt-bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Oct 5, 2024
@dhiller
Copy link
Contributor Author

dhiller commented Oct 7, 2024

/remove-lifecycle rotten
/lifecycle frozen

@kubevirt-bot kubevirt-bot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/automation Issues and PRs concerning automation, i.e. KubeVirt job updates, KubeVirtCI bumps etc. area/prow Issues and PRs concerning KubeVirt Prow, i.e. configuration, setup etc. kind/tracker lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

2 participants