【问题标题】:Github Action failing with R CMD check, using old commit?使用旧提交,Github Action 使用 R CMD 检查失败?
【发布时间】:2021-01-13 03:30:45
【问题描述】:

我不确定如何最好地描述这一点,因此标题相当模糊。

我有一个R package,它使用 Github Actions 来运行检查。您可以在此处查看工作流文件:

https://github.com/Azure/Microsoft365R/blob/master/.github/workflows/check-standard.yaml

它与r-lib/actions repo 中的检查标准工作流程基本相同,只是针对我的特定要求进行了一些调整。我的latest commit 未能通过 MacOS 构建检查,出现以下错误:

Run remotes::install_deps(dependencies = TRUE)
Error: Error: HTTP error 404.
  Not Found

  Did you spell the repo owner (`hongooi73`) and repo name (`AzureGraph`) correctly?
  - If spelling is correct, check that you have the required permissions to access the repo.
Execution halted
Error: Process completed with exit code 1.

有问题的步骤是这样的。它只是扫描包的DESCRIPTION file 并安装包的依赖项——所有这些都非常简单。

      - name: Install dependencies
        run: |
          remotes::install_deps(dependencies = TRUE)
          remotes::install_cran(c("pkgbuild", "rcmdcheck", "drat"))
        shell: Rscript {0}

看起来它正在尝试从 hongooi73/AzureGraph 存储库安装一个依赖项,该存储库不再存在。但是我的DESCRIPTION file 没有将 hongooi73/AzureGraph 列为远程依赖项;它使用 Azure/AzureGraph,其中 hongooi73/AzureGraph 是一个分支。它使用指代 hongooi73/AzureGraph,但那是几次提交之前的事了。事实上,Linux 和 Windows 检查都运行没有问题,因此它们显然使用了正确的 repo 位置。

什么可能导致此故障?我该如何解决?我已经尝试过重新运行工作流,并删除旧的工作流。

【问题讨论】:

  • 您正在使用 actions/cache 缓存您的 R 库。也许keyrestore-keys 设置不正确,它们恢复了现在“无效”的缓存。但我真的说不出来,因为我不了解 R 及其包管理。而且我不知道为什么您在其他操作系统中没有同样的问题。
  • @riQQ 看起来像!缓存键是操作系统、R 版本和系统依赖项列表的组合。这些都没有从较早的提交更改为这次提交,因此它必须恢复错误的缓存。 Windows 检查成功是因为那里没有使用缓存,而 Linux 检查是因为早期的构建失败并且没有创建缓存。
  • 不知道有没有办法清除缓存?
  • 好吧,我更改了缓存键,这似乎已经修复了工作流程。虽然很笨重,但希望他们能在某个时候允许清除缓存

标签: r github github-actions


【解决方案1】:

您正在使用actions/cache 来缓存您的 R 库。这样,如果您的 keyrestore-keys 设置不正确,您将恢复可能无效的缓存。

目前,没有直接的方法可以手动清除缓存。对于其他一些选项,您可以查看Clear cache in GitHub Actions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2012-06-29
    • 1970-01-01
    • 2017-07-05
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多