Message ID | 20180116134217.8725-14-berrange@redhat.com |
---|---|
State | New |
Headers | show |
Series | Support building with py2 or py3 | expand |
Hi Daniel, On 01/16/2018 10:42 AM, Daniel P. Berrange wrote: > Currently travis declares ancient python 2.4 is desired. Update that to > 2.6 which is the oldest version any targetted distros still needs. If we > just list a python 3 version at the top level this will double the > number of travis jobs we run which is unreasonable. > > So arbitrarily pick the clang test matrix entries to build with python > 3.0 and 3.6, to extend coverage of python versions, without increasing > job count or build time. I'm seeing 3.0 builds taking the double time than 3.6 builds (and triggering the 50min timeout), any idea what could cause this huge difference? > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > .travis.yml | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index f583839755..708c886017 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -1,7 +1,7 @@ > sudo: false > language: c > python: > - - "2.4" > + - "2.6" > compiler: > - gcc > cache: ccache > @@ -115,15 +115,17 @@ matrix: > - sudo apt-get build-dep -qq qemu > - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ > - git submodule update --init --recursive > - # Trusty System build with latest stable clang > + # Trusty System build with latest stable clang & python 3.0 > - sudo: required > addons: > dist: trusty > language: generic > compiler: none > + python: > + - "3.0" > env: > - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 > - - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9" > + - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" > before_install: > - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - > - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' > @@ -134,15 +136,17 @@ matrix: > - git submodule update --init --recursive > before_script: > - ./configure ${CONFIG} || cat config.log > - # Trusty Linux User build with latest stable clang > + # Trusty Linux User build with latest stable clang & python 3.6 > - sudo: required > addons: > dist: trusty > language: generic > compiler: none > + python: > + - "3.6" > env: > - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 > - - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9" > + - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" > before_install: > - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - > - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' >
Daniel P. Berrange <berrange@redhat.com> writes: > Currently travis declares ancient python 2.4 is desired. Update that to > 2.6 which is the oldest version any targetted distros still needs. If we > just list a python 3 version at the top level this will double the > number of travis jobs we run which is unreasonable. > > So arbitrarily pick the clang test matrix entries to build with python > 3.0 and 3.6, to extend coverage of python versions, without increasing > job count or build time. I'm sorry I didn't get to this when you posted it. However I'd like to know what the minimum build configuration we can get which will still ensure that the python is exercised? Would a TARGET_LIST="x86-64-softmmu" be good enough? > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > .travis.yml | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index f583839755..708c886017 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -1,7 +1,7 @@ > sudo: false > language: c > python: > - - "2.4" > + - "2.6" > compiler: > - gcc > cache: ccache > @@ -115,15 +115,17 @@ matrix: > - sudo apt-get build-dep -qq qemu > - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ > - git submodule update --init --recursive > - # Trusty System build with latest stable clang > + # Trusty System build with latest stable clang & python 3.0 > - sudo: required > addons: > dist: trusty > language: generic > compiler: none > + python: > + - "3.0" > env: > - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 > - - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9" > + - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" > before_install: > - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - > - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' > @@ -134,15 +136,17 @@ matrix: > - git submodule update --init --recursive > before_script: > - ./configure ${CONFIG} || cat config.log > - # Trusty Linux User build with latest stable clang > + # Trusty Linux User build with latest stable clang & python 3.6 > - sudo: required > addons: > dist: trusty > language: generic > compiler: none > + python: > + - "3.6" > env: > - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 > - - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9" > + - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" > before_install: > - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - > - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' -- Alex Bennée
On Thu, May 31, 2018 at 01:09:37PM -0300, Philippe Mathieu-Daudé wrote: > Hi Daniel, > > On 01/16/2018 10:42 AM, Daniel P. Berrange wrote: > > Currently travis declares ancient python 2.4 is desired. Update that to > > 2.6 which is the oldest version any targetted distros still needs. If we > > just list a python 3 version at the top level this will double the > > number of travis jobs we run which is unreasonable. > > > > So arbitrarily pick the clang test matrix entries to build with python > > 3.0 and 3.6, to extend coverage of python versions, without increasing > > job count or build time. > > I'm seeing 3.0 builds taking the double time than 3.6 builds (and > triggering the 50min timeout), any idea what could cause this huge > difference? Ouch, that's real bad. I don't have any bright ideas, other than fact that its a .0 release, so perhaps it was just really bad. Wonder at which 3.x release it got "fast" > > > > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > > --- > > .travis.yml | 14 +++++++++----- > > 1 file changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/.travis.yml b/.travis.yml > > index f583839755..708c886017 100644 > > --- a/.travis.yml > > +++ b/.travis.yml > > @@ -1,7 +1,7 @@ > > sudo: false > > language: c > > python: > > - - "2.4" > > + - "2.6" > > compiler: > > - gcc > > cache: ccache > > @@ -115,15 +115,17 @@ matrix: > > - sudo apt-get build-dep -qq qemu > > - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ > > - git submodule update --init --recursive > > - # Trusty System build with latest stable clang > > + # Trusty System build with latest stable clang & python 3.0 > > - sudo: required > > addons: > > dist: trusty > > language: generic > > compiler: none > > + python: > > + - "3.0" > > env: > > - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 > > - - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9" > > + - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" > > before_install: > > - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - > > - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' > > @@ -134,15 +136,17 @@ matrix: > > - git submodule update --init --recursive > > before_script: > > - ./configure ${CONFIG} || cat config.log > > - # Trusty Linux User build with latest stable clang > > + # Trusty Linux User build with latest stable clang & python 3.6 > > - sudo: required > > addons: > > dist: trusty > > language: generic > > compiler: none > > + python: > > + - "3.6" > > env: > > - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 > > - - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9" > > + - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" > > before_install: > > - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - > > - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' > > Regards, Daniel
On Thu, May 31, 2018 at 09:17:30PM +0100, Alex Bennée wrote: > > Daniel P. Berrange <berrange@redhat.com> writes: > > > Currently travis declares ancient python 2.4 is desired. Update that to > > 2.6 which is the oldest version any targetted distros still needs. If we > > just list a python 3 version at the top level this will double the > > number of travis jobs we run which is unreasonable. > > > > So arbitrarily pick the clang test matrix entries to build with python > > 3.0 and 3.6, to extend coverage of python versions, without increasing > > job count or build time. > > I'm sorry I didn't get to this when you posted it. However I'd like to > know what the minimum build configuration we can get which will still > ensure that the python is exercised? Would a > TARGET_LIST="x86-64-softmmu" be good enough? Most important stuff to exercise is the QAPI code generator and the trace tool backends, as those the main python pieces users will hit during build. So yes, it is sufficient to just have 1 target arch Regards, Daniel
diff --git a/.travis.yml b/.travis.yml index f583839755..708c886017 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ sudo: false language: c python: - - "2.4" + - "2.6" compiler: - gcc cache: ccache @@ -115,15 +115,17 @@ matrix: - sudo apt-get build-dep -qq qemu - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ - git submodule update --init --recursive - # Trusty System build with latest stable clang + # Trusty System build with latest stable clang & python 3.0 - sudo: required addons: dist: trusty language: generic compiler: none + python: + - "3.0" env: - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 - - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9" + - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" before_install: - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' @@ -134,15 +136,17 @@ matrix: - git submodule update --init --recursive before_script: - ./configure ${CONFIG} || cat config.log - # Trusty Linux User build with latest stable clang + # Trusty Linux User build with latest stable clang & python 3.6 - sudo: required addons: dist: trusty language: generic compiler: none + python: + - "3.6" env: - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 - - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9" + - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3" before_install: - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
Currently travis declares ancient python 2.4 is desired. Update that to 2.6 which is the oldest version any targetted distros still needs. If we just list a python 3 version at the top level this will double the number of travis jobs we run which is unreasonable. So arbitrarily pick the clang test matrix entries to build with python 3.0 and 3.6, to extend coverage of python versions, without increasing job count or build time. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- .travis.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)