/team

Rust teams structure

Primary LanguageRustApache License 2.0Apache-2.0

Rust teams structure

This repository contains the structure of the Rust teams. The repository is automatically synchronized with:

Service Synchronized every
@bors In real time Integration source
Crater and @craterbot In real time Integration source
Perf and @rust-timer In real time Integration source
@rfcbot 5 minutes Integration source
GitHub teams membership 5 minutes Integration source
Mailing lists and aliases (@rust-lang.org, @crates.io) 5 minutes Integration source
Governance section on the website 2 minutes Integration source

If you need to add or remove a person from a team send a PR to this repository, and after it's merged their account will be added/removed from all the supported services.

Documentation

Using the CLI tool

It's possible to interact with this repository through its CLI tool.

Verifying the integrity of the repository

This repository contains some sanity checks to avoid having stale or broken data. You can run the checks locally with the check command:

cargo run check

Adding a person to the repository

It's possible to fetch the public information present in a GitHub profile and store it in a person's TOML file. To do that you need to have the GITHUB_TOKEN environment variable setup with a valid personal access token, and you need to run the command:

cargo run add-person <username>

Querying information out of the repository

There are a few CLI commands that allow you to get some information generated from the data in the repository.

You can get a list of all the people in a team:

cargo run dump-team all

You can get a list of all the email addresses subscribed to a list:

cargo run dump-list all@rust-lang.org

You can get a list of all the users with a permission:

cargo run dump-permission perf

You can generate www.rust-lang.org's locales/en-US/tools.ftl file by running

cargo run dump-website

The website will automatically load new teams added here, however they cannot be translated unless tools.ftl is also updated.

Building the static API

You can build locally the content of https://team-api.infra.rust-lang.org/v1/ by running the command:

cargo run static-api output-dir/

The content will be placed in output-dir/.