glmmTMB / glmmTMB

glmmTMB
296 stars 60 forks source link

enhance GitHub actions #655

Open bbolker opened 3 years ago

bbolker commented 3 years ago

https://deanattali.com/blog/migrating-travis-to-github/

mebrooks commented 3 years ago

It took me a while to read this, but I'm convinced. How should we proceed? Sorry I've been MIA for a while, but I think I should be able to work on glmmTMB more in the near future. I plan to take off Dec 24-26, but will be working on and off during other days. I'll try to catch up.

bbolker commented 3 years ago

I took a first crack at this in the github_actions branch (failed a bunch of times to set the working directory to the glmmTMB subdir: may still not be working, but latest commit is the first time it hasn't crashed immediately so fingers crossed)

bbolker commented 3 years ago

Mostly enabled by this PR, but I'm going to change the title of this issue and leave it open for future enhancements:

bbolker commented 3 years ago

This answer gives a reasonable brute-force solution to checking all platforms only under certain conditions. Don't know if there will be any hassles involved in getting a full LaTeX installation on MacOS/Windows ? Maybe skip vignette building there if necessary?

strengejacke commented 3 years ago

FWIW, I have copied the yaml-file from a repo from Hadley or someone related, which seems to be pretty stable: https://github.com/easystats/insight/blob/master/.github/workflows/R-check.yaml

Not sure if it helps you in your particular case here.

bbolker commented 3 years ago

Thanks, but I'm not sure we need it. Checking on 9 different platforms (MacOS/Windows/Linux X oldrel/release/devel) seems like overkill for routine checking.

strengejacke commented 3 years ago

True, though it depends on the context. Sometimes, certain results slightly differ on different systems (like 0.037 vs. 0.041), and you don't want to wait for CRAN to complain, but fix the issues before submissions. ;-)

And sometimes, functions / packages are available for R release and devel, but not (or no longer) for old-release. Maybe it makes sense to pick at least an OS that you don't have for testing, and test and old-rel and devel, but that really depends on what is really needed and personal preferences. In particular, as those tests sometimes fail for no reason and you cannot reproduce the errors from GitHub CI locally, nor does it fail on CRAN.

mmaechler commented 3 years ago

We see Ben is an environmentally minded Canadian .. (as opposed to US-American -ike lazy who only cares for convenience ;-) I strongly agree on having this CI on opt-in only scheme and will propose it also to my @emacs-ess (https://github.com/emacs-ess) collaborators.

bbolker commented 3 years ago

Sorry to disappoint you @mmaechler, but: I'm actually suggesting the following protocol:

Running the basic tests takes "only" about 10 minutes of compute time, I think that's acceptable There are variety of methods of achieving this goal (see aforementioned Stack Overflow Q&A for more details:

bbolker commented 3 years ago

Next issue, getting a working TeX/TeXlive installation on all platforms. Installing texlive + packages is the easiest/most comprehensive thing, but I'm not sure I know the right incantations for making that work on all three platforms (easy on Linux). Installing tinytex + tlmgr_install any necessary packages (see here) might work better cross-platform?

bbolker commented 3 years ago

ugh, still struggling with this.