当前位置: 首页 > 知识库问答 >
问题:

Github操作在R CMD检查时失败,是否使用旧的提交?

江超英
2023-03-14

我不知道该如何描述这一点,所以才有了一个相当模糊的标题。

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

https://github.com/azure/microsoft365r/blob/master/.github/workflows/check-standard.yaml

它与R-lib/actions repo中的check-standard工作流基本相同,只是针对我的特殊需求做了一些调整。我的最新提交未通过对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.

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

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

看起来它试图从hongooi73/azuregraph repo安装一个依赖项,而这个依赖项已经不存在了。但是我的描述文件没有将Hongooi73/AzureGraph列为远程依赖项;它使用AzureGraph,其中Hongooi73/AzureGraph是一个分叉。它曾经引用Hongooi73/AzureGraph,但那是几次提交之前的事情了。实际上,Linux和Windows检查都运行没有问题,因此它们显然使用了正确的回购位置。

是什么导致了这次失败?那我该怎么修呢?我已经尝试重新运行工作流,并删除旧的工作流。

共有1个答案

宇文良骏
2023-03-14

您正在使用actions/cache缓存您的R库。如果keyrestore-keys设置不正确,则您将还原一个可能无效的缓存。

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

 类似资料:
  • 我将GitHub操作用于CI/CD,并从中编写了一些cypress测试和YAML文件。但是当我推存储库时,我得到了一个错误。 失败的错误 我如何解决这个问题。当我在本地运行cypress时,它工作正常。

  • 我正在尝试更新pom中的版本。在我的maven项目中,使用GitHub(release)操作,使用UI/Create-release标记中提供的值。 然而,我得到了一个错误: 我真的不明白为什么会这样。我认为git签出会给我一个带有默认(

  • 我有下面的GitHub操作配置文件(为了简单起见删除了部分)。 我遇到的主要问题是节点测试。js版本8失败。但其他人都成功了。在这种情况下,如果一个作业失败,GitHub操作往往会取消所有作业。 有没有办法改变这种行为,以便即使一个作业失败,所有作业也能继续运行?这有助于查明特定版本的问题。

  • 我刚刚开始为一个项目设置一个Github操作工作流。我试图在一个容器内运行工作流步骤,并使用以下工作流定义: 但工作流无法声明容器立即停止到期。 我尝试了很多图片,包括官方文档中描述的“alpine:3.8”图片,但容器停止了。 根据GitHub操作的工作流语法,在容器部分中:“一个容器,用于运行作业中尚未指定容器的任何步骤。”我的假设是容器将被启动,步骤将在Docker容器内运行。

  • 问题内容: 除了使用以外,如何检查MySQL查询是否成功 我正在努力实现… 问题答案: 这是手册页中的第一个示例: 如果您想使用其他以外的东西,我建议。

  • 问题内容: 介绍 在我的应用中,我想一次性获得用户当前所在位置的准确位置。当我有时使用时,该位置将为null或已过时,因为我发现这只是获取缓存的位置,并且不请求更新位置。 解决方案是只请求一次位置更新,如下所示。 现在,我一直可以得到更准确的位置。 我的问题 如何确定位置更新是否失败?由于我只要求1。 获取位置更新后,将调用此回调 但是,如果位置更新失败,则不会调用此方法。 我尝试过的 我看到有一