Cross-repository conformity verification for the Rust Code of Conduct.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets/css
deployment
src
templates
tests
.dockerignore
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
Dockerfile
README.md
config.toml.example
satellite_code_of_conduct.md

README.md

rust-conduct-conformulator Build Status

The Rust Code of Conduct is checked in to multiple repositories. This is great since it makes the Code of Conduct more ubiquitous. The downside is that copies of the Code of Conduct can become out of sync over time.

This project aims to address the risk of fragmentation two ways:

  1. (cargo test) The repository contains cross-repository integration tests that verify the Rust site Code of Conduct and copies of the Code of Conduct in specified code repositories are synchronized. A passing build badge above indicates that the codes of conduct were in sync as of the last build. Builds occur at least daily.
  2. (cargo run) The repository launches a web service that shows the status of the codes of conduct in all respositories in three of Rust's GitHub organziations. An experimental deployment of this service is currently at https://rust-conduct.davidalber.net/.

Test Details

The integration tests are intended to cover projects in the rust-lang, rust-lang-nursery, and rust-lang-deprecated GitHub organizations. Currently, the following code repositories are covered by the tests.

Onboarding Repositories

  1. To add a new repository to the tests, either contact me or author a PR that adds the repository name to the repos vector in the validate_satellite_files function in validation_tests.rs. Be sure to run cargo test before creating the PR.
  2. Add a link to the repository and its code of conduct in the section above.

Service Details

The service uses Rocket, so you need to use nightly Rust. Currently, do

rustup override set nightly-2018-06-06

By default, the service runs on port 8000.

Deploying

See the deployment directory for an example deployment.

Adding the Rust Code of Conduct to a Project

The current correct copy of the Code of Conduct for a code repository is in satellite_code_of_conduct.md. If you add that to your repository be sure to onboard the repository.