rust-lang / rust-lang/rustc-perf

bench_local IDs must be refs in rust-lang/rustc

Open
#837 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
733
Forks
189
Avg merge
10h 52m
Merged PRs (30d)
43

Description

To reproduce:
./target/release/collector bench_local $(rustup +nightly which rustc) testrun

Expected:
The run ID "testrun" should label the current run in the database

Actual:
It's also used as a ref when checking out the rustc repo and the whole collector run stops on this benchmark:

15 benchmarks remaining
Cloning into 'rust'...
remote: Enumerating objects: 1406657, done.
remote: Total 1406657 (delta 0), reused 0 (delta 0), pack-reused 1406657
Receiving objects: 100% (1406657/1406657), 580.28 MiB | 2.47 MiB/s, done.
Resolving deltas: 100% (1133476/1133476), done.
fatal: ambiguous argument 'testrun': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
thread 'main' panicked at 'git reset --hard successful', collector/src/execute/rustc.rs:50:5

Probably caused by these commits: https://github.com/rust-lang/rustc-perf/commit/965ad78b70514a29098ad57fb33601873716ca67
https://github.com/rust-lang/rustc-perf/commit/9eef993b9487784c79792573d33c40bcdf98528b (when the repo already exists locally)

I'd suggest either having bench_local runs default to checking out origin/master, or adding a new flag to collector to represent a ref in the rust-lang repo (bit more involved)

If someone can verify this is an issue then I can submit a fix for it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the ./target/release/collector bench_local command from the issue, then inspect collector/src/execute/rustc.rs around line 50 and the referenced commits. Verify that the run ID still labels the database run while rustc checkout uses a valid repository ref, and confirm the benchmark run completes.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, rust
Domain
cli, performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.