rust-lang-nursery/thanks

Name: thanks

Owner: rust-lang-nursery

Description: A web app for contributors to rust

Created: 2017-01-12 04:58:13.0

Updated: 2018-05-02 08:52:31.0

Pushed: 2018-03-16 00:25:32.0

Homepage: https://thanks.rust-lang.org

Size: 3001

Language: Rust

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Thanks!

Build Status

This web application shows people who have contributed to Rust.

Setup

You need stable Rust to run Thanks.

Get the app set up. You'll need postgres installed. And sqlite3 headers I think.

Clone it:

t clone https://github.com/rust-lang-nursery/thanks
 thanks

Set up the database URL. Replace this with whatever credentials you need.

 .env.sample .env

Inspect it to make sure it's set up the right way; only you can know what's up with your local postgres install.

Build it:

rgo install diesel_cli --no-default-features --features postgres
esel setup
rgo build

Clone down the Rust repository somewhere. I put mine in ~/src:

 ~/src
t clone https://github.com/rust-lang/rust

Import data from the repo:

 - # go back to our app
rgo run --bin populate -- \
--name Rust \
--github rust-lang/rust \
--url https://github.com/rust-lang/rust/ \
--path ~/src/rust # or wherever you put the Rust source

This will take a few minutes. At the time of writing, Rust has about 61,000 commits that will need to be processed.

Run the server:

rgo run --bin thanks

Open your browser to the URL shown.

Other stuff

To access the database from the commannd line:

 -p 5432 -h localhost -U postgres -d thanks

If you have the database with the old name (rust_contributors or any other), you have two options:

If you're working on the populate binary, it's useful to be able to quickly drop your local database:

rgo run --bin the-big-red-button -- --all

You can also delete only one project by passing --name NAME option.

When it's time for a new release,

rgo run --bin new-release -- --name Rust --version 1.15.0 --path ~/src/rust # or wherever your Rust is --link http://link/to/changelog

As often as you want to update, run

rgo run --bin update-commit-db

This will hit GitHub's API instead of using a local checkout of Rust, as it is assumed that this will run on the server, and we don't want to do a full git checkout there.

To hide someone from the page, you can run opt-out binary (append an extra --opt-in option to that if you want to revert the change)):

o run --bin opt-out -- --email example@example.com

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.