Comments (31)
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.
from scribusctl.
@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.
from scribusctl.
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.
from scribusctl.
@khaledhosny can you provide a link to your failing build ?
from scribusctl.
https://travis-ci.org/khaledhosny/ScribusCTL/builds/63801715
from scribusctl.
There is also Appveyor for windows. Thanks to @ebraminio for the heads up on that: khaledhosny/ots#67
from scribusctl.
Here is musescore .travis.yml file: https://github.com/musescore/MuseScore/blob/master/.travis.yml
from scribusctl.
Interesting…
from scribusctl.
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.
from scribusctl.
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.
from scribusctl.
Epic @QuLogic !
Yea OpenSceneGraph is very low priority at this point.
from scribusctl.
@QuLogic, please make a PR to add that .travis.yml file to the repo
from scribusctl.
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).
from scribusctl.
hmm.. it doesn't happen each time you trigger a build though, right ?
from scribusctl.
With NPROC=3, it's failed once and passed once. Let's see how the build in the PR goes.
from scribusctl.
Actually, if you count the build in the fork of the main project, then it's passed twice.
from scribusctl.
Annnd, it just failed on yours, so it's 50/50. 😞
from scribusctl.
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?
from scribusctl.
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.
from scribusctl.
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.
from scribusctl.
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.
from scribusctl.
@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
from scribusctl.
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.
from scribusctl.
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
from scribusctl.
Does that apply to forks as well, or will I have to work in the PR here?
from scribusctl.
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.
from scribusctl.
@QuLogic the devs tell me that we don't need webkit anymore, in regards to the libqt5webkit5-dev in .travis.yml file
from scribusctl.
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!
from scribusctl.
@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
from scribusctl.
@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 )
from scribusctl.
Closing this issue in favor of scribusproject/scribus#3
from scribusctl.
Related Issues (13)
- Pending Bugs #13093 #13240 related to ScribusCTL HOT 1
- RTL Branch compile warning HOT 5
- traditional mongolian/uyghur vertical script. HOT 5
- FLOSS supporters who may be willing to test ScribusCTL HOT 2
- Persian Language test in 1.5.1 svn HOT 6
- build .spec file for rpm package HOT 4
- make errors on Ubuntu 16.04 HOT 2
- Elaborate on all phases of CTL implementation to encourage collaboration HOT 10
- Fatal error: 'ext/slist' file not found HOT 1
- #2128 "Cache font info for startup"
- Translations of Scribus GUI for RTL, Indic, CJK before CTL is finished
- Integrate Appveyor (Windows Continuous Integration) HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scribusctl.