Cirrus: Use VM instead of Docker for functional tests #7609
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.
Electrum seems to encounter bizarre network connectivity errors (in the form of failed syscalls) when run in a Docker container on Cirrus. This was causing the functional tests on Cirrus to fail, presumably because some of Electrum's Lightning-related socket syscalls were failing. Switching that task to run in a VM instead of a Docker container fixes the failure.
I am not sure whether this is a Cirrus-specific issue or if Electrum has these issues in Docker in general. There is also some nondeterministic behavior in the functional tests that can cause them to sometimes hang; that is out of scope for this PR, but the easy workaround is to restart the affected Cirrus task.
I also fixed the ElectrumX version at v1.15.0, since Electrum master is using the BSV ElectrumX repo (which obviously won't work), and the latest spesmilo/electrumx release has broken wheels.
Fixes #7593