All Projects → nicolai86 → github-rebase-bot

nicolai86 / github-rebase-bot

Licence: MIT license
A github bot that monitors repository PRs, rebases them and merges them as they pass tests

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to github-rebase-bot

tailor
GitHub bot that validates patches before they can be merged
Stars: ✭ 18 (-37.93%)
Mutual labels:  github-bot, pull-requests
scalafmt-probot
🤖Github bot for checking code formatting with scalafmt
Stars: ✭ 15 (-48.28%)
Mutual labels:  github-bot, pull-requests
lobicornis
🤖 [Myrmica Lobicornis 🐜] Bot: Update and Merge Pull Request
Stars: ✭ 27 (-6.9%)
Mutual labels:  github-bot, pull-requests
aloba
🤖 [Myrmica Aloba 🐜] Bot: Add labels and milestone on pull requests and issues.
Stars: ✭ 18 (-37.93%)
Mutual labels:  github-bot, pull-requests
sign-off-checker
A GitHub integration to ensure commits have "Signed-off-by"
Stars: ✭ 34 (+17.24%)
Mutual labels:  github-bot
vscode-github
GitHub Support for vscode
Stars: ✭ 124 (+327.59%)
Mutual labels:  pull-requests
hacktoberfest
Contribute to this repo for your T-shirt, must be relevant that can add some value to this repo.
Stars: ✭ 33 (+13.79%)
Mutual labels:  pull-requests
Prinder
Free Pull Request reminder for Github. Has configurations to post reminders to Slack and email along with jinja templating
Stars: ✭ 21 (-27.59%)
Mutual labels:  pull-requests
critiq.vim
Github code reviews from Neovim
Stars: ✭ 69 (+137.93%)
Mutual labels:  pull-requests
watchdog
DEPRECATED -- Github Bot for Datadog codification
Stars: ✭ 26 (-10.34%)
Mutual labels:  github-bot
Learn-To-Use-Github
Wanna Learn How to use github ? come on in
Stars: ✭ 68 (+134.48%)
Mutual labels:  pull-requests
github-bot
This is a github bot that helps with managing issues, used on
Stars: ✭ 29 (+0%)
Mutual labels:  github-bot
HacktoberFest2020
🤗Feel free to submit a PR💻 to have it merged and get a free Hacktoberfest tee👕 from Github🔮. Updated as per new guidelines✔️
Stars: ✭ 22 (-24.14%)
Mutual labels:  pull-requests
background-check
A GitHub App built with probot that peforms a "background check" to identify users who have been toxic in the past, and shares their toxic activity in the maintainer’s repo.
Stars: ✭ 27 (-6.9%)
Mutual labels:  github-bot
Hacktoberfest-2021
Make this Hacktoberfest a learning period and contribute to Great Open Source Projects.
Stars: ✭ 523 (+1703.45%)
Mutual labels:  pull-requests
assign-author
GitHub Actions to assign author to issue or PR
Stars: ✭ 55 (+89.66%)
Mutual labels:  pull-requests
size-plugin-bot
A Github bot for size-plugin
Stars: ✭ 76 (+162.07%)
Mutual labels:  github-bot
triage-new-issues
A GitHub App, built with Probot that adds `triage` label to newly-created issues which don't have labels
Stars: ✭ 23 (-20.69%)
Mutual labels:  github-bot
pull requests to slack
Send Github pull request notifications to Slack
Stars: ✭ 21 (-27.59%)
Mutual labels:  pull-requests
github-task-manager
receive github hook, notify agent, receive task results, notify github
Stars: ✭ 13 (-55.17%)
Mutual labels:  pull-requests

rebase-bot

wercker status

the rebase-bot takes care of ensuring proper protocol is followed when working with pull-requests.

specifically it…

… automatically rebases master once LGTM'd to ensure PR is up-to-date
… waits for tests and merge automatically when green

deployment

the rebase-bot is build with kubernetes (k8s) as a deployment target. Yet you could run it outside of a k8s cluster. The following steps assume you have a running k8s cluster with RBAC enabled:

  1. modify k8s/deployment.yml to pass along the correct list of GITHUB_REPOS the syntax is owner/repo:mainline, e.g. nicolai86/github-rebase-bot#master. Multiple repositories can be separated by ,.
  2. modify k8s/secrets.yml and add base64 encoded github token.
  3. apply k8s configuration: kubectl apply -f k8s/

this will create a github namespace with the bot running inside.

development

The rebase-bot has lots of unit tests to ensure it's working as intended. Also there are some integration tests which operate on a locally cloned repository with pre-defined scenarios.

To execute all tests run go test ./....

For prototyping it's sometimes useful to run the bot locally. This is best done via ngrok:

  1. start ngrok: ngrok http 8080
  2. start the bot with the endpoint provided by ngrok: go build . && ./github-rebase-bot -public-dns <ngrok-endpoint> -repos <repo> -merge-label LGTM -addr :8080

To update the integration test scenarios unarchive scenarios/rebase-conflict.zip, change the repository and archive it again using zip: zip -r ../rebase-conflict.zip .

installation

go get -u github.com/nicolai86/github-rebase-bot

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].