我一直在尝试让Azure管道为我公司的内部R包工作。我希望管道:
Check()
Package
1.运行/testthat中的测试
1.使用covr检查代码覆盖率
我们使用Azure DevOps,并在其中使用Azure Repos。我发现的几个例子主要集中在GitHub解决方案上。我尝试过使用https://github.com/r-lib/r-azure-pipelines,但是,由于一开始对如何设置管道没有太多的知识,我发现学习和前进非常困难。我也在RStudio社区here上发表了文章,但是我当前的方法不运行check()
。我想尝试使用Azure DevOps提供的所有测试功能。
2条答案
按热度按时间rjjhvcjd1#
在两个不同的组织中,我在让Azure管道与R包一起工作时面临着完全相同的挑战,我认为我应该花时间分享我在这一过程中学到的东西。
请参阅https://github.com/jamiegaida/AzurePipelineR处的简要说明和代码
这建立在上面Louish沿着其他来源的伟大答案的基础上。它还通过MegaLinter运行Lintr包。
8qgya5xd2#
我需要做一些类似的事情,并发现您的RStudio社区帖子在让我开始这方面非常有用-谢谢您的帖子。我现在已经设法建立了一个管道:
1.使用
rcmdcheck
检查套件(这也会执行测试的test)1.使用covr运行代码覆盖率
1.发布测试结果、代码覆盖率报告和check.log文件
首先,您需要确保测试.R脚本使用如下指定得
reporter
参数运行test_check
:test_check("mypackage", reporter = JunitReporter$new(file = "test-result.xml"))
那么下面的.yml文件应该可以做到这一点: