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

Integrate Travis-CI #2

Closed
7 of 12 tasks
luzpaz opened this issue May 20, 2015 · 31 comments
Closed
7 of 12 tasks

Integrate Travis-CI #2

luzpaz opened this issue May 20, 2015 · 31 comments

Comments

@luzpaz
Copy link
Collaborator

luzpaz commented May 20, 2015

Changelog

Integrate different tests

Mirrored issue at scribusproject/scribus#3
Copied from original issue: scribusproject/scribus#3

@khaledhosny
Copy link

I gave it a try here https://github.com/khaledhosny/ScribusCTL/commits/travis-ci, but Travis CI uses Ubuntu 12.04 which is rather ancient and the build is now breaking on a too old zlib package and I couldn’t find a PPA providing a new one, and I doubt this will be the only breakage.

@luzpaz
Copy link
Collaborator Author

luzpaz commented May 24, 2015

@khaledhosny nice work!

Travis CI uses Ubuntu 12.04 which is rather ancient

This is rather depressing.
Perhaps we can find another way to get scribus tested in a more up-to-date CI system. Christoph mentioned asking Plinnel and I will do so. As for now..perhaps Travis will just serve to build on OSX which should use a more current OSX for testing (OS X 10.9.5). I have a homebrew tap formula that I've been working on that compiles from trunk. Usually it works very well but at this very moment it's broken. Fix is in progress.

@khaledhosny
Copy link

Travis does not accept new projects for Mac OS X building anymore, it was a beta feature or some such. Only Linux is supported, but using that ancient Ubuntu. We can probably get this to work if we can make the Scribus PPA to support 12.04, but this will require backporting a few packages and I don’t have an Ubuntu installation right now.

@luzpaz
Copy link
Collaborator Author

luzpaz commented May 24, 2015

@khaledhosny can you provide a link to your failing build ?

@khaledhosny
Copy link

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jun 2, 2015

There is also Appveyor for windows. Thanks to @ebraminio for the heads up on that: khaledhosny/ots#67

moceap added a commit to moceap/ScribusCTL that referenced this issue Jun 23, 2015
@luzpaz
Copy link
Collaborator Author

luzpaz commented Jun 29, 2015

Here is musescore .travis.yml file: https://github.com/musescore/MuseScore/blob/master/.travis.yml

@khaledhosny
Copy link

Interesting…

@QuLogic
Copy link

QuLogic commented Jul 8, 2015

Halfway there.

I had to make a few changes: a) patch ZipPrivate to work with older zlib (it's pretty simple); b) switch to a newer Qt PPA as it doesn't build with 5.0.z; c) switch to a newer compiler (because again issues compiling). I enabled parallel building because serial builds takes almost 50 minutes (the limit on Travis). I tried several # of processors but since Travis has limited CPU and RAM, anything above 8 or so has a flaky speedup.

So I guess the last step is to find a PPA for a newer version of clang if you want to be building with it.

@QuLogic
Copy link

QuLogic commented Jul 8, 2015

It doesn't look like using newer clang works. It seems to be a bug in OpenSceneGraph, and I've yet to find a PPA for it.

Since OpenSceneGraph is optional, I disabled it for clang only, and now the build passes.

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 9, 2015

Epic @QuLogic !
Yea OpenSceneGraph is very low priority at this point.

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 9, 2015

@QuLogic, please make a PR to add that .travis.yml file to the repo

@QuLogic
Copy link

QuLogic commented Jul 9, 2015

Clang seems to get killed pretty often. I'm not sure if it's OOMing or is just buggy. I even tried reducing the parallelism to avoid it (it's only 3 in the mentioned build).

@QuLogic QuLogic mentioned this issue Jul 9, 2015
@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 9, 2015

hmm.. it doesn't happen each time you trigger a build though, right ?

@QuLogic
Copy link

QuLogic commented Jul 9, 2015

With NPROC=3, it's failed once and passed once. Let's see how the build in the PR goes.

@QuLogic
Copy link

QuLogic commented Jul 9, 2015

Actually, if you count the build in the fork of the main project, then it's passed twice.

@QuLogic
Copy link

QuLogic commented Jul 9, 2015

Annnd, it just failed on yours, so it's 50/50. 😞

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 9, 2015

What do you mean by:
It would be nice to switch to the container based infrastructure where limits are a little higher, but most Scribus dependencies are not whitelisted yet.
What's a container based infrastructure mean? and how do you know if dependencies are whitelisted or not?

@QuLogic
Copy link

QuLogic commented Jul 9, 2015

The Travis container-based infrastructure is faster (for booting, officially, but also for running). But you can't use sudo or add apt repositories. Packages can only be installed from the whitelist. That's what MuseScore uses as mentioned above.

And it looks like even building with 2 processors can fail. 😢

Building with clang in serial only takes 37 minutes and that leaves a bit of room under the 50 minute limit, but it's kind of annoying.

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 9, 2015

I see. Thanks for the explanation.

Well.. development will be slow with ScribusCTL for the time being. I say this because Andreas told me that he will have time this upcoming weekend to work on it. So we aren't in a hurry because he calls the shots. My opinion: it's ok to not parallelize the build and even give up the gcc build and stick to clang.

@QuLogic
Copy link

QuLogic commented Jul 9, 2015

give up the gcc build and stick to clang.

No, you have it backwards; gcc works in parallel, and clang only works (consistently) in serial.

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 9, 2015

@QuLogic @khaledhosny good news, TravisCI is rolling out an invite by request the possibility to build on Ubuntu 14.04. https://twitter.com/travisci/status/619027935857627138

@QuLogic
Copy link

QuLogic commented Jul 10, 2015

It looks like that will negate the need for patching OpenSceneGraph and zlib stuff, and also probably won't need a PPA for gcc/g++ and cmake.

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 10, 2015

From the Travis CI folks after enabling Ubuntu 14.04

You'll need to add dist: trusty to each repository's .travis.yml file and push that change for builds to run on the Trusty builders.

Please note that our current Trusty images are more minimal than the precise images and so not all languages and services are installed by default. You may need to do some additional manual setup to get your build environment working. But we're working to get our Trusty images up to parity with the precise ones.

Thanks

@QuLogic
Copy link

QuLogic commented Jul 10, 2015

Does that apply to forks as well, or will I have to work in the PR here?

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 10, 2015

Guestimating, that if it's in your fork, then you need to request to join the beta testing 14.04 program so they can enable your account.

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jul 16, 2015

@QuLogic the devs tell me that we don't need webkit anymore, in regards to the libqt5webkit5-dev in .travis.yml file

@luzpaz
Copy link
Collaborator Author

luzpaz commented Aug 6, 2015

Good news.. multi-os now supported https://twitter.com/travisci/status/629051392217477120
Just shot an email to Travis-CI to enable on these repos. Soon we can trigger builds for OSX as well. Sweet!

@luzpaz
Copy link
Collaborator Author

luzpaz commented Dec 5, 2015

@andreas-vox you can go ahead and copy the SVN copy of .travis.yml in to this repo. It's been updated and also includes MacOSX test build

@luzpaz
Copy link
Collaborator Author

luzpaz commented Dec 14, 2015

@andreas-vox I know this is semi low priority, but we can now test PRs through travis again after the script was fixed. Feel free to cherry pick
r20494 (Quick reference: 7c9123c741eb3d6e81a3e3ff8984985cb86297e4 link )
and
r20505 (Quick reference: cc574402b3a65d2da06d0068ba7b0baddaa7ffa4 link )

@luzpaz
Copy link
Collaborator Author

luzpaz commented Jan 28, 2016

Closing this issue in favor of scribusproject/scribus#3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants