This PR addresses an error related to package resolution which was caused by dependencies of dependencies. Specifically, some packages required by our package were dependent on other packages which caused conflicts or issues during installation.
Changes Made
Created a Dockerfile:
Base Image: Switched to rocker/r-ver:4.3.0 for consistency and compatibility.
System Dependencies: Added necessary system dependencies to support package installations.
R Packages Installation:
Installed essential R packages (devtools, remotes, pak, covr, testthat).
Installed the latest version of Rcpp from GitHub to ensure compatibility with the latest features.
Explicitly installed Matrix to resolve dependencies required by fGarch.
Installed all other dependencies (fGarch, univariateML, kdensity, TreeDistData, TreeDist, phangorn).
Testing: Included a step to run tests using devtools::test() to ensure the package and its dependencies are functioning correctly.
Updated GitHub Actions Workflow:
Matrix Configuration: Ensured that tests are run on multiple operating systems and R versions, including R 3.4.0.
Dependencies Installation: Added steps to install devtools and remotes packages before using them to install other dependencies.
How These Changes Address the Issue
Dependency Resolution: By explicitly installing Matrix and other critical dependencies in the correct order, we prevent issues related to missing or conflicting dependencies.
Testing: Running tests during both the Docker build process and the CI workflow ensures that any issues with package functionality or compatibility are caught early.
Code Coverage: Including code coverage reporting helps maintain high code quality and ensures that all parts of the package are tested.
Summary
This PR addresses an error related to package resolution which was caused by dependencies of dependencies. Specifically, some packages required by our package were dependent on other packages which caused conflicts or issues during installation.
Changes Made
Created a Dockerfile:
rocker/r-ver:4.3.0
for consistency and compatibility.devtools
,remotes
,pak
,covr
,testthat
).Rcpp
from GitHub to ensure compatibility with the latest features.Matrix
to resolve dependencies required byfGarch
.fGarch
,univariateML
,kdensity
,TreeDistData
,TreeDist
,phangorn
).devtools::test()
to ensure the package and its dependencies are functioning correctly.Updated GitHub Actions Workflow:
devtools
andremotes
packages before using them to install other dependencies.How These Changes Address the Issue
Dependency Resolution: By explicitly installing
Matrix
and other critical dependencies in the correct order, we prevent issues related to missing or conflicting dependencies.Testing: Running tests during both the Docker build process and the CI workflow ensures that any issues with package functionality or compatibility are caught early.
Code Coverage: Including code coverage reporting helps maintain high code quality and ensures that all parts of the package are tested.