OpenROAD-flow-scripts icon indicating copy to clipboard operation
OpenROAD-flow-scripts copied to clipboard

Removing hardcoded hashes from Nix flake.

Open rslawson opened this issue 9 months ago • 15 comments

Previously the flake would require periodically updating the commit hashes for the submodules (and their submodules, etc.). However, the flake should now handle changes to those without direct user interaction.

rslawson avatar Mar 20 '25 23:03 rslawson

@donn any concerns here? Nix support is for OL2 so I have none.

maliberty avatar Mar 21 '25 00:03 maliberty

My apologies, forgot to update the workflows. Any time the submodules update the flake.lock also needs to be updated, so I think(?) I've done that appropriately here.

rslawson avatar Mar 21 '25 00:03 rslawson

It would also appear that despite trying to make sure that flake.lock stays up-to-date I pushed a broken version of it. I'll push a fix for that shortly.

EDIT: Never mind, something was just odd when I cloned it to another machine - it didn't get the right submodule commits for some reason. In the morning I'll rebase on master to ensure that it works with the project in its current state.

rslawson avatar Mar 21 '25 01:03 rslawson

This is ORFS, not OpenROAD, but the changes look broadly fine

donn avatar Mar 21 '25 02:03 donn

This is ORFS, not OpenROAD, but the changes look broadly fine

I'm aware, yes. What do you mean by that, though?

rslawson avatar Mar 21 '25 13:03 rslawson

This is ORFS, not OpenROAD, but the changes look broadly fine

I'm aware, yes. What do you mean by that, though?

I think he is pointing out the OL2 only uses the nix file from OR and not ORFS.

maliberty avatar Mar 21 '25 15:03 maliberty

@vvbandeira do you understand the scan's error SyntaxWarning: invalid escape sequence '\('? I've never seen that before and there is no recent change.

maliberty avatar Mar 21 '25 15:03 maliberty

Forgive my ignorance here, but OL2? If this is in reference to the fact that I added inputs to all the submodules for OpenROAD and YoSys, that's just for reasons of Nix flakes are... interesting at times, to put it kindly. It's a workaround for an issue with submodules in flake dependencies.

rslawson avatar Mar 21 '25 15:03 rslawson

OL2 = OpenLane2 (https://github.com/efabless/openlane2)

maliberty avatar Mar 21 '25 16:03 maliberty

Oh, should I have included that instead of or in addition to OpenROAD in this? If so, I can work on that.

rslawson avatar Mar 21 '25 16:03 rslawson

@rslawson ORFS and OpenLane 2 are two different implementations of the OpenROAD flow. You're contributing to ORFS right now, so you don't need to worry about OpenLane 2.

If you were contributing to OpenROAD's Nix file, I would indeed need to take a look at that.

donn avatar Mar 21 '25 19:03 donn

Ah, undersood. Thank you for clearing that up for me (:

rslawson avatar Mar 21 '25 19:03 rslawson

@vvbandeira do you understand the scan's error SyntaxWarning: invalid escape sequence '\('? I've never seen that before and there is no recent change.

I think it might be missing the r marker in the strings. I will do some testing and push a PR. But there's an exception to be made because the matching is being done with \dlp which matches 4Lp in the sha256.

vvbandeira avatar Mar 21 '25 21:03 vvbandeira

Hmm, was hoping something would change with rebasing onto current master, but unfortunately no.

rslawson avatar Apr 09 '25 14:04 rslawson

I added an exclusion for checking flake.lock

maliberty avatar Apr 09 '25 22:04 maliberty