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

linux in travis #23

Merged
merged 10 commits into from
Mar 14, 2018
Merged

linux in travis #23

merged 10 commits into from
Mar 14, 2018

Conversation

wibeasley
Copy link
Contributor

https://docs.travis-ci.com/user/multi-os/#Example-Multi-OS-Build-Matrix

@IndrajeetPatil, I'm trying a few things in response to https://stackoverflow.com/a/49165163/1082435. I'm curious was Travis will do. Don't accept the PR for a while.

@wibeasley wibeasley changed the title try basic linux in matrix try basic linux in travis matrix Mar 13, 2018
@IndrajeetPatil
Copy link
Owner

IndrajeetPatil commented Mar 13, 2018

Thanks for your help in trying to get this issue resolved!

Looks like the build is still failing though. Last week, I tried all permutations and combinations of the dist and sudo parameters for linux and the build always failed. I finally just decided to leave out checks for linux and focus only on osx. The problem is always either with the gsl library installation or the build taking too much time.

@wibeasley
Copy link
Contributor Author

The problem is always either with the gsl library installation or the build taking too much time.

I agree. I still think the gsl Linux package needs to be install (through apt) before attempting to install the gsl R package. This second commit includes it. The first one was a baseline.

I'm surprised it's taking so long. I guess it's because your package has a lot of dependencies, which have a lot of dependencies, which have a lot of ... . And many of the packages are the intense kind, that require Linux building it from scratch. Maybe some of this could be optimized by installing different ways, or maybe using a specialized docker image (so the packages don't have to be build by Travis for every push).

Anyway, I thought the gsl installation should be the first step, before worrying about the optimization.

Are there any R packages that you could remove from your dependencies (especially those that require gsl)?

@IndrajeetPatil
Copy link
Owner

Yeah, it's something I've been wondering myself. Irrespective of what happens with the Travis build, I'll work on minimizing the number of dependencies in the next few weeks. Will need a lot more coding to remove reliance on other packages, but should be possible.

"These installs will be faster than source installs, but may not always be the most recent version"
https://docs.travis-ci.com/user/languages/r/#Additional-Dependency-Fields
with `r-cran-qqq`.  Also needs sudo.

> "Specify the name just as you would when installing from CRAN. On OS X builds and builds without sudo: required, these packages are installed from source."

https://docs.travis-ci.com/user/languages/r/#Additional-Dependency-Fields
@wibeasley
Copy link
Contributor Author

Yea, it got to the gsl installation step without timing out, and it was successful.
https://travis-ci.org/IndrajeetPatil/ggstatsplot/jobs/353107931#L7007-L7069

I bet the order isn't exactly right though.
@IndrajeetPatil
Copy link
Owner

That's awesome! I pushed few changes now that have removed two package dependencies, but there are still many heavy (mostly statistical) packages in there. Offloading them will need more time.

@wibeasley wibeasley changed the title try basic linux in travis matrix linux in travis Mar 14, 2018
it apparently isn't available
so it won't install from other R packages from source, before their binaries can be installed.  Remove OpenMX b/c it was failing on the OSX builds
to keep the dependency calculations simpler.  Something's getting tripped up with OpenMX
I don't know why Travis is looking for [these packages](https://travis-ci.org/IndrajeetPatil/ggstatsplot/jobs/353142095#L1620).  It's not exactly the same list.

```
#  - rpf
#  - openssl
#  - rlang
#  - igraph
#  - utf8
#  - gss
#  - haven
#  - XML
#  - data.table
#  - matrixStats
#  - rgl
#  - dplyr
#  - purrr
#  - tidyver
#  - readr
#  - minqa
#  - mvtnorm
#  - SparseM
#  - lme4
#  - httpuv
#  - markdown
#  - sem  
#  - readxl
#  - openxlsx
#  - pander
#  - minpack.lm
#  - StanHeaders
```
@wibeasley
Copy link
Contributor Author

It's installing correctly and within 10 minutes (but I expect that would increase during the peak times). Moving the r_binary_packages section to the Linux-only component of Travis worked. Otherwise, OS X was trying find packages that weren't available for it. Play with the list some more now that you've cut a few packages, especially devtools.

This was good for me. I've wanted to experiment this on my own packages, but hadn't quite hit the threshold to motivate the research. Thanks for the SO bounty too.

@IndrajeetPatil IndrajeetPatil merged commit 27076bd into IndrajeetPatil:master Mar 14, 2018
@IndrajeetPatil
Copy link
Owner

Thank you so so much!!!

This was my first pull request EVER and I am so grateful to see that R has such excellent supportive community of programmers :)

@wibeasley
Copy link
Contributor Author

@IndrajeetPatil, no problem.I just saw that you're from psych too. Good luck with your package.

@IndrajeetPatil
Copy link
Owner

@wibeasley Needed your help again. I haven't changed the Travis yml configuration file since your PR, but the build has started to fail now (https://travis-ci.org/IndrajeetPatil/ggstatsplot) and I am not sure why.
Do you have any ideas?

@wibeasley
Copy link
Contributor Author

Line 5284. It looks like things s running a tad slower than before, and crossed the time or threshold:

The job exceeded the maximum time limit for jobs, and has been terminated

Anything else you child trim or optimize for the dependencies?

@IndrajeetPatil
Copy link
Owner

@wibeasley Sorry, this was a false alarm. I think Travis server was handling a lot of jobs and that's why it timed out. This hasn't happened again.
That said, I do plan to offload some packages in the next iteration though.
Thanks!

@IndrajeetPatil
Copy link
Owner

@wibeasley Can we please try this again?

I am again getting errors with the Travis build that I haven't been able to get rid of:
https://travis-ci.org/IndrajeetPatil/ggstatsplot/jobs/376579161

I rewrote some code and removed three heavy dependencies in a new release and changed the travis.yml file accordingly, but I have probably done something wrong as the build error is not going away.

@wibeasley wibeasley mentioned this pull request May 15, 2018
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants