-
Notifications
You must be signed in to change notification settings - Fork 46
Split dependency building and pkg checking on travis #368
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
Conversation
Currently our CI fails on travis because the hard runtime limit for jobs is 50 minutes and installing all dependencies of MSnbase takes a lot of more time. This commit introduces multiple changes: - Use 2 cores for package building/installation. - Split building of dependencies and package checking into different jobs which allows us to use 2x50 minutes. The check job uses the cache from the dependency job. - Automatically deploy of pkgdown based documentation to github pages (a *P*ersonal *A*ccess *T*oken needs to be created and set in travis settings).
Great, thanks @sgibb. I have created a PAT and added it to the travis setting. I would prefer to keep all tests, as much as possible. I will need to check if But yes, let's open a issue to keep track of the dependencies and try to reduce them. |
I added You can simply revert it with IMHO this could be merged to master now. Please note: I recognized that
I am not sure how to solve this (without exporting |
Codecov Report
@@ Coverage Diff @@
## master #368 +/- ##
=========================================
Coverage ? 70.94%
=========================================
Files ? 82
Lines ? 8188
Branches ? 0
=========================================
Hits ? 5809
Misses ? 2379
Partials ? 0 Continue to review full report at Codecov.
|
Thanks! |
@sgibb - is the pkgdown site build and deployed automatically, in the end? |
If the build of the There are two solutions:
For https://github.com/sgibb/topdownr/ I use the first option. |
OK, thanks. I'll think about migrating to solution 1 above. |
I think the automatic deploy to |
All good now, it is live. I will apply the same strategy for my other packages. Thanks again @sgibb! |
I can't see a 404 but the regular pkgdown site. I guess it was just a matter of waiting for the next push from travis. |
Currently our CI fails on travis because the hard runtime limit for jobs
is 50 minutes and installing all dependencies of MSnbase takes a lot of
more time.
This commit introduces multiple changes:
jobs which allows us to use 2x50 minutes. The build job builds all dependencies and create a cache which is used by the check job.
pkgdown
based documentation to github pages the master branch.@lgatto if you want to use the automatic deployment you have to create a Personal Access Token with the
public_repo
scope/permission and register it in the travis' settings with the nameGITHUB_PAT
We could create even more jobs to reduce the check time a little bit (currently after cache building it takes ~ 35 min to run travis but using three check jobs ("examples", "vignettes", "test") we could go down to ~ 25 min:
2 jobs (build + check, current PR)
5 jobs (build + 3 check + codecov) (the codecov job failed because I accidentally used
rscript
instead ofRscript
)@lgatto If you wish I could easily extend this PR to the version with 5 jobs.
BTW:
skip_on_travis()
totests/testthat/test_MSmap.R
on my forked repository because downloading files fromAnnotationHub
always failed (maybe we should consider it to add it here, too).MSnbase
needs more than 250 packages to build. Maybe we could remove a few, e.g.shiny
is just used for one function (couldselectFeatureData
move topRolocGUI
?), same forXML
which is just used by.isCentroidedFromFile
andmzID
both could be replaced bymzR
/xml2
(the latter is downloaded anyway by other dependencies),affy
/affyio
just forMAplot
,gplots
just forheatmap.2
in the vignette, ... it is somehow connected to speed up package load time #201 but would just improve the build time. Should we open an issue and try to remove some build dependencies or just keep status quo?