byuccl / bfasst

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

CI brings in all submodules, but often doesn't need to #341

Closed jgoeders closed 9 months ago

jgoeders commented 10 months ago

Can we bring in fewer submodules in the CI when they are not needed?

Perhaps using this approach:

git submodule init <submodule a> <submodule b>
yonnorc42 commented 10 months ago

@jgoeders Would this need to be approached differently because of some of the changes that you've made recently?

jgoeders commented 10 months ago

@yonnorc42

I didn't really have a plan for this. Different tests require different tools. For example, I think only one test requires yosys, but we spend quite a bit of time setting it up for every test. We don't have a mechanism for conveying what tools are needed from the test up to the environment setup. I don't have any good ideas on how to do this. Maybe others have thoughts? @dallinjdahl @KeenanRileyFaulkner @reillymck

dallinjdahl commented 10 months ago

I don't know how github actions would do it, but I would just specify the whole thing as a ninja file and then run ninja for each test...

On Wed, Nov 29, 2023 at 9:08 AM Jeff Goeders @.***> wrote:

@yonnorc42 https://github.com/yonnorc42

I didn't really have a plan for this. Different tests require different tools. For example, I think only one tool requires yosys, but we spend quite a bit of time setting it up for every test. We don't have a mechanism for conveying what tools are needed from the test up to the environment setup. I don't have any good ideas on how to do this. Maybe others have thoughts? @dallinjdahl https://github.com/dallinjdahl @KeenanRileyFaulkner https://github.com/KeenanRileyFaulkner @reillymck https://github.com/reillymck

— Reply to this email directly, view it on GitHub https://github.com/byuccl/bfasst/issues/341#issuecomment-1832208603, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKGMS3XM73RSS4UIUR5SNWDYG5MWZAVCNFSM6AAAAAA7J3LGBGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZSGIYDQNRQGM . You are receiving this because you were mentioned.Message ID: @.***>

reillymck commented 10 months ago

I was thinking we could make recipes for different unit tests and instead of make install it makes the test-specific recipe.

jgoeders commented 10 months ago

I was thinking more along the lines of having something like this in the yaml files:

tools: vivado yosys rapidwright

And then the environment setup code could iterate through these and call make install_yosys, make install_rapidwright, etc.

jgoeders commented 10 months ago

I've started working on this in the linked PR; however, I think the correct way to do this would be to have the tools listed in the yaml that details all flows (discussed in #362 and #382), rather than in the test yaml file.

KeenanRileyFaulkner commented 10 months ago

I've been working on that yaml file, and will add this functionality.

jgoeders commented 10 months ago

Sounds good - no rush.