A GitHub bot for the ACM CSUF Open Source organization.
The bot provides an HTTP server for receiving GitHub webhooks and interacting with GitHub through the GitHub API.
GitHub
│
│ Webhook
▼
┌─────────────────┐
│ Axum Server │
├─────────────────┤
│ Handlers │
├─────────────────┤
│ AppState │
│ └─ Octocrab │
└─────────────────┘
│
▼
GitHub REST API
The GitHub client is initialized once when the application starts and shared with handlers through Axum application state.
If you have Nix (the greatest package manager to exist), go into the project and run
nix developIf not, as of writing this make sure you have rustc and cargo installed.
Start the server with:
cargo runThe server listens on:
127.0.0.1:8080
Basic application endpoint.
Returns the health status of the server.
Example:
{
"status": "ok",
"message": "healthy"
}Returns a fixed PR from acmcsuf.com as an example.
do you really think Im going to paste a a billion character output here?
(ok maybe its not a billion characters but its too much for here)Run tests with:
cargo testNote
This project is under active development for the ACM CSUF Open Source organization.
The API and internal architecture may change as additional GitHub automation is implemented.
This project is licensed under the MIT License. See LICENSE for the
full license text.
Contributions are welcome. Open an issue or submit a pull request with improvements, bug fixes, or new GitHub automation ideas.