Things
prbot-py
7/31/2024
Rewrite of the github-scbot in Python.

Summary

Simple GitHub bot to handle pull requests for you when you have other things to do.

Features

  • Manage a global overview of each pull request, using “step labels” to easily see what’s going on
    • You can also track these labels using external applications (as JIRA) to automate tasks
  • Handle QA / check status on a pull request
  • Handle automerge following specific rules or on demand
  • Handle specific repository rules for more granularity

How to run

You need:

Note: if you use Nix and direnv, you can use the included .envrc / shell.nix file to automatically setup Python/Git/Just. You can also use the included devcontainers configuration.

To configure your environment file, copy the .env.dist file to a .env file in the project root, and fill the blanks.

Then, you can setup everything by doing:

# Install the dependencies
poetry install

# Create the tables
poetry run manage aerich upgrade

# Run the application server
poetry run manage serve

The server should be accessible at https://localhost:8000.

Note: You can override the port and IP using the PRBOT_SERVER_PORT / PRBOT_SERVER_IP environment variables.

You can also use the included Dockerfile to containerize the application.

Credits

This project mainly uses the following technologies:

Made with 💜 thanks to SvelteKit
Denis Bourge GitHub LinkedIn