olofk / fusesoc

Package manager and build abstraction tool for FPGA/ASIC development
BSD 2-Clause "Simplified" License
1.14k stars 235 forks source link

Not possible to run multiple builds in parallel #635

Closed garankonic closed 5 months ago

garankonic commented 11 months ago

Hello, First of all - thanks for the great tool. I have spotted peculiarity in behaviour, while using FuseSoC to assemble and build projects in Gitlab-CI. The issue is spotted in simulation flow (modelsim). I am using CI shell runner (not docker). I have multiple projects built in parallel. The flow is the following:

Each of the projects uses some some fusesoc generators. Because of the fact that builds are running in parallel, only one of the them is valid, the rest are somehow corrupted. I made sure to use local fusesoc cache_root folder for each CI job, so it seems that some of the generation is still made in $HOME/.cache/fusesoc or something like this. As soon as I spread runs in time (by using sleep function) - all 3 built modelsim libraries are perfectly fine.

I understand that using a docker image would be a good way to avoid such "correlations", but for now I cannot do this, so would be nice to make it running with 3 processes running in parallel but using different cache_root.

Thanks a lot in advance!

garankonic commented 5 months ago

The issue was caused by a bug in own scripting, not connected to FuseSoC.