Closed mpadge closed 2 years ago
Hi Mark, I am far from a Julia expert, so I cannot really comment on any changes between 1.4.1 and 1.7.3. The unit tests for fwildclusterboot
might fail under 1.4.1, as WildBootTests.jl
depends on Julia 1.7.2.
After thinking a little bit more about unit tests that depend on other languages, I believe that it is more convenient to 'hard code' return values into testing scripts instead of actively calling the other language in a CI system. The advantage is that unit tests will not fail. - if e.g. a bug were to be introduced to WildBootTests.jl
, I can still properly test fwildclusterboot
on any CI system and even on CRAN if values are hard-coded. The statsmodels package e.g. implements tests in this style.
For actual wrapper package, this is instead a drawback, as I in fact want to know when WildBootTests.jl
fails. So my recommendation - and what I in fact plan to implement - is to have both (even if it is a lot of work): tests with hard coded values that I will run on CRAN and github actions, and equivalent tests that run Julia / WildBootTests.jl on CI but skip the tests in all environments where Julia is not installed.
Yeah, I’m far from an expert, but my first thought was also compatibility issues with the version for the direct Julia code or dependencies as @s3alfisc mentioned.
Unfortuantely, Julia doesn't have or use a dynamic URL to latest release, so direct downloads from julialang.org require hard-coding specific versions, which makes that out for long-term maintenance. Luckily, they also seem to officially suport a cross-platform installer, jill.py
for latest stable Julia. Full steps (from official Julia platform-specific instructions):
apt install python3 python3-pip
pip install jill
jill install --confirm
@s3alfisc The above commit adds latest Julia (currently 1.7.3) to our base container. That itself gets rebuilt at least monthly, so will always be up-to-date. Those changes won't propagate across to our internal system until scheduled rebuild next week (5th July), after which your Julia tests should all work. You should still add control flags througout to avoid fails on systems which don't have Julia, such as all CRAN systems.
@s3alfisc has now submitted first package which calls external Julia routines. Pre-install via main
pkgcheck
docker image is easy via apt, but current Ubuntu 20.04 distributes Julia v1.4.1, while actual Julia is 1.7.3.@s3alfisc Have you got any ideas or opinions as to differences between 1.4 -> 1.7? Hopefully not too much difference, so we can presume that not-exactly-current Ubuntu apt version will always suffice, but I've no idea, and presume you know more about this. Opinions please :+1: Also ping @adamhsparks