byuccl / bfasst

Tools for FPGA Assurance Flows
Apache License 2.0
12 stars 5 forks source link

Speed up environment setup in CI through local cache/environment #135

Open jgoeders opened 1 year ago

jgoeders commented 1 year ago

It seems to be quite a bit faster now that rapidwright only downloads data files on demand.

jgoeders commented 1 year ago

The environment setup action used to take a long time because it downloaded all of the rapidwrite data files. Now the data files are downloaded on demand so it's much faster.

I believe the new longest running setup step is fasm2bels. To make this faster, I think we would want to create a file once the fasm2bels set up completed correctly, and the file would probably contain the hash of the fasm2bels submodule, such that if that file didn't exist or was the wrong version, you would run the setup again, otherwise it could be skipped. (edited)

jgoeders commented 10 months ago

I've simplified the caching mechanism in #385. Once that is merged we ought to add a similar caching mechanism for yosys. Since much of the code will be duplicated, perhaps we can have a generic caching script for submodules in CI.