55from utils import generate_exclusion_list
66
77TORCHVISION_VERSION_DICT = {
8+ '1.9.1' : '0.10.1' ,
9+ '1.10.1' : '0.11.2' ,
10+ '1.11.0' : '0.12.0' ,
11+ '1.12.1' : '0.13.1' ,
812 '1.13.1' : '0.14.1' ,
913 '2.0.1' : '0.15.2' ,
1014 '2.1.1' : '0.16.1' ,
1317 '2.4.1' : '0.19.1' ,
1418 '2.5.1' : '0.20.1' ,
1519 '2.6.0' : '0.21.0' ,
16- '2.7.1' : '0.22.1' }
20+ '2.7.1' : '0.22.1' ,
21+ '2.8.0' : '0.23.0' ,
22+ '2.9.0' : '0.24.0' }
1723
1824BASE_YML_TEMPLATE = 'base.yml.template'
1925BASE_YML_REDUCED_TEMPLATE = 'base_reduced.yml.template'
26+ BASE_YML_PERIODIC_TEMPLATE = 'base_periodic.yml.template'
2027PYTEST_YML = 'pytest.yml'
2128EXAMPLES_PYTEST_YML = 'examples_pytest.yml'
2229EXAMPLES_LLM_PYTEST_YML = 'examples_llm_pytest.yml'
5966 'jit_disabled' ,])])
6067
6168# Data shared betwen Nox sessions and Github Actions, formatted as tuples
69+ ALL_SUPPORTED_PYTHON_VERSIONS = ('3.9' , '3.10' , '3.11' , '3.12' )
70+
71+ ALL_SUPPORTED_PYTORCH_VERSIONS = (
72+ '1.12.1' ,
73+ '1.13.1' ,
74+ '2.0.1' ,
75+ '2.1.1' ,
76+ '2.2.2' ,
77+ '2.3.1' ,
78+ '2.4.1' ,
79+ '2.5.1' ,
80+ '2.6.0' ,
81+ '2.7.1' ,
82+ '2.8.0' ,
83+ '2.9.0' )
84+ ALL_SUPPORTED_EXCLUSION_LIST = generate_exclusion_list ([
85+ [['python_version' , [
86+ '3.9' ,]], ['pytorch_version' , [
87+ '2.9.0' ,]]],
88+ [['python_version' , [
89+ '3.11' ,]], ['pytorch_version' , ['1.12.1' , '1.13.1' ]]],
90+ [['python_version' , [
91+ '3.12' ,]], ['pytorch_version' , ['1.12.1' , '1.13.1' , '2.0.1' , '2.1.1' ]]],])
92+
6293PYTHON_VERSIONS = ('3.10' , '3.11' )
6394
6495PYTORCH_VERSIONS = ('2.2.2' , '2.3.1' , '2.4.1' , '2.5.1' , '2.6.0' , '2.7.1' )
83114MATRIX = od ([('python_version' , list (PYTHON_VERSIONS )), ('pytorch_version' , list (PYTORCH_VERSIONS )),
84115 ('platform' , PLATFORM_LIST )])
85116
117+ MATRIX_ALL_SUPPORTED = od ([('python_version' , list (ALL_SUPPORTED_PYTHON_VERSIONS )),
118+ ('pytorch_version' , list (ALL_SUPPORTED_PYTORCH_VERSIONS )),
119+ ('platform' , PLATFORM_LIST )])
120+
86121EXAMPLES_LLM_PYTEST_PYTORCH_VERSIONS = ('2.6.0' , '2.7.1' )
87122EXAMPLES_LLM_PYTEST_MATRIX = od ([('python_version' , list (PYTHON_VERSIONS )),
88123 ('pytorch_version' , list (EXAMPLES_LLM_PYTEST_PYTORCH_VERSIONS )),
@@ -218,6 +253,13 @@ def gen_pytest_yml():
218253 PYTEST_STEP_LIST ,
219254 STRATEGY )
220255 pytest .gen_yaml (BASE_YML_REDUCED_TEMPLATE , 'reduced_' + PYTEST_YML )
256+ pytest = Action (
257+ 'Pytest' ,
258+ EXCLUDE_LIST + ALL_SUPPORTED_EXCLUSION_LIST ,
259+ combine_od_list ([MATRIX_ALL_SUPPORTED , PYTEST_MATRIX_EXTRA_REDUCED ]),
260+ PYTEST_STEP_LIST ,
261+ STRATEGY )
262+ pytest .gen_yaml (BASE_YML_PERIODIC_TEMPLATE , 'periodic_' + PYTEST_YML )
221263
222264
223265def gen_examples_pytest_yml ():
@@ -295,6 +337,13 @@ def gen_test_develop_install_yml():
295337 test_develop_install = Action (
296338 'Test develop install' , EXCLUDE_LIST , MATRIX_REDUCED , TEST_INSTALL_DEV_STEP_LIST , STRATEGY )
297339 test_develop_install .gen_yaml (BASE_YML_REDUCED_TEMPLATE , 'reduced_' + DEVELOP_INSTALL_YML )
340+ test_develop_install = Action (
341+ 'Test develop install' ,
342+ EXCLUDE_LIST + ALL_SUPPORTED_EXCLUSION_LIST ,
343+ MATRIX_ALL_SUPPORTED ,
344+ TEST_INSTALL_DEV_STEP_LIST ,
345+ STRATEGY )
346+ test_develop_install .gen_yaml (BASE_YML_PERIODIC_TEMPLATE , 'periodic_' + DEVELOP_INSTALL_YML )
298347
299348
300349def gen_test_brevitas_finn_integration ():
@@ -325,6 +374,13 @@ def gen_test_brevitas_ort_integration():
325374 ORT_INTEGRATION_STEP_LIST ,
326375 STRATEGY )
327376 test_ort_integration .gen_yaml (BASE_YML_REDUCED_TEMPLATE , 'reduced_' + ORT_INTEGRATION_YML )
377+ test_ort_integration = Action (
378+ 'Test Brevitas-ORT integration' ,
379+ EXCLUDE_LIST + ALL_SUPPORTED_EXCLUSION_LIST ,
380+ MATRIX_ALL_SUPPORTED ,
381+ ORT_INTEGRATION_STEP_LIST ,
382+ STRATEGY )
383+ test_ort_integration .gen_yaml (BASE_YML_PERIODIC_TEMPLATE , 'periodic_' + ORT_INTEGRATION_YML )
328384
329385
330386def gen_test_brevitas_notebook ():
@@ -342,6 +398,13 @@ def gen_test_brevitas_notebook():
342398 NOTEBOOK_STEP_LIST ,
343399 STRATEGY )
344400 tests_brevitas_notebooks .gen_yaml (BASE_YML_REDUCED_TEMPLATE , 'reduced_' + NOTEBOOK_YML )
401+ tests_brevitas_notebooks = Action (
402+ 'Test Notebook execution' ,
403+ EXCLUDE_LIST + ALL_SUPPORTED_EXCLUSION_LIST + NOTEBOOK_EXCLUDE_LIST ,
404+ MATRIX_ALL_SUPPORTED ,
405+ NOTEBOOK_STEP_LIST ,
406+ STRATEGY )
407+ tests_brevitas_notebooks .gen_yaml (BASE_YML_PERIODIC_TEMPLATE , 'periodic_' + NOTEBOOK_YML )
345408
346409
347410def gen_test_brevitas_end_to_end ():
@@ -359,6 +422,13 @@ def gen_test_brevitas_end_to_end():
359422 ENDTOEND_STEP_LIST ,
360423 STRATEGY )
361424 tests_brevitas_end_to_end .gen_yaml (BASE_YML_REDUCED_TEMPLATE , 'reduced_' + ENDTOEND_YML )
425+ tests_brevitas_end_to_end = Action (
426+ 'Test End-to-end flows' ,
427+ EXCLUDE_LIST + ALL_SUPPORTED_EXCLUSION_LIST + END_TO_END_EXCLUDE_LIST ,
428+ MATRIX_ALL_SUPPORTED ,
429+ ENDTOEND_STEP_LIST ,
430+ STRATEGY )
431+ tests_brevitas_end_to_end .gen_yaml (BASE_YML_PERIODIC_TEMPLATE , 'periodic_' + ENDTOEND_YML )
362432
363433
364434if __name__ == '__main__' :
0 commit comments