You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move CI to new testing image 0.6.3.base (Py3.12, Keras3) and keep the default pytest jobs on the Keras2 env.
Update generate_ci_yaml.py so that Keras3-only tests run in a separate Keras3 job. Other tests stay batched on Keras2 env. Keras3-only set for: test_keras_v3_api.py, test_hgq2_mha.py, test_einsum_dense.py, test_qeinsum.py.
Keras3 coverage is split out because many legacy tests still hit Keras3 API changes; hgq2 MHA remains incompatible with Keras3 (parallelization_factor kwarg).
Note: pinned pytest<9 in testing extras to avoid pytest 9 hard error on marks applied to fixtures (existing tests still use that pattern).
Future work: decide which tests to port to Keras3 vs. keep on Keras2 vs. run on both, and track hgq2/Keras3 compatibility for MHA.
Type of change
CI/config change
Bug fix
Documentation update
New feature
Breaking change
Other
Tests
CI: will run split Keras2/Keras3 jobs; no local test run.
Checklist
I have read the contributing guidelines.
I have commented my code, particularly in hard-to-understand areas.
I have made corresponding changes to the documentation.
My changes generate no new warnings.
I have installed and run pre-commit on the files I edited or added.
I have added tests that prove my fix is effective or that my feature works.
Moved test_multiout_onnx into the Keras3 env/jobs because it was failing in the old (TF 2.14) env due to onnx/onnxscript/onnx-ir dependency conflicts. The newer env has compatible versions.
Temporarily skipped test_hgq2_mha since the current hgq2 release rejects the parallelization_factor kwarg that hls4ml passes.
Pytest 9 turns the existing PytestRemovedIn9Warning: Marks applied to fixtures have no effect into a error (see https://docs.pytest.org/en/stable/deprecations.html#applying-a-mark-to-a-fixture-function). A few files have this issue (not all), e.g., test/pytest/test_clone_flatten.py line 29 has @pytest.mark.parametrize on a fixture, and it fails. We will need to move those marks to the tests (use indirect parametrization I think) before moving to pytest9.
@vloncar@marco66colombo I just ran into this issue when I recreated my test environment and ended up with pytest 9. #1417 makes the necessary changes, so if we decide to merge that, we could migrate the test environments to use pytest 9 as well.
About the qonnx version and compatibility, we will probably have to deal with it soon, but if things work as they are in this PR, I fine with it. Generally things look good to me, so if the tests all succeed, I'll resolve the coversations and approve the PR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Description
0.6.3.base(Py3.12, Keras3) and keep the default pytest jobs on the Keras2 env.generate_ci_yaml.pyso that Keras3-only tests run in a separate Keras3 job. Other tests stay batched on Keras2 env. Keras3-only set for:test_keras_v3_api.py,test_hgq2_mha.py,test_einsum_dense.py,test_qeinsum.py.parallelization_factorkwarg).Note: pinned
pytest<9in testing extras to avoid pytest 9 hard error on marks applied to fixtures (existing tests still use that pattern).Future work: decide which tests to port to Keras3 vs. keep on Keras2 vs. run on both, and track hgq2/Keras3 compatibility for MHA.
Type of change
Tests
Checklist
pre-commiton the files I edited or added.