braverock / braverock/PerformanceAnalytics
test all Reverse Dependencies on CRAN for PerformanceAnalytics
- Dominant language
- R
- Stars
- 239
- Forks
- 104
- PR merge metrics
- No merged PRs in 30d
Description
CRAN keeps track of reverse dependencies on PerformanceAnalytics. see https://cran.r-project.org/web/packages/PerformanceAnalytics/index.html
now that we have a large test suite, and given our two-decade commitment to maintaining backwards compatibility, we are unlikely to break these reverse dependencies
however, "unlikely to" and "have an implied contract to not break reverse dependencies" are different things.
I would like to actually make sure that we honor the implied contract *explicitly*, making it a real commitment backed up by our code.
we should create a formal documented methodology supported by a new vignette on how we test reverse dependencies to make sure that we don't break functionality that other packages are relying on from PerformanceAnalytics. this commitment to maintaining backwards compativility has been something that separates PerformanceAnalytics from othere packages in R and from financial analysis code in several other languages that has (partially, and often incorrectly) ported our code.
- create a plan to thoroughly test all reverse dependencies
- identify functions in other packages that use our code
- if we already suggest or import those packages, write explicit tests using the reverse dependency functions in our tests to verify they still work the same way (we obviously can't assure correctness of other people's code, just that we don't break it)
- if we don't already depend, suggest, or import the reverse dependency, we should run `R CMD check` on their package tarball after installing our version of PerformanceAnalytics and make sure we don't blow it up
- this test flow should probably not run on every push to github, we need a plan for separating it from all our other tests, maybe look at how xts tests reverse dependencies, since @joshuaulrich has already solved this problem (thanks Josh!)
Contributor guide
Research direction
Start by reviewing how xts tests reverse dependencies, then inventory PerformanceAnalytics reverse dependencies on CRAN and identify functions that use its code. Define a separate test flow using explicit reverse-dependency tests where appropriate and R CMD check for external package tarballs. Done means the methodology is documented in a new vignette and the proposed checks are separated from ordinary GitHub pushes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- documentation, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100