Skip to content
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

Merged
merged 2 commits into from Sep 12, 2017

Conversation

@luke-jr
Copy link
Member

luke-jr commented Dec 1, 2015

Also removes now-unnecessary bc dependency from other builds.

@laanwj
Copy link
Member

laanwj commented Dec 1, 2015

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.

@jonasschnelli
Copy link
Member

jonasschnelli commented Dec 1, 2015

Concept ACK.
Agree with @laanw but IMO another build is more valuable then a speedy CI.

@laanwj
Copy link
Member

laanwj commented Dec 1, 2015

@jonasschnelli I wonder if there's a compromise, if we can combine the qt4 build with one of the existing builds

@jonasschnelli
Copy link
Member

jonasschnelli commented Dec 1, 2015

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.

@laanwj
Copy link
Member

laanwj commented Dec 1, 2015

Yeah. That may work.
Anyhow this is up to @theuni. Another option would be to combine this build with something else that we wanted to test already, so that it's not just added for qt4.

@luke-jr luke-jr force-pushed the luke-jr:travis_qt4 branch 5 times, most recently to 52166ff Dec 1, 2015
@luke-jr
Copy link
Member Author

luke-jr commented Dec 2, 2015

@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? :/

@luke-jr
Copy link
Member Author

luke-jr commented Dec 2, 2015

@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...

@laanwj
Copy link
Member

laanwj commented Dec 2, 2015

@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.

@MarcoFalke
Copy link
Member

MarcoFalke commented Dec 2, 2015

supposed to be built once and cached anyway.

Does travis cache between builds, I don't think so?

@laanwj
Copy link
Member

laanwj commented Dec 2, 2015

No, not between builds, I think. In most cases this would make no sense as they have different flags or even a different platform.

@theuni
Copy link
Member

theuni commented Dec 2, 2015

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.

@laanwj
Copy link
Member

laanwj commented Dec 3, 2015

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)

@luke-jr
Copy link
Member Author

luke-jr commented Jan 13, 2016

Once #7339 is merged, I suggest this can be extended to test --without-libevent as well.

@laanwj
Copy link
Member

laanwj commented Jan 16, 2016

Closing, this is part of #7148 now

@laanwj laanwj closed this Jan 16, 2016
@laanwj laanwj reopened this May 25, 2017
@laanwj
Copy link
Member

laanwj commented Jun 24, 2017

Needs rebase.

@jtimon
Copy link
Member

jtimon commented Jun 24, 2017

Concept ACK

@luke-jr luke-jr force-pushed the luke-jr:travis_qt4 branch from 52166ff Jul 5, 2017
@luke-jr
Copy link
Member Author

luke-jr commented Jul 5, 2017

Rebased, sorry for the delay

@TheBlueMatt
Copy link
Contributor

TheBlueMatt commented Jul 11, 2017

Concept ACK. Only concern is are we willing to add more jobs to travis? Can we pay them to make things go faster?

@MarcoFalke
Copy link
Member

MarcoFalke commented Jul 30, 2017

@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.

@MarcoFalke
Copy link
Member

MarcoFalke commented Jul 30, 2017

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"

This comment has been minimized.

Copy link
@MarcoFalke

MarcoFalke Jul 30, 2017

Member

No need for the bc package. Also, the configure option is called --with-gui=qt4.

This comment has been minimized.

Copy link
@luke-jr

luke-jr Aug 4, 2017

Author Member

Why is bc not needed here? Other builds need it...?

This comment has been minimized.

Copy link
@MarcoFalke

MarcoFalke Aug 4, 2017

Member

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.

This comment has been minimized.

Copy link
@MarcoFalke

MarcoFalke Aug 5, 2017

Member

if (( $( echo "$1 == $2" | bc ) == 0 ))

@luke-jr luke-jr changed the title [WIP] Travis: Test build against system Qt4 Travis: Test build against system Qt4 Jul 30, 2017
@luke-jr luke-jr force-pushed the luke-jr:travis_qt4 branch 2 times, most recently Aug 5, 2017
@luke-jr
Copy link
Member Author

luke-jr commented Aug 5, 2017

Fixed issues, rebased, and removed bc from the other builds too.

@luke-jr luke-jr force-pushed the luke-jr:travis_qt4 branch Aug 5, 2017
@luke-jr luke-jr force-pushed the luke-jr:travis_qt4 branch to 6d2aac8 Aug 5, 2017
@luke-jr luke-jr changed the title Travis: Test build against system Qt4 Travis: Test build against system libs (& Qt4) Aug 5, 2017
@luke-jr
Copy link
Member Author

luke-jr commented Aug 5, 2017

There, tests pass now, and it tests against more system dependencies as well.

@MarcoFalke
Copy link
Member

MarcoFalke commented Aug 8, 2017

utACK 6d2aac8

@MarcoFalke MarcoFalke merged commit 6d2aac8 into bitcoin:master Sep 12, 2017
1 check was pending
1 check was pending
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
MarcoFalke added a commit that referenced this pull request Sep 12, 2017
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

7 participants
You can’t perform that action at this time.