Comments (10)
Startblock is a tool the DRIFT team has used when managing PRs/CLs.
The tl;dr is IFTTT for Pull Requests and code review.
Consider a PR that has been made with this snippet in the body of the PR
Startblock:
has lgtm from orthros
has lgtm from jmdobry
has label good-to-merge
ci passes
The bot would then iterate through these gated steps and as soon as all conditions pass, would merge the PR.
The bot can, however have more complex logic put into it in order to "gate" certain conditions, and modify the PR itself so as to not spam users.
Consider instead this Startblock declaration
Startblock:
has lgtm from orthros
and then
add reviewer jmdobry
and then
has lgtm from jmdobry
and then
add label kokoro:run
and then
has label good-to-merge
ci passes
and is Sunday
This declaration tells the bot to not request review from jmdobry
until after orthros
has given an lgtm, which keeps jmdobry
from having to review changes that are unready for them to view.
from repo-automation-bots.
The bot could manage its state on a PR via review comments. When the bot is first added as a reviewer, it parses the PR body for the bot conditions, then adds a review: Approval if the conditions have all been met or Changes Requested if something in the condition chain is unmet. The comment itself contains a prettier version of the condition block, describing the bot's idea of what needs to happen. The bot re-examines the PR and conditions continuously (some of the conditions might be time-based).
from repo-automation-bots.
Github has it's own way of configure branch protection rules, and I think most of the repos are using it.
Probably it's very unpopular feature request, and will never be implemented unless @jmdobry write it.
Closing, but feel free to reopen.
from repo-automation-bots.
This feature request was not describing a form of branch protection, rather it describes a 100x more useful/powerful version of your merge on green bot.
from repo-automation-bots.
@jmdobry That's nice! Feel free to contribute or build your own :)
from repo-automation-bots.
@jmdobry
To be clear, I agree this is a cool idea, and it is useful, but considering the current situation, this feature request won't be prioritized in our team among other things.
from repo-automation-bots.
Going to go ahead and reopen this, because @danielbankhead and I have been talking about a feature that is a subset of this functionality. For purposes of enforcing SLSA code review rules. I think it might be worth thinking about some useful features from Startblock while we work on this automation.
from repo-automation-bots.
I guess @danielbankhead went a different route with allstar.
from repo-automation-bots.
@tmatsuo I think we can keep this open - the Allstar Review bot covers a subset of this functionality, but as expressive as this feature request
from repo-automation-bots.
Thanks! I'd close this as wontfix
from repo-automation-bots.
Related Issues (20)
- owlbot-bootstrapper: bad source-link URL HOT 1
- bug(owl-bot): Owlbot copy code PRs haven't been opened since September 21 HOT 1
- Query request(auto-approve): Request for available/possible customisation to use auto-approve bot HOT 2
- [OwlBot] OwlBot opens an issue if a library is removed from a monorepo
- [auto-approve] Docker deps not matching built-in regex
- Owlbot Copy error HOT 6
- release-please bot is being triggered when merging it's own PRs HOT 2
- Error: Changes must be made through a pull request.
- allow creation of a single automated PR per rep rather than multiple analogous PRs HOT 1
- Snippet Bot: Snippet check fails on first run only HOT 1
- auto-approve bot: The bot isn't approving PR as intended. HOT 2
- Comment on viable auto-approve candidates if they were not approved
- can't set repoToClone to a local directory
- Request access to repo-automation-bots project HOT 1
- LINT_PATHS in `noxfile.py` doesn't include `vertexai` HOT 1
- Release-please is not running on gax-nodejs HOT 2
- I can no longer access owlbot logs on PRs HOT 1
- Critical: Security Risks Identified in Automation Bots with node:14-slim Dockerfile Base Image
- bug(owlbot): `owlbot:run` label does not trigger owlbot; `owlbot:run` label is not removed HOT 5
- release-please creates pull requests that have already been merged
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from repo-automation-bots.