The goal of this project is to collect and present information that is relevant for Nix (and NixOS/nixpkgs) contributors.
Specifically, I hope it will make it easier for 'casual' contributors to keep track of packages that interest them and help out in maintenance tasks when they have some time to spare.
This project will consist of a couple of processes that fetch information from different sources (github issues, github PR's, build failures) and stick it into a database - focusing on currently-actionable items (so we can drop closed issues/prs etc)
This database can then be queried and given a frontend.
This database is intended to contain only 'derived' information, so it can always be thrown away and repopulated.
Create a '.env' with 2 environment variables:
Add PR's to the db:
cargo run --bin fetch_pulls
Add build failures to the db:
cargo run --bin fetch_failures
cargo run --bin show
Clean up closed PR's:
cargo run --bin clean_pulls
Clean up fixed failures:
# not implemented yet
Clear the database:
diesel migration redo
You can create a
config.toml to list which packages you are interested in:
interests = [ "diffoscope", "notion", ]
Let's use a sqlite db for now.
https://github.com/github-rs/github-rs can perform github API requests, but currently you'd need to do your own pagination (https://github.com/github-rs/github-rs/issues/18) Perhaps https://github.com/github-rs/github-rs/tree/master/github-gql-rs would be more convenient.