thanks for taking the time to circle back to this @cole and apologies if my comments are a little all over the map.
Also, disclaimer: I gave up on packrat 18 months ago or so, so I am not up to speed with what the package can do.
The deployment process via
rsconnect::deploy... works fine, no qualms here (though I would like to have every git commit automatically deployed).
My qualms are indeed with the fact via the dark magic that is packrat,
rsconnect::deploy... adds another orthogonal layer of specifying dependencies (on top of
Another recent example to illustrate (hope I got this right): I had a commit which had some
package_foo::bar() call, but had never
Importsed it in
Building on Travis worked, because said code was never called in my build script.
But them, oddly,
rsconnect::deploy() (from Travis to shinyapps.io) failed, because it couldn't find
package_foo to add to the manifest.
At first I was confused, then I realised that this was b/c under the hood, packrat was apparently parsing the entire source for dependencies, and then got mad, because it couldn't find the package in the Travis session.
This is not a bug and I was able to fix this quickly, but these things add up, and sometimes I take a long time to figure them out. Seems to me like
DESCRIPTION + packrat + x is too much.
I'd really love to standardise on one way to express dependencies, even if that's at a cost.
DESCRIPTION is the most attractive way, because it's already used in two prominent use cases (pkg dev and travis CI/CD), and it covers a decent amount of edge cases (via github remote).
So, my (probably ill-informed?) wish list right now would be:
- let me disable packrat in
rsconnect::deploy(), and just let me bring my own
DESCRIPTIONfor shiny apps, even if it's not a package (just as on travis ci/cd).
- merge/standardize the Travis CI/CD docker image with the docker images behind shinyapps.io, and let me use those everywhere and easily (locally within RStudio, on Travis CI/CD, on shinyapps.io).
- standardize on https://github.com/rstudio/shinyapps-package-dependencies as a way to specify system dependencies.
Finally, I'd love to pay for services around this. RStudio Connect meets Travis CI meets Heroku kind of thing.
Still happy to talk about this if you, @tareef and others are still interested.