The randomised test suite does not to install the long-deprecated
`qiskit_ibmq_provider`, and doing so causes an old, incompatible version
of `qiskit-terra` to be installed, breaking the editable install.
On some OSes and configurations (usually Windows), there can be problems
when a binary attempts to one that is in use, especially itself. For
this reason, it is more reliable to use `python -m pip install ...` than
`pip install`. We have seen some CI failures on Windows due to `pip`
failing to update itself because of the direct-executable `pip install`
form.
Up-to-date Python packages should not require this step, however there
are several packages, especially those that are optional for Terra
functionality, that do not yet contain `pyproject.toml` files when
building them from source. In these cases, `pip` will begin erroring
out from version 23.1 if `wheel` is not installed.
This commit proactively ensures that the minimum build dependencies for
legacy Python packages is prepared and up-to-date before attempting
installations; this includes ensuring that these are updated _inside_
any created venvs as well as outside them.
In #8639 we added an environment variable to enable printing the rust
back traces when the rust code under test panics. However, that PR had a
small syntax error as it used the bash syntax for setting an env
variable and not the correct yaml syntax for github actions. This commit
corrects the oversight to fix the job configuration so that the jobs run
again.
* Pin setuptools in CI
The recently released setuptools 64.0.0 release introduced a regression
that prevents editable installs from working (see pypa/setuptools#3498).
This is blocking CI as we use editable installs to build and install
terra for testing. When there is an upstream release fixing this issue
we can remove the pins.
* Remove pip/setuptools/wheel manual install step
* Try venv instead of virtualenv
* Revert "Try venv instead of virtualenv"
This reverts commit 3ada819330.
* Revert "Remove pip/setuptools/wheel manual install step"
This reverts commit 831bc6e0db.
* Pin in constraints.txt too
* Lower version further
* Pin setuptools-rust too
* Set editable install to legacy mode via env var
* Set env variable correctly everywhere we build terra
* Add missing env variable setting for image tests