.travis.yml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 13 +++++++------ 2 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 .travis.yml
Enable builds on several python versions, and against several versions
of libvirt. Ideally we would build all the way back to 0.9.11, since
that is the min supported libvirt for python binding. It is not possible
to build this old libvirt version on modern distros though, so using
1.2.0 as the oldest for now.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
.travis.yml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
setup.py | 13 +++++++------
2 files changed, 62 insertions(+), 6 deletions(-)
create mode 100644 .travis.yml
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..203d91d
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,55 @@
+language: python
+os: linux
+
+python:
+ - 2.6
+ - 2.7
+ - 3.2
+ - 3.6
+
+env:
+ - LIBVIRT=1.2.0 EXT=gz
+ - LIBVIRT=2.0.0 EXT=xz
+ - LIBVIRT=3.6.0 EXT=xz
+
+install:
+ - sudo apt-get -qqy build-dep libvirt libxml2-dev
+ - sudo apt-get -qqy install curl
+ - pip install lxml nose
+ - curl -O -s https://libvirt.org/sources/libvirt-${LIBVIRT}.tar.${EXT}
+ - tar -xf libvirt-${LIBVIRT}.tar.${EXT}
+ - pushd libvirt-${LIBVIRT}
+ - |
+ ./configure --prefix=`pwd`/../libvirt-vroot \
+ --without-libvirtd \
+ --without-esx \
+ --without-vbox \
+ --without-libxl \
+ --without-xen \
+ --without-qemu \
+ --without-lxc \
+ --without-hyperv \
+ --without-macvtap \
+ --disable-werror
+ - make
+ - make install
+ - popd
+
+script:
+ - LD_LIBRARY_PATH=`pwd`/libvirt-vroot/lib PKG_CONFIG_PATH=`pwd`/libvirt-vroot/lib/pkgconfig python setup.py build sdist test
+
+notifications:
+ irc:
+ # The channel name "irc.oftc.net#virt" is encrypted against libvirt/libvirt
+ # to prevent IRC notifications from github forks. This was created using:
+ # $ travis encrypt -r "libvirt/libvirt" "irc.oftc.net#virt"
+ channels:
+ - secure: "K4JrbRpz4CHtZ1vjthVwseT8K6INJgjtZethP4DN1jOpm1uC5esbe1Q1qJOfB92JbMcdM6DNjrVg5eyTJj35aD9UoGpTUcPMsYrhlTPHZtfAuLv/at2eB2XRmETlhiXHgI6LizX6gTiwGW5ZHYwGChzumWxu141d/L9harNh9R6z8XH9uJpkNdOAIsJcwS56XGZ74CKsrqF5dK6ZYPIyP+i7gPO67gEWo0oD6TiJKR908fw03ZiXarIFmLRlk4MbHywLRF0byfD0gg2Ht/tDX73+59QXjLKo/GvQecwoU8UuuFRJlyhUfvm1JYYydnS+O7fPJvI0FWlYFY7i76aeVqkARHRpHknFueT6kZADOmiyMLuvdr+gWVuyIdX33vVJtDm4T1OtNMG/wy9EUZUU1vEu+gHhaRkf/O0GkMj0Hac4I14BGyd/Wdhto6zWojFiMEG/HRHey6l15MBQu49QyW/YMyWi/LeBWXuCUgwQ/ij5EPgsn36OxCafV9zMz0oXZskwX6rJGQRZsdgdwYvt2hP3muLaJbwVyT0bGlOJDJieOa/LVKOXPcQm26aGfyMuLgm0//E9v++6W1IDKh6+BNsfTKAwTxlAvJyz6Bns3XuUJUxUz2+uQVSS6S3EwEZUJ+yHDd2F4sX5OP1L7TWIOWFbI4vQK90ZZ7/jgiYQbwo="
+ on_success: change
+ on_failure: always
+ email:
+ # The list name 'libvirt-ci@redhat.com" is encrypted against libvirt/libvirt
+ # to prevent IRC notifications from github forks. This was created using:
+ # $ travis encrypt -r "libvirt/libvirt" "libvirt-ci@redhat.com"
+ recipients:
+ - secure: "l6TTLcEcXdDEldHE2NgSIdt6a0k99ug3hp2W4IlnqJWJfIk/87nysJtLNrA0va20pPApCa3iJfMq4PUmBGiIIimTN0/KgC7tONDraogXhCbgfZp9Ejy/57TXxygSp4oum2kDw/c5uLnfrFV/xcn1fk6hvH6CD3bVcJPOQ/mc5FSKLqN5UzwqNnMpMTtG9qxCwfXJ/Bdm9fbURfezC7djcYRwRfPUe3TSD0L76G2HnQnSy4RqR3KFSjQHFPnSGM5IbsokbOaFKCyp/pHOt7QomQaY7YAPX/K9O+eP+hkkp6DGADkkumHctcgnMoyxpahf7pNKw9S8JYabH2NwREIq8whbp9Mo+R4rYO2ozroLWHaboYs/pBLrs606ivTwOmWGRCpJdCmmKTiZNyo6MRrwiOM6x+2YHUTMOa2kVheRNzaaxMFzHPW2kZ20bujPhfViJsRYj9flo5GJXJLyjluGZK5RjrguNJeIh8VJNBiSHW37uj7drmNBsqMad+65mf/4xtGITBqhz5Spx5R9UMZbuiJvcm8GasJMMdQ+bCfuWYjF2nZvSvFEr54Ii1YrDp6FKQ8YG1aD1/D8Z0/b3pLd/8Pn+M9yIWyO/Sto5TbSUjxBTmTStuDmtYE5uu1miYebvgJH5MovWPBegYgrfI417kPJgCG3q/R0YcZFMKFfQyo="
diff --git a/setup.py b/setup.py
index f33ff1a..cc3a09a 100755
--- a/setup.py
+++ b/setup.py
@@ -290,15 +290,16 @@ class my_test(Command):
'lib' + plat_specifier)
def find_nosetests_path(self):
- paths = [
- "/usr/bin/nosetests-%d.%d" % (sys.version_info[0],
+ binaries = [
+ "nosetests-%d.%d" % (sys.version_info[0],
sys.version_info[1]),
- "/usr/bin/nosetests-%d" % (sys.version_info[0]),
- "/usr/bin/nosetests",
+ "nosetests-%d" % (sys.version_info[0]),
+ "nosetests",
]
- for path in paths:
- if os.path.exists(path):
+ for binary in binaries:
+ path = distutils.spawn.find_executable(binary)
+ if path != None:
return path
raise Exception("Cannot find any nosetests binary")
--
2.13.5
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Sep 19, 2017 at 12:56:55PM +0100, Daniel P. Berrange wrote: >Enable builds on several python versions, and against several versions >of libvirt. Ideally we would build all the way back to 0.9.11, since >that is the min supported libvirt for python binding. It is not possible >to build this old libvirt version on modern distros though, so using >1.2.0 as the oldest for now. > >Signed-off-by: Daniel P. Berrange <berrange@redhat.com> >--- > .travis.yml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > setup.py | 13 +++++++------ > 2 files changed, 62 insertions(+), 6 deletions(-) > create mode 100644 .travis.yml > >diff --git a/.travis.yml b/.travis.yml >new file mode 100644 >index 0000000..203d91d >--- /dev/null >+++ b/.travis.yml >@@ -0,0 +1,55 @@ >+language: python >+os: linux >+ >+python: >+ - 2.6 >+ - 2.7 >+ - 3.2 >+ - 3.6 >+ >+env: >+ - LIBVIRT=1.2.0 EXT=gz >+ - LIBVIRT=2.0.0 EXT=xz >+ - LIBVIRT=3.6.0 EXT=xz Spacing should be same on all lines. >+ >+install: >+ - sudo apt-get -qqy build-dep libvirt libxml2-dev >+ - sudo apt-get -qqy install curl >+ - pip install lxml nose It'd be nice to have pip install -r requirements.txt here (and that file added, of course). >+ - curl -O -s https://libvirt.org/sources/libvirt-${LIBVIRT}.tar.${EXT} >+ - tar -xf libvirt-${LIBVIRT}.tar.${EXT} >+ - pushd libvirt-${LIBVIRT} >+ - | >+ ./configure --prefix=`pwd`/../libvirt-vroot \ >+ --without-libvirtd \ >+ --without-esx \ >+ --without-vbox \ >+ --without-libxl \ >+ --without-xen \ >+ --without-qemu \ Will this prevent building the qemu-specific APIs? I'm too lazy to check it out and I think there is no harm in seeing that after this is pushed, though =) >+ --without-lxc \ >+ --without-hyperv \ >+ --without-macvtap \ >+ --disable-werror >+ - make >+ - make install >+ - popd >+ >+script: >+ - LD_LIBRARY_PATH=`pwd`/libvirt-vroot/lib PKG_CONFIG_PATH=`pwd`/libvirt-vroot/lib/pkgconfig python setup.py build sdist test >+ >+notifications: >+ irc: >+ # The channel name "irc.oftc.net#virt" is encrypted against libvirt/libvirt s_libvirt/libvirt_libvirt/libvirt-python_ >+ # to prevent IRC notifications from github forks. This was created using: >+ # $ travis encrypt -r "libvirt/libvirt" "irc.oftc.net#virt" same here >+ channels: >+ - secure: "K4JrbRpz4CHtZ1vjthVwseT8K6INJgjtZethP4DN1jOpm1uC5esbe1Q1qJOfB92JbMcdM6DNjrVg5eyTJj35aD9UoGpTUcPMsYrhlTPHZtfAuLv/at2eB2XRmETlhiXHgI6LizX6gTiwGW5ZHYwGChzumWxu141d/L9harNh9R6z8XH9uJpkNdOAIsJcwS56XGZ74CKsrqF5dK6ZYPIyP+i7gPO67gEWo0oD6TiJKR908fw03ZiXarIFmLRlk4MbHywLRF0byfD0gg2Ht/tDX73+59QXjLKo/GvQecwoU8UuuFRJlyhUfvm1JYYydnS+O7fPJvI0FWlYFY7i76aeVqkARHRpHknFueT6kZADOmiyMLuvdr+gWVuyIdX33vVJtDm4T1OtNMG/wy9EUZUU1vEu+gHhaRkf/O0GkMj0Hac4I14BGyd/Wdhto6zWojFiMEG/HRHey6l15MBQu49QyW/YMyWi/LeBWXuCUgwQ/ij5EPgsn36OxCafV9zMz0oXZskwX6rJGQRZsdgdwYvt2hP3muLaJbwVyT0bGlOJDJieOa/LVKOXPcQm26aGfyMuLgm0//E9v++6W1IDKh6+BNsfTKAwTxlAvJyz6Bns3XuUJUxUz2+uQVSS6S3EwEZUJ+yHDd2F4sX5OP1L7TWIOWFbI4vQK90ZZ7/jgiYQbwo=" >+ on_success: change >+ on_failure: always >+ email: >+ # The list name 'libvirt-ci@redhat.com" is encrypted against libvirt/libvirt and here >+ # to prevent IRC notifications from github forks. This was created using: >+ # $ travis encrypt -r "libvirt/libvirt" "libvirt-ci@redhat.com" well, you know the drill... >+ recipients: >+ - secure: "l6TTLcEcXdDEldHE2NgSIdt6a0k99ug3hp2W4IlnqJWJfIk/87nysJtLNrA0va20pPApCa3iJfMq4PUmBGiIIimTN0/KgC7tONDraogXhCbgfZp9Ejy/57TXxygSp4oum2kDw/c5uLnfrFV/xcn1fk6hvH6CD3bVcJPOQ/mc5FSKLqN5UzwqNnMpMTtG9qxCwfXJ/Bdm9fbURfezC7djcYRwRfPUe3TSD0L76G2HnQnSy4RqR3KFSjQHFPnSGM5IbsokbOaFKCyp/pHOt7QomQaY7YAPX/K9O+eP+hkkp6DGADkkumHctcgnMoyxpahf7pNKw9S8JYabH2NwREIq8whbp9Mo+R4rYO2ozroLWHaboYs/pBLrs606ivTwOmWGRCpJdCmmKTiZNyo6MRrwiOM6x+2YHUTMOa2kVheRNzaaxMFzHPW2kZ20bujPhfViJsRYj9flo5GJXJLyjluGZK5RjrguNJeIh8VJNBiSHW37uj7drmNBsqMad+65mf/4xtGITBqhz5Spx5R9UMZbuiJvcm8GasJMMdQ+bCfuWYjF2nZvSvFEr54Ii1YrDp6FKQ8YG1aD1/D8Z0/b3pLd/8Pn+M9yIWyO/Sto5TbSUjxBTmTStuDmtYE5uu1miYebvgJH5MovWPBegYgrfI417kPJgCG3q/R0YcZFMKFfQyo=" Both this and the one above should be regenerated, of course. Unless they were, I don't know how to check those. >diff --git a/setup.py b/setup.py >index f33ff1a..cc3a09a 100755 >--- a/setup.py >+++ b/setup.py >@@ -290,15 +290,16 @@ class my_test(Command): > 'lib' + plat_specifier) > > def find_nosetests_path(self): >- paths = [ >- "/usr/bin/nosetests-%d.%d" % (sys.version_info[0], >+ binaries = [ >+ "nosetests-%d.%d" % (sys.version_info[0], > sys.version_info[1]), indentation >- "/usr/bin/nosetests-%d" % (sys.version_info[0]), >- "/usr/bin/nosetests", >+ "nosetests-%d" % (sys.version_info[0]), >+ "nosetests", > ] > >- for path in paths: >- if os.path.exists(path): >+ for binary in binaries: >+ path = distutils.spawn.find_executable(binary) >+ if path != None: Either `if path` or `if path is not None`, you should not compare to None with `!=` IIRC. With above comments addressed: Reviewed-by: Martin Kletzander <mkletzan@redhat.com> > return path > > raise Exception("Cannot find any nosetests binary") >-- >2.13.5 > >-- >libvir-list mailing list >libvir-list@redhat.com >https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Sep 19, 2017 at 03:06:58PM +0200, Martin Kletzander wrote: > On Tue, Sep 19, 2017 at 12:56:55PM +0100, Daniel P. Berrange wrote: > > Enable builds on several python versions, and against several versions > > of libvirt. Ideally we would build all the way back to 0.9.11, since > > that is the min supported libvirt for python binding. It is not possible > > to build this old libvirt version on modern distros though, so using > > 1.2.0 as the oldest for now. > > > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > > --- > > .travis.yml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > setup.py | 13 +++++++------ > > 2 files changed, 62 insertions(+), 6 deletions(-) > > create mode 100644 .travis.yml > > > > diff --git a/.travis.yml b/.travis.yml > > new file mode 100644 > > index 0000000..203d91d > > --- /dev/null > > +++ b/.travis.yml > > @@ -0,0 +1,55 @@ > > +language: python > > +os: linux > > + > > +python: > > + - 2.6 > > + - 2.7 > > + - 3.2 > > + - 3.6 > > + > > +env: > > + - LIBVIRT=1.2.0 EXT=gz > > + - LIBVIRT=2.0.0 EXT=xz > > + - LIBVIRT=3.6.0 EXT=xz > > Spacing should be same on all lines. > > > + > > +install: > > + - sudo apt-get -qqy build-dep libvirt libxml2-dev > > + - sudo apt-get -qqy install curl > > + - pip install lxml nose > > It'd be nice to have pip install -r requirements.txt here (and that file > added, of course). > > > + - curl -O -s https://libvirt.org/sources/libvirt-${LIBVIRT}.tar.${EXT} > > + - tar -xf libvirt-${LIBVIRT}.tar.${EXT} > > + - pushd libvirt-${LIBVIRT} > > + - | > > + ./configure --prefix=`pwd`/../libvirt-vroot \ > > + --without-libvirtd \ > > + --without-esx \ > > + --without-vbox \ > > + --without-libxl \ > > + --without-xen \ > > + --without-qemu \ > > Will this prevent building the qemu-specific APIs? I'm too lazy to > check it out and I think there is no harm in seeing that after this is > pushed, though =) No, we don't ever disable the public APIs > Both this and the one above should be regenerated, of course. Unless > they were, I don't know how to check those. The encrypted data was correct - only the comments were wrong Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.