GHA is broken due to update to pip>=22.0.  This happens because now it
stops backtracking packages on build failure making it impossible to
find working combination of versions.

We're not able to build 'hacking', because 'wheel' is not installed
at that point in time.  Installing it separately to fix the issue,
so pip can find compatible versions of packages by backtracking.

Unfortunately, new version of backtracking leads to installation of
incompatible versions of flake8 and hacking.  Presumably because
current versions of hacking are not compatible with flake8>=4.0
and very old hacking-0.5.4 for some reason is considered suitable
while resolving dependencies.  So, we end up with flake8-4.0.1 and
hacking-0.5.4 installed.  And that doesn't work.  Limiting the version
of hacking to >=3.0 to have flake8-3.9.2 and hacking-3.0.0 installed
during backtracking.

Signed-off-by: Ilya Maximets <i.maxim...@ovn.org>
---
 .ci/linux-prepare.sh | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/.ci/linux-prepare.sh b/.ci/linux-prepare.sh
index b3addf404..1fe890846 100755
--- a/.ci/linux-prepare.sh
+++ b/.ci/linux-prepare.sh
@@ -20,8 +20,13 @@ cd sparse
 make -j4 HAVE_LLVM= HAVE_SQLITE= install
 cd ..
 
+# Installing wheel separately because it may be needed to build some
+# of the packages during dependency backtracking and pip >= 22.0 will
+# abort backtracking on build failures:
+#     https://github.com/pypa/pip/issues/10655
+pip3 install --disable-pip-version-check --user wheel
 pip3 install --disable-pip-version-check --user \
-    flake8 hacking sphinx wheel setuptools pyelftools
+    flake8 'hacking>=3.0' sphinx setuptools pyelftools
 pip3 install --user  'meson==0.49.2'
 
 if [ "$M32" ]; then
-- 
2.34.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to