Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 3 additions & 131 deletions src/infra/service-infrastructure.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Service Infrastructure

Most services in the Rust Infrastructure are deployed via
[rust-central-station]. Questions about infrastructure, including current
The Rust Infrastructure team maintains several services and bots. Their list can
be found [here][service-catalog]. Questions about infrastructure, including current
status, should go to the [#t-infra Zulip stream](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra).

**Our stability guarantees**: many of our services rely on publicly-accessible
Expand All @@ -11,132 +11,4 @@ stable**, meaning that those resources will not change without (at least) prior
notice. If you are relying on other parts of the Rust project infrastructure for
your own work, please let the infrastructure team know.

[rust-central-station]: https://github.com/rust-lang/rust-central-station

## Rust Log Analyzer

The [Rust Log Analyzer](https://github.com/rust-lang/rust-log-analyzer)
analyzes CI build logs to extract error messages and posts them to the pull
request. It is run by [TimNN](https://github.com/TimNN).

## Homu / bors

[Homu](https://github.com/rust-lang/homu/) is a bot which manages pull
requests. It is often referred to as "bors" due to the name of its
[bot user account](https://github.com/bors).
Approved pull requests are placed in
[a queue](http://bors.rust-lang.org/queue/rust) from which tests are
run.

Documentation on homu commands can be found
[here](http://bors.rust-lang.org/).

Please contact [Alex Crichton](https://github.com/alexcrichton) if something
goes wrong with the bot.

## rfcbot

[rfcbot](https://github.com/rust-lang/rfcbot-rs) is a bot
([bot user account](https://github.com/rfcbot)) which helps manage async
decision making on issues and PRs (typically RFCs). Team members can view any
pending requests for review on [the FCP dashboard](https://rfcbot.rs/).

Documentation on rfcbot commands can be found
[in the rfcbot repository](https://github.com/rust-lang/rfcbot-rs).

## rustbot

[rustbot](https://github.com/rust-lang/triagebot) is a bot ([bot user
account](https://github.com/rustbot)) to assist with managing issues and PRs
to allow users to label and assign without GitHub permissions. See
[triagebot](../triagebot/index.md) for more information.

## DXR

[DXR](https://dxr.mozilla.org/rust/source/) is a cross-referenced source index
for Rust, allowing the Rust source tree to be navigated and searched with ease.
It is generated by [rust-dxr](https://github.com/nrc/rust-dxr)

## perf / rust-timer

[perf](https://github.com/rust-lang-nursery/rustc-perf) offers information
about the performance of `rustc` over time, and a bot for on-demand benchmarking.

It is split into a data [collector] and a [web frontend + bot]. The raw performance
data is available [here](https://github.com/rust-lang-nursery/rustc-timing)
and can be browsed on the [perf website](https://perf.rust-lang.org).

One-off performance runs can done by addressing the
[rust-timer bot](https://github.com/rust-lang-nursery/rustc-perf/blob/master/site/src/github.rs)
([bot user account](https://github.com/rust-timer)). You can trigger the
necessary try-build and queue a perf run by saying

```console
@bors try @rust-timer queue
```

(Technically, the requirement is that the `queue` command finishes executing prior
to the try build completing successfully.)

See the [documentation](https://github.com/rust-lang/rustc-perf/tree/master/collector#benchmarking)
for further bot commands.

[collector]: https://github.com/rust-lang-nursery/rustc-perf/tree/master/collector
[web frontend + bot]: https://github.com/rust-lang-nursery/rustc-perf/tree/master/site

## Rust Playground

[Rust Playground](https://github.com/integer32llc/rust-playground) allows you
to experiment with Rust before you install it locally, or in any other case
where you might not have the compiler available. The Rust playground can be
accessed [here](https://play.rust-lang.org).

## Crater

[Crater](https://github.com/rust-lang/crater) is a tool to run
experiments across the whole Rust ecosystem. Its primary purpose is to detect
regressions in the Rust compiler, and it does this by building large number of
crates, running their test suites and comparing the results between two
versions of the Rust compiler.

Crates comes with a [bot to trigger experiments](https://github.com/rust-lang/crater/blob/master/docs/bot-usage.md).

## docs.rs

[docs.rs](https://docs.rs/) builds and serves the rustdoc documentation for
all crates on [crates.io]. Issues may be filed on the [docs.rs
repository](https://github.com/rust-lang/docs.rs). See the [#t-docs-rs
channel](https://rust-lang.zulipchat.com/#narrow/channel/356853-t-docs-rs/)
on Zulip for discussion or urgent issues.

## Toolstate

The state of tools included with Rust are tracked on the [toolstate
page](https://rust-lang-nursery.github.io/rust-toolstate/). When each PR is
merged via CI, the status of each tool is recorded in a JSON file and stored
in the [toolstate repo](https://github.com/rust-lang-nursery/rust-toolstate).
For further information, see the [toolstate system documentation](toolstate.html).

## Rustup components history

The [rustup components
history](https://rust-lang.github.io/rustup-components-history/) tracks the
status of every rustup component for every platform over time. See [the
repository](https://github.com/rust-lang/rustup-components-history) for more
information.

## CI Timing Tracker

The [CI Timing
Tracker](https://alexcrichton.github.io/rust-ci-timing-tracker/) tracks and
compares how long CI jobs take over time. It is run by [Alex
Crichton](https://github.com/alexcrichton/rust-ci-timing-tracker).

## Highfive (retired)

[Highfive](https://github.com/rust-lang/highfive) is a bot
([bot user account](https://github.com/rust-highfive)) which was previously
used to welcome newcomers and assigned reviewers. This service has been
replaced with [rustbot](#rustbot).

[crates.io]: https://crates.io/
[service-catalog]: https://github.com/rust-lang/infra-team/blob/main/service-catalog/README.md