qiskit-community / qiskit-metal

Quantum Hardware Design. Open-source project for engineers and scientists to design superconducting quantum devices with ease.
https://qiskit-community.github.io/qiskit-metal/
Apache License 2.0
270 stars 201 forks source link

[WIP] Fix broken CI #977

Closed arnaucasau closed 7 months ago

arnaucasau commented 8 months ago

Summary

This PR fixes the broken CI.

Summary of the changes:

Details

The main problem with the CI was that tox wasn't able to set up the test environment. If we look at the errors, tox finds an error when calling the prepare_metadata_for_build_editable function. We had that problem because we were pinning tox to use an old version, and the pyproject-api version that we are using (pyproject-api==1.6.1) is not able to work with old versions of tox. The solution for this first problem was to change the CI to use a more recent version of tox. This update forces us to also use a more recent version of virtualenv because of the tox requirements.

Useful links to find more information about the problem:

  1. https://www.github.com/tox-dev/tox/issues/3110
  2. https://www.github.com/pypa/setuptools/issues/4031

Once we have the CI working again, we can discover another error, but this time with two tests in test_qlibrary_3_options.py. The two tests were also fixed and extended to validate two more attributes of the default options of transmon_cross in transmon_cross.py that weren't taken into account before.

The last change is regarding the lint test for the files BridgeFreeJJ.py and test_qlibrary_3_options.py.

arnaucasau commented 7 months ago

Hello @zlatko-minev! The CI is now working, but I have a question about test_qlibrary_3_options.py. To make the CI work, I changed two tests (line 291, line 490, and lines 499-502) because they were expecting fewer default options of transmon_concentric and transmon_cross than the ones they actually have. Was that intentional? In that case, I'll change them back! Thank you in advance!