summaryrefslogtreecommitdiff
path: root/.ci
diff options
context:
space:
mode:
authorIlya Maximets <i.maximets@ovn.org>2022-02-04 17:32:26 +0100
committerIlya Maximets <i.maximets@ovn.org>2022-02-04 21:58:45 +0100
commitd5453008c419512ba5a31dade5d394984b6161a1 (patch)
tree8194c8b30ef4ec0582a22eadb5e82c09fcc85bca /.ci
parentf81483ad57d2c64f024159afb8d6e859f7154fbb (diff)
downloadopenvswitch-d5453008c419512ba5a31dade5d394984b6161a1.tar.gz
ci: Install wheel before installing any other python packages.
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.maximets@ovn.org> Acked-by: Dumitru Ceara <dceara@redhat.com> [i.maximets: 2 tags below carried from v1, that had no >=3.0 change] Acked-by: Gaetan Rivet <grive@u256.net> Acked-by: Aaron Conole <aconole@redhat.com>
Diffstat (limited to '.ci')
-rwxr-xr-x.ci/linux-prepare.sh7
1 files changed, 6 insertions, 1 deletions
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