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 CI #1760
Comments
Good idea. I use it for another project, maybe I can queue that up for later. |
I'm having the tests run at https://travis-ci.org/jonenst/factor |
after 49 minutes, all jobs ended with |
👍 Perhaps try running the tests without |
The compiler deploy tests are some of the worst offenders, maybe exclude those. We could make a |
https://travis-ci.org/jonenst/factor/builds/188540475 I basically removed generate-help and do-benchmarks (20 minutes each according to http://builds.factorcode.org/dashboard ) and split the tests in 3 so that they would last about 20 minutes. So we spend 20 minutes bootstrapping/loading-all, then 20 other minutes testing. That's a bit wasteful but I wanted a proof of concept. Splitting more would be even more wasteful... So now there are many questions..
|
Can we pay for more CPU time to run all tests? |
Or maybe we make the tests take less time. I'll look at that a little today. |
But I think we should focus on running more intelligent (ie shorter) tests ? |
As a rough guide to long tests, this is the percentage of time that You can read this that
|
Cool! Looks like excluding tools.deploy would be reasonable? |
https://travis-ci.org/jonenst/factor/builds/189845398 Got it to almost replicate the build bots results. Still need to make the imap and forestdb tests work... |
If our motivation is just that we wanted to get off relying on Mason, would looking at drone.io make sense here? Very similar idea to Travis CI, but they (currently?) are way faster, and can be self-hosted if we wanted to hybridize what we were up to. I'm only asking because this seems to have been a lot more effort than I think we were anticipating; I'm not otherwise interested in bikeshed colors. |
This is pretty awesome, we might need to make some changes because of how we use mason to update our build dashboard, email reports, benchmark, and upload new images... |
https://travis-ci.org/jonenst/factor/jobs/190092435 It passed for linux. It's running load-all test-all but not help generation and benchmarks. Do you want to take it from here ? Or I can run my own mason instance and test it there. |
Any thoughts on getting Windows to work? |
Also, of having both 32-bit and 64-bit builds? |
|
It's pretty easy to build 32-bit on 64-bit, I do that on OS X all the time:
Note: that requires universal 32/64 builds of whatever library dependencies exist. Also, linux is a bit different. Ahh, I didn't realize Travis didn't have a Windows option. |
Pretty, pretty good. So as a next step we can make it so the Travis CI machine reports its build status to http://builds.factorcode.org/dashboard? There is a feature in mason for slaves to send their build status and logs to the master but I don't know how it works. Linux is totally horrible for cross-running binaries. You can easily built a 32bit Factor vm, but then you also want it to dlopen 32bit libraries like sqlite.so and so on. Some libraries can be made to work by setting |
Yes, that's what I was saying when I said "I think it should be possible to update the dashboard at http://builds.factorcode.org/dashboard because the child sends things over http [...] Do you want to take it from here ?" |
How do you make shared secrets available to Travis but not just anyone? |
You have multiple options :
https://docs.travis-ci.com/user/environment-variables/
"
if it does contain sensitive information, and might be different for
different branches – encrypt it and add it to your .travis.yml
if it does contain sensitive information, but is the same for all branches
– add it to your Repository Settings
"
So for the gmail password of the test imap user I use repository settings.
For the mason secret that would also be the correct thing to use.
Le 11 janv. 2017 15:32, "John Benediktsson" <notifications@github.com> a
écrit :
… How do you make shared secrets available to Travis but not just anyone?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1760 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAFceNZmfTmEjDYkMqb8s1q6i3kEa2o9ks5rROgZgaJpZM4LJnSJ>
.
|
Does the mac build test libgdk_pixbuf-2.0.dylib (resource:basis/images/loader/gtk/gtk-tests.factor ) and libcairo.dylib ( resource:basis/cairo/cairo-tests.factor ) ? Maybe we should add a way to get the full log from builds, eg http://builds.factorcode.org/report?os=macosx&cpu=x86.64. Looking into getting the mac build to work on travis : https://s3.amazonaws.com/archive.travis-ci.org/jobs/191101478/log.txt |
We had a couple clean Linux clang/gcc builds! However, macOS times out and has never built clean. I disabled fftw tests since installing it takes a long time and we don't get anything out of the tests imo. |
Perhaps we should just let Travis compile and bootstrap? Then at least we could get it to display green. :) Imo, Travis can not replace our current build farm because it has no support for Windows and 32bit architectures and those are our mot problematic targets. And it doesn't seem like Travis will add support for those anytime soon. :/ I don't know what we can do here. Maintaining the build farm is a lot of work but without it, a lot of architectures that people rarely use would break. |
We could have it test the vocabs that matter most. Maybe core/, io, compiler, ui? |
I removed the testing in: c3f04e7 The idea is to just get Travis green. We can then incrementally return the testing code. |
Travis is green! Let's test some of core too? |
We're now testing all pull requests against all vocabs that changed from origin/master, and I just pushed a patch to test To be thorough we should |
Ok, this issue is done imo. We are testing vocabs that changed since last clean build or the diff of the PR and origin/master, |
This site offers free continuous integration testing for projects hosted on github: https://travis-ci.org/ It would be pretty cool to setup Factor to use it as a supplement to our own build bots.
The text was updated successfully, but these errors were encountered: