chipsalliance / chipsalliance/rocket-chip
Request for smarter riscv-tools builds
- 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
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