chipsalliance / chipsalliance/rocket-chip

Request for smarter riscv-tools builds

Open
#1,173 0 comments 0 reactions 0 assignees View on GitHub
build: toolchain proposal
Dominant language
Scala
Stars
3.9k
Forks
1.3k
Avg merge
5d 13m
Merged PRs (30d)
1

Description

Currently (for regressions), whenever *anything* changes in riscv-tools, we rebuild everything. This is because the regression downloads and installs the tools into a directory named by the git hash of riscv-tools, which changes any time anything in riscv-tools changes.

It would be nice if we could break up the cache-and-rebuild into smaller pieces. This would mean that we don't need to rebuild riscv-gcc when we change something in riscv-fesvr, for example.

This is coming up because after Travis updated their images on Dec 12, we no longer can do a full riscv-tools build without running out of space, or by using a `sudo` image.

See discussion on #597

Contributor guide

Open the contributing guide

Research direction

Start by tracing how regressions download and install riscv-tools, especially the cache directory keyed by the riscv-tools git hash. Review the discussion in #597 and the Travis image constraints; done means independent tool components can reuse their caches without forcing a full riscv-tools rebuild.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.