~raboof/nixpkgs-contributor-dashboard

ref: 08df9196d56f45cbba0d6d9feeb1231481539f68 nixpkgs-contributor-dashboard/README.md -rw-r--r-- 1.7 KiB
08df9196 — Arnout Engelen Add feature for clearing PR's 1 year, 6 days ago

#Nix contributor dashboard

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.

#General approach

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.

#Usage

Create a '.env' with 2 environment variables:

  • GITHUB_TOKEN (to get better GitHub API limits)
  • DATABASE_URL=nixpkgs_dashboard_data.sql

Add PR's to the db:

cargo run --bin fetch_pulls

Add build failures to the db:

cargo run --bin fetch_failures

Show items:

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

#Configuration

You can create a config.toml to list which packages you are interested in:

interests = [
  "diffoscope",
  "notion",
]

#Random notes

#Database

Let's use a sqlite db for now.

#Fetching from github

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.