Ok, so there's 1.5GB of conda packages inside the ...
# openlane
o
Ok, so there's 1.5GB of conda packages inside the PDK?!?!
m
might be worth looking at the github actions that are setup on the new caravel project
o
Good idea
Coming away with more questions than answers 🙂 Why the hell does it start qemu first thing it does?
d
Hi Olof, sorry for the late reply. The qemu setup is to allow docker to run images of other archs- I’d wager whoever originally made that CI copied it over from a tutorial with no second thought. It’s useful for doing CI on ARM for example, but it’s not really applicable here.
o
Oh, could that perhaps have been @Rob Taylor I remember he did some work to get it going on his M1
d
Yeah, on M1 you have to setup qemu locally to run x86-64 Docker images; that wouldn’t be applicable to the actual CI though, the CI only runs on GitHub’s servers which are all x86-64 (for now).
Regardless, you can just pretend that particular action does not exist. 🙂
o
Right. Got it
r
I think my multiarch stuff isn’t merged ….
d
Are you working on Docker images for other archs?
o
So for context, what I'm trying to do right now is to set up CI for my repo to run my design through openlane with gh actions as mentioned here https://github.com/olofk/subservient/issues/1
d
Well to answer some of your questions: You unfortunately do need to run make pdk every time. We do so on our own CI: it takes a nice 20 minutes but it’s not unmanageable.
make openlane
is just an alias for a docker pull- you can replace it with
docker pull efabless/<openlane:v0.12>
(I’d also recommend fixing the version of Openlane used for CI.)
You don’t actually need to build Openlane in your CI, you can just pull whatever version from efabless/openlane then clone the repo and
git checkout
the corresponding commit for this tag.
o
Thanks for walking me through this. Still not clear on some parts. Why do I need to clone the repo at all? Doesn't
docker pull efabless/<openlane:v0.12>
get me an image with all I need?
d
Ah… appears so. At /openLANE_flow. Apologies.
Well yeah, then just pull v0.12 and you’re golden.
o
Fantastic. And I'm also trying to slim down the stuff created by make pdk so that I can have something a bit more manageable for my CI flows
d
👍 I’ll have to evaluate what I can do about make pdks for openlane’s CI: it’s not unreasonable to assume there’s something that can be done about it but on the other hand it does validate
make pdks
as working at all
o
Yeah, different needs I guess. I have no need for a particular PDK variant or checking that building it works