Skip to content

generated manifests always miss Connect's R package cache #3690

@christierney

Description

@christierney

When deploying from publisher, Connect never finds a cache hit for R packages.

Comparing the manifests from publisher and rsconnect:

a few key differences:

  • publisher combines all Imports, Suggests, etc. into the Depends field
  • publisher gives all(?) packages the title "CRAN R package" (??)
  • publisher omits a lot of fields that rsconnect includes

the problem is that when publisher's manifest goes to connect, connect creates a fake DESCRIPTION file from it and computes a hash of that, then uses that hash to try to look for a cached version of the package. if it doesn't find one, it installs the package, hashes the installed DESCRIPTION file, and adds it to the cache under that hash.

therefore if the description of the package in the manifest produces a different DESCRIPTION file than the installed package, you will never be able to find a cache hit.

for the cache to work, publisher needs to generate a manifest where the following fields exactly match the DESCRIPTION file of the installed package: Package, Version, Depends, Imports, Suggests, LinkingTo (plus some additional fields if the package is installed from github instead of a CRAN-like repo)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions