adtac / cherry-pick-bot Goto Github PK
View Code? Open in Web Editor NEWAutomatically cherry-pick commits from PRs and merge them
License: MIT License
Automatically cherry-pick commits from PRs and merge them
License: MIT License
Continuation of #8
Sources that uses the main package shouldn't have exported variables because it's useless and can cause confusion due to the fact the main package can't be used by anything.
It's better to have an actual editable at runtime files rather than a config file that'll be included in the resulting binary.
The imports statements should be changed to the proper repository links not just the package name.
For example,
import "github.com/google/go-querystring"
instead of
import "query"
This is due to the fact go get
does dependency getting.
Logging helps users and administrators to see what the program is doing. This is a needed feature especially for a bot in case of a bug or crash.
CC @yukiisbored
I think it'll be better if we use go-git instead of using git via executing it ourselves.
camelCase
must be used for unexported variables, no exceptions.
Mark them as read at the beginning so that notifs that come in during an action don't go missing
Some of the core functions are separated into their own package without any reason. This causes problems related to go get
getting confused and go itself doesn't know the location of the packages.
Do not put everything to main() because it increases code complexity by orders of magnitude thus killing maintainability.
Plainly giving error messages generated by the libraries used causes confusion for the user. Context should be added.
A Docker image would be nice to easily host this to solar.coala.io
panic
should only be handled on parts of the program that's directly involve main or in main itself. functions shouldn't panic, it should return the error and let the caller handle it.
If the bot has write permissions, and pr author has granted permission to update the patch, the bot should force push to the PR.
This gives a purple merged PR instead of a red closed PR.
PR proliferation makes it harder to follow the history.
Red unmerged PRs are an important search query to check unsuccessful PRs, and this bot will make that query (and metrics) useless.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.