Many Rgemini functions depend on other packages, and some versions of those dependencies might not be compatible with Rgemini functions.
For example, when running loop_mlaps with dplyr_1.0.9, the following error is shown:
However, when updating to dplyr_1.1.4, the function works well.
Ideally, we can build a workflow that automatically checks the minimum required version of all dependencies and add the required version number for each package to the DESCRIPTION file.
As suggested by @vaakesan-SMH: We could write a script that installs each version of every dependency in the DESCRIPTION file, and run all devtools::test(). If it fails we mark the minimum version in the DESCRIPTION file. We could then make this into a CI/CD script that is run on every commit.
A few things to consider:
This would only work for functions that currently have unit tests (i.e., the loop_mlaps issue wouldn't have been caught by this)
The checks will likely take a long time to run if we install every version of every dependency and running every test. Once we've built the script, we can try it out, and see if it would be better to only run this test offline/only run it if we merge into master etc.
New Feature Request
Many
Rgemini
functions depend on other packages, and some versions of those dependencies might not be compatible with Rgemini functions.For example, when running
loop_mlaps
withdplyr_1.0.9
, the following error is shown:However, when updating to
dplyr_1.1.4
, the function works well.Ideally, we can build a workflow that automatically checks the minimum required version of all dependencies and add the required version number for each package to the
DESCRIPTION
file.As suggested by @vaakesan-SMH: We could write a script that installs each version of every dependency in the
DESCRIPTION
file, and run alldevtools::test()
. If it fails we mark the minimum version in the DESCRIPTION file. We could then make this into a CI/CD script that is run on every commit.A few things to consider:
loop_mlaps
issue wouldn't have been caught by this)master
etc.