f4pga / f4pga-arch-defs

FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.
https://f4pga.org
ISC License
273 stars 113 forks source link

Optimise CI workflow and reorganise the content accordingly #2673

Open umarcor opened 2 years ago

umarcor commented 2 years ago

The CI workflow in this repo takes ~10h to run. On the one hand, that's because running some of the tasks on the largest architectures (xc7200t) takes 5h. On the other hand, job install is executed after all the previous tasks are finished, and it takes 5h as well. This is partially due to some tasks being executed twice (i.e. job install is bootstraped instead of reusing artifacts from previous jobs). We should store some of the packages (arch.xml, rr graph, etc.) as artifacts (apart from pushing them to GCP), so we can reuse them in job install.

Moreover, the structure of the repo is misleading for newcomers. There are multiple locations for tests (tests, testarch, xc/xc7/tests, quicklogic/pp3/tests) and subdirs for architectures are located in the root along with subdirs for tools. Having subdirs archs and tools, along with reorganising the tests, would be helpful to reduce the maintenance burden and make contributions easier. See https://github.com/SymbiFlow/f4pga-arch-defs/pull/2647.

mithro commented 2 years ago

It is important from a visibility to have the support architecture directories at the top level.