在子目录中设置 GH 操作(一个存储库中的多个包)

问题描述 投票:0回答:1

在编写 R 包时,我更喜欢使用

usethis::use_github_actions()
设置 CI,这会在根目录中创建一个
.github/
目录,其中 GH 操作作业旨在运行:https://stackoverflow.com/a/72268873/ 8400969。 我有一个遗留存储库,其中包含
/R
目录中的多个 R 包,以及其他目录中的一些其他内容(例如 python 应用程序),并且希望为 R 包设置持续集成(每个包单独,理想情况下)而不将每个移动到自己的存储库)。 如何设置 GH 操作工作流程,以便它们分别检查
/R
父目录中的每个 R 包?我是否能够使用 usethis 中的工具来创建具有这样的存储库结构的徽章、pkgdown 网站等?

很难知道什么是可重现的示例,但也许这是一个很好的起点:一个目录中包含两个成熟的 R 包,每个包(当前)都有自己的

.github
子目录,提供 GH 操作的说明。

在 macOS 上输入 shell 来创建的命令:

mkdir example_repo
cd example_repo
git clone https://github.com/r-lib/scales.git
git clone https://github.com/r-lib/roxygen2
cd roxygen2
rm -rf .git
cd ../scales
rm -rf .git
r package repository github-actions r-usethis
1个回答
0
投票

我通过修改工作流程 (

.github/workflows/R-CMD-check.yaml
) 将
working-directory
设置为 both
r-lib/actions/setup-r-dependencies@v2
r-lib/actions/check-r-package@v2
指向包子目录来实现此目的。 例如,在我的例子中,工作流程的相关部分如下所示......

       - uses: r-lib/actions/setup-r-dependencies@v2
         with:
           extra-packages: any::rcmdcheck
           needs: check
           working-directory: './pkg/grImport2'
 
       - uses: r-lib/actions/check-r-package@v2
         with:
           upload-snapshots: true
           build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'
           working-directory: './pkg/grImport2'

我在

这里
找到了working-directory选项。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.