Check tool versions at beginning of run #2000
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why?
Currently even on a local run we only check if the tool version is correct and the tool exists when executing a node.
This leads to failures in the middle of the run and is annoying to the user.
What?
If the nodes are executed locally then we check at the beginning of the run if all tools are present and have right version.
How?
We use the same tool version check that we use when executing a node but run it also at the start of the run.
Issues:
Some tools like
iverilog
produce their binary while executing the flow.These binaries can't be version checked in the beginning of the run.
Before:
After:
Testing:
tests/core/test_error_manifest.py
andtests/core/test_fail_early.py
needed to be added to the eda tests since we are now checking earlier if their executable is presenttests/core/test_version_early.py