Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix failing CI #329

Merged
merged 4 commits into from
Jul 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/kokoro/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ echo "-------------------------------------------"
# Testing all projects/toolchains/boards
python3 exhaust.py --build_type generic-all --fail --num-cpu $NUM_CORES
# Testing parameters injection feature
python3 exhaust.py --parameters parameters.json --toolchain vpr --project blinky --build_type parameters --only_required
python3 exhaust.py --parameters parameters.json --toolchain vpr --project blinky --build_type parameters --only_required --fail
# Testing multiple samples
python3 exhaust.py --build_type multiple-samples --run_config run_configs/multiple_samples.json --only_required
python3 exhaust.py --build_type multiple-samples --run_config run_configs/multiple_samples.json --only_required --fail
# Testing multiple seeds
python3 exhaust.py --build_type multiple-seeds --run_config run_configs/multiple_seeds.json --only_required
python3 exhaust.py --build_type multiple-seeds --run_config run_configs/multiple_seeds.json --only_required --fail

)
echo "-------------------------------------------"
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ SYMBIFLOW_LATEST_URL_BASE = https://storage.googleapis.com/symbiflow-arch-defs-g
SYMBIFLOW_LATEST_URL = ${SYMBIFLOW_LATEST_URL_BASE}/symbiflow-toolchain-latest
SYMBIFLOW_DEVICES = xc7a50t xc7a100t xc7a200t xc7z010 xc7z020

QUICKLOGIC_ARCHIVE = quicklogic.tar.xz
QUICKLOGIC_URL = https://quicklogic-my.sharepoint.com/:u:/p/kkumar/EWuqtXJmalROpI2L5XeewMIBRYVCY8H4yc10nlli-Xq79g?download=1
QUICKLOGIC_ARCHIVE = quicklogic.tar.gz
QUICKLOGIC_URL = https://storage.googleapis.com/symbiflow-arch-defs-install/quicklogic-arch-defs-63c3d8f9.tar.gz

third_party/make-env/conda.mk:
git submodule init
Expand Down
14 changes: 7 additions & 7 deletions conf/common/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
terminaltables
asciitable
simplejson
tqdm
colorclass
lxml
python-constraint
intervaltree
jinja2
pytest
lxml
pandas
pytest
python-constraint
simplejson
termcolor
terminaltables
tqdm
yapf
git+https://github.com/SymbiFlow/edalize.git@symbiflow#egg=edalize
10 changes: 3 additions & 7 deletions conf/quicklogic/environment.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
name: quicklogic
channels:
- conda-forge
- litex-hub
dependencies:
- litex-hub::quicklogic-yosys=v0.8.0_45_gcb3eef2b=20201216_065815
- litex-hub::quicklogic-yosys-plugins=v1.2.0_11_g21045a9=20201216_065815
- litex-hub::quicklogic-vtr=v8.0.0.rc2_4003_g8980e4621=20200902_114536
# TODO: remove when quicklogic-vtr will be updated to version built after https://github.com/hdl/conda-eda/pull/90
# or when conda-forge will rename API breaking tbb to another name (see https://github.com/conda-forge/tbb-feedstock/issues/81)
- tbb=2020.2
- litex-hub::quicklogic-yosys=0.8.0_105_gd282be04=20210625_074838
- litex-hub::quicklogic-yosys-plugins=1.2.0_11_g21045a9=20210625_074838
- litex-hub::vtr-optimized=8.0.0_4023_ge73e88940=20210625_074838
- make
- lxml
- simplejson
Expand Down
3 changes: 2 additions & 1 deletion conf/quicklogic/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
git+https://github.com/QuickLogic-corp/quicklogic-fasm.git
serial
git+https://github.com/QuickLogic-Corp/quicklogic-fasm.git
2 changes: 1 addition & 1 deletion env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ environment=${1:-xilinx-a35t}

if [ "quicklogic" == ${environment} ]; then
. ${FPGA_TOOL_PERF_BASE_DIR}/env/conda/bin/activate quicklogic
export PATH=${QUICKLOGIC}/install/bin:${PATH}
export PATH=${QUICKLOGIC}/quicklogic-arch-defs/bin:${PATH}
elif [ "nextpnr" == ${environment} ]; then
. ${FPGA_TOOL_PERF_BASE_DIR}/env/conda/bin/activate nextpnr-env
export PATH=${SYMBIFLOW}/bin:${PATH}
Expand Down
23 changes: 15 additions & 8 deletions exhaust.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import re
import logging
from terminaltables import AsciiTable
from colorclass import Color
from termcolor import colored
from multiprocessing import cpu_count

from utils.utils import safe_get_dict_value
Expand Down Expand Up @@ -74,6 +74,8 @@ def print_summary_table(

row = list(re.match(pattern, build).groups())

is_required = (row[0], row[1], row[4]) in required_task_list

if build_type != row[5] or (build_nr and int(build_nr) != int(row[6])):
continue
if project and row[0] not in project:
Expand All @@ -87,24 +89,29 @@ def print_summary_table(
# It is created for successful builds only
if os.path.exists(os.path.join(root_dir, out_prefix, build,
'meta.json')):
row.append(Color('{autogreen}passed{/autogreen}'))
row.append(colored('passed', 'green'))
passed += 1
else:
row.append(Color('{autored}failed{/autored}'))
failed += 1
if (row[0], row[1], row[4]) in required_task_list:
if is_required:
row.append(colored('failed', 'red'))

build_status = False
failed_required_tests.append(
"{} {} {}".format(row[0], row[1], row[4])
)
else:
row.append(colored('allowed to fail', 'blue'))

failed += 1

table_data.append(row)
build_count += 1

table_data.append(
[
Color('{autoblue}Total Runs:{/autoblue}'), build_count,
Color('{autogreen}Passed:{/autogreen}'), passed,
Color('{autored}Failed:{/autored}'), failed, '', '', '{}%'.
colored('Total Runs:', 'blue'), build_count,
colored('Passed:', 'green'), passed,
colored('Failed:', 'red'), failed, '', '', '{}%'.
format(int(passed / build_count * 100) if build_count != 0 else 0)
]
)
Expand Down
2 changes: 1 addition & 1 deletion project/axi-lite-reg.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
"vendors": {
"xilinx": ["zybo"]
},
"required_toolchains": ["vivado", "nextpnr-xilinx", "vpr"]
"required_toolchains": ["vivado", "vpr"]
}
2 changes: 1 addition & 1 deletion project/blinky.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
"vendors": {
"xilinx": ["arty-a35t", "arty-a100t", "basys3"]
},
"required_toolchains": ["vivado", "yosys-vivado", "nextpnr-xilinx", "nextpnr-xilinx-fasm2bels", "vpr", "vpr-fasm2bels"]
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels"]
}
2 changes: 1 addition & 1 deletion project/ibex.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
"vendors": {
"xilinx": ["arty-a35t", "arty-a100t", "basys3", "nexys-video"]
},
"required_toolchains": ["nextpnr-xilinx", "vivado", "vpr", "vpr-fasm2bels", "yosys-vivado"]
"required_toolchains": ["vivado", "vpr", "vpr-fasm2bels", "yosys-vivado"]
}
2 changes: 1 addition & 1 deletion project/murax.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@
"vendors": {
"xilinx": ["basys3", "nexys-video"]
},
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels", "nextpnr-xilinx"]
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels"]
}
2 changes: 1 addition & 1 deletion project/oneblink.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
"lattice": ["icebreaker"],
"quicklogic": ["quickfeather"]
},
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels", "nextpnr-xilinx", "nextpnr-xilinx-fasm2bels", "nextpnr-ice40", "quicklogic"]
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels", "nextpnr-ice40", "quicklogic"]
}
2 changes: 1 addition & 1 deletion project/picosoc-simpleuart.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@
"lattice": ["icebreaker"],
"quicklogic": ["quickfeather"]
},
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels", "nextpnr-xilinx", "nextpnr-ice40", "quicklogic"]
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels", "nextpnr-ice40", "quicklogic"]
}
2 changes: 1 addition & 1 deletion project/picosoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
"vendors": {
"xilinx": ["basys3", "nexys"]
},
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels", "nextpnr-xilinx"]
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels"]
}
2 changes: 1 addition & 1 deletion project/zynq-ps7-counter.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
"vendors": {
"xilinx": ["zybo"]
},
"required_toolchains": ["vivado", "yosys-vivado", "nextpnr-xilinx", "nextpnr-xilinx-fasm2bels", "vpr", "vpr-fasm2bels"]
"required_toolchains": ["vivado", "yosys-vivado", "vpr", "vpr-fasm2bels"]
}
2 changes: 1 addition & 1 deletion tool_parameters/vpr/parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"constant_net_method": ["route"],
"route_chan_width": [500],
"router_heap": ["bucket"],
"router_lookahead": ["connection_box_map"],
"router_lookahead": ["extended_map"],
"check_route": ["quick"],
"clock_modeling": ["route"],
"place_delta_delay_matrix_calculation_method": ["dijkstra"],
Expand Down