We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
For various reasons, it's recommended to call working branches, even in your forks, something else other than master
or main
, as those two branch names do have some special behavior associated with them.
Before you submit your changes, it's prudent to perform some kind of smoke test. make test
tests a simple spm design to ensure nothing has gone horribly wrong.
You will also need to ensure that your Python code passes linting with two tools: black
and flake8
. The commands are simply black .
and flake8 .
. Please fix all warnings.
Try to write all major code in Python. Writing some Tcl is usually a necessity because this project's backbone is unfortunately written in Tcl, but just keep the Tcl to as close to a Python shim as possible.
Please do not write new shell scripts.
Make your changes and then submit them as a pull requests to the master
branch.
Consult GitHub Help for more information on using pull requests.
For a PR to be merged, there are two requirements:
Please add you (or your employer's) copyright headers to any files to which you have made major edits.
Please note all code contributions must have the same license as OpenLane, i.e., the Apache License, version 2.0.