r - 如何通过 GitHub Actions 向 CRAN 提交 R 包?

标签 r github-actions continuous-deployment cran r-usethis

我创建了一个 R 包,每当我将更改合并到主分支时,我都想通过 GitHub Actions 将其上传到 CRAN。我发现了很多 examples R 操作,我什至查过 how some of the most popular packages like dplyr do it即使我找到了 devtools::release()辅助函数,我还没有看到将更改合并到主分支时将库提交给 CRAN 的工作流。包开发人员是否手动执行此操作?这有什么原因没有自动化吗?

最佳答案

CRAN 的工作方式与其他语言存储库完全不同,因为上传不是完全自动化的,例如PyPI。
当你上传一个新的包裹时,它会受到真人的验证。当你更新一个包时,如果它触发了某些检查,它也将受到人类的新审查。当一个包成功上传并通过第一次验证时,会在数周内对其运行许多自动检查(例如不同的操作系统、编译器、编译器选项、架构、 sanitizer 、valgrind 等),并自动生成预编译的二进制文件。源代码中的某些平台和 R 版本。
CRAN 政策明确规定不允许频繁更新,并且您不应该每几个月提交一次上传,我认为这种级别的自动化不值得。
即使您确实想自动化此过程,中间也有电子邮件验证,因此您可能必须使用 selenium + 其他脚本做一些事情。
顺便说一句,如果您担心复杂的构建过程并且正在使用 RStudio,您可以在每个项目的基础上配置在构建包的源代码或二进制分发版时要使用的参数。

关于r - 如何通过 GitHub Actions 向 CRAN 提交 R 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68882451/

相关文章:

r - R 如何解释...参数?

尝试下载文件时,R CMD 检查在 ubuntu 上失败,但功能在 R 中有效

azure - 组织函数应用程序从 azure devops 进行部署 - 管道 CI/CD

vue.js - 如何使用 github s3 同步操作将缓存控制设置为 max-age=0

amazon-web-services - CDK 将预先存在的存储桶用于 CI CD Pipeline for Artifacts

r - 具有不等方差的参数方差分析

R 插入符包错误 - 至少一个类级别不是有效的 R 变量名称

r - 为什么会出现此错误消息?

ruby-on-rails - 如何在 github actions 中使用parallel_tests

matrix - Azure Pipelines 数据驱动矩阵