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 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
Contributor

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
Contributor

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 travis_qt4 branch 5 times, most recently from 5adc49c to 52166ff Compare December 2, 2015 00:21
@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.

@maflcko
Copy link
Member

maflcko 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
Contributor

jtimon commented Jun 24, 2017

Concept ACK

@luke-jr
Copy link
Member Author

luke-jr commented Jul 5, 2017

Rebased, sorry for the delay

@TheBlueMatt
Copy link
Contributor

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

@maflcko
Copy link
Member

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

@maflcko
Copy link
Member

maflcko 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"
Copy link
Member

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.

Copy link
Member Author

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

Copy link
Member

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 travis_qt4 branch 2 times, most recently from 48b272f to e47d20c Compare August 5, 2017 09:52
@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 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.

@maflcko
Copy link
Member

maflcko commented Aug 8, 2017

utACK 6d2aac8

@maflcko maflcko merged commit 6d2aac8 into bitcoin:master Sep 12, 2017
maflcko pushed 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
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants