New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Travis: Test build against system libs (& Qt4) #7142
Conversation
Concept ACK on testing with qt4, but I'm not entirely happy about adding yet another build for this, Travis is slow enough these days. |
Concept ACK. |
@jonasschnelli I wonder if there's a compromise, if we can combine the qt4 build with one of the existing builds |
We only have one linux "full" Qt5 build "32bit + dash". The other linux QT5 build does not build the wallet. Maybe it would be worth to change one of the windows builds (Win32) to build with Qt4? On the other hand, Qt4 mostly makes sense on Linux, but even though, a Win32 Qt4 build should at least detect most Qt4 incompatibilities. |
Yeah. That may work. |
5adc49c
to
52166ff
Compare
@theuni Can't seem to get this to build with Qt - any ideas? Shouldn't --with-qt=qt4 configure fail if it has a problem? :/ |
@laanwj Oh, an idea if Travis time is a concern: make this build use only system libraries (no depends). That's probably better test coverage anyway... |
Not a bad idea because of the extra test coverage with old libraries, but I don't think that will save much time as the depends are supposed to be built once and cached anyway. |
Does travis cache between builds, I don't think so? |
No, not between builds, I think. In most cases this would make no sense as they have different flags or even a different platform. |
Right. To clarify, depends are cached and re-used for subsequent builds of the same config. Each config is an island though. Personally, I don't think this is worth adding another build for. If anything, I'd rather do as @laanwj said and combine it with another. |
Travis PR test is quite slow lately. I'd certainly prefer not to add another config. Testing more obscure platforms and library versions (like Qt4) may be better suited for something like a nightly extended build (e.g. #7148) |
Once #7339 is merged, I suggest this can be extended to test --without-libevent as well. |
Closing, this is part of #7148 now |
Needs rebase. |
Concept ACK |
Rebased, sorry for the delay |
Concept ACK. Only concern is are we willing to add more jobs to travis? Can we pay them to make things go faster? |
@TheBlueMatt According to apache, it is possible to increase the number of concurrent builds. (https://blogs.apache.org/infra/entry/apache_gains_additional_travis_ci) Though, I am slightly worried that this makes it harder for developers to fork the project and enable travis on their fork. After switching to the paid infrastructure, we might have faster machines or even extended timeouts for the build times. By forking the project, the new limits no longer apply and builds might time out or fail, which is a nuisance for new contributors. |
Is this still WIP or ready for review? |
.travis.yml
Outdated
@@ -25,6 +25,8 @@ env: | |||
- HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" | |||
# Win32 | |||
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" | |||
# Qt4 | |||
- HOST=x86_64-unknown-linux-gnu PACKAGES="bc python3-zmq qt4-dev-tools" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports --with-qt=qt4 CPPFLAGS=-DDEBUG_LOCKORDER" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for the bc
package. Also, the configure option is called --with-gui=qt4
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is bc
not needed here? Other builds need it...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't figure out why the "GNU bc arbitrary precision calculator language" is required. It is likely an artifact of the days where the functional tests were written in bash.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 38 in 2191eac
if (( $( echo "$1 == $2" | bc ) == 0 )) |
48b272f
to
e47d20c
Compare
Fixed issues, rebased, and removed |
There, tests pass now, and it tests against more system dependencies as well. |
utACK 6d2aac8 |
6d2aac8 Travis: Test build against system libs (& Qt4) (Luke Dashjr) 8d82e13 Travis: Remove bc tool from dependencies (Luke Dashjr) Pull request description: Also removes now-unnecessary `bc` dependency from other builds. Tree-SHA512: 815215994eeba0acf27774f57cf3a0bf77bbc22834d3242a227e0d90b5948a05f8b5ef846eb384e3ee575bec60880ae215ccc3882f13b60004a62549d3b3a28f
Also removes now-unnecessary
bc
dependency from other builds.