******************* Precheck has just been updated...
# shuttle
j
******************* Precheck has just been updated on the platform with a current version of magic and support for SRAM macros. *******************
k
Copy code
{{PROGRESS}} Makefile Checks Passed.
Traceback (most recent call last):
  File "open_mpw_prechecker.py", line 363, in <module>
    run_check_sequence(target_path, caravel_root, pdk_root, output_directory, run_fuzzy_checks, run_gds_fc, skip_drc, skip_xor, drc_only, dont_compress, manifest_source, run_klayout_drc, run_klayout_fom_density_check, private)
  File "open_mpw_prechecker.py", line 196, in run_check_sequence
    default_README, reason = check_defaults.has_default_README()
TypeError: 'NoneType' object is not iterable
It looks to fail as there is a missing else statement for the “good” run.
Copy code
diff --git a/base_checks/check_defaults.py b/base_checks/check_defaults.py
index 1fe5d9f..3f5022f 100644
--- a/base_checks/check_defaults.py
+++ b/base_checks/check_defaults.py
@@ -40,6 +40,8 @@ def has_default_README():
                     failed = True
                     errors += "\nREADME.md has not been changed"
                     return (True, "README.md has not been changed")
+                else:
+                    return (False,"README.md file different from default")
     except FileNotFoundError as notFound:
         return (True, "Could not open file %s"%notFound.filename)
Next one:
Copy code
{{FAIL}} Default config checks failed because: 
The parameter project_name in info.yaml is default
The parameter project_id in info.yaml is default
I “fixed” it by doing this in my user_project
Copy code
diff --git a/info.yaml b/info.yaml
index 7a88af3..9f213c8 100644
--- a/info.yaml
+++ b/info.yaml
@@ -7,8 +7,8 @@ project:
   organization_url: "<http://darnok.org|http://darnok.org>"
   owner: "Konrad Rzeszutek Wilk"
   process: "SKY130"
-  project_name: "Caravel"
-  project_id: "00000000"
+  project_name: "SHA-1"
+  project_id: "53484131"
   tags:
     - "Open MPW"
     - "Test Harness"
But I thought the project_id would be generated automatically by eFabless so really shouldn't set to anything? Last one is this one:
Copy code
{{PROGRESS}} Check if sha1 is default 
Traceback (most recent call last):
  File "open_mpw_prechecker.py", line 363, in <module>
    run_check_sequence(target_path, caravel_root, pdk_root, output_directory, run_fuzzy_checks, run_gds_fc, skip_drc, skip_xor, drc_only, dont_compress, manifest_source, run_klayout_drc, run_klayout_fom_density_check, private)
  File "open_mpw_prechecker.py", line 208, in run_check_sequence
    default_content, reason = check_defaults.has_default_content(lc)
  File "/usr/local/bin/base_checks/check_defaults.py", line 105, in has_default_content
    open(anupdated_file, 'rb') as updated:
IsADirectoryError: [Errno 21] Is a directory: '/home/konrad/caravel_user_project/verilog/rtl/sha1
.. which is true, it is a directory. Should it just continue on?
👍 1
@jeffdi ^^ ugh. See above pls
The other check that I can't figure out is about ### Documentation being in the README.md check (the comment in the Python code implies three ###?) I added that in the README.md but I still get Traceback (most recent call last): File "open_mpw_prechecker.py", line 363, in <module> run_check_sequence(target_path, caravel_root, pdk_root, output_directory, run_fuzzy_checks, run_gds_fc, skip_drc, skip_xor, drc_only, dont_compress, manifest_source, run_klayout_drc, run_klayout_fom_density_check, private) File "open_mpw_prechecker.py", line 200, in run_check_sequence empty_documentation, reason = check_defaults.has_empty_documentation() File "/usr/local/bin/base_checks/check_defaults.py", line 78, in has_empty_documentation doc = re.search(r"(#+)[ ]Documentation(.)%s"%(header_level), readme_txt, flags=re.DOTALL)[2] TypeError: 'NoneType' object is not subscriptable
j
@ahmed nofal please see issues with precheck run above? ^^^
k
@jeffdi see https://github.com/efabless/open_mpw_precheck/pull/49 with one of the fixes for above..
j
i just pushed a fix for the above. thx
@Konrad Wilk
k
Oh. Thank you!
I hadn't figured out the last one where it complains about directories in verilog/rtl . My initial fix (basically if is_dir() and then continue if true) does not work which is very odd.
The Documentation one I fixed in my repo. Basically I had to have another section after # Documentation. Like # Documentation ## Pre-req ## How to build the GDS
In the README.md file. I had a mega block with just one section
j
👍