来自 usethis package 的 github 操作出错找不到 'action.yml'、'action.yaml' 或 'Dockerfile'
Error in github action from usethis package Can't find 'action.yml', 'action.yaml' or 'Dockerfile'
我一直在尝试开始使用 github 操作在我的包中进行持续集成,但是,即使我使用的是 usethis 包的预制功能,它也不起作用,并且运行程序立即停止。
我试过以下功能:
usethis::use_github_action_check_standard()
还有这个:
usethis::use_github_action_check_release()
但它们都失败并显示以下消息:
Current runner version: '2.281.1'
Operating System
Virtual Environment
Virtual Environment Provisioner
GITHUB_TOKEN Permissions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v2' (SHA:5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f)
Download action repository 'r-lib/actions@v1' (SHA:55aea734d73636a0617990c2899c8f86ef8a9877)
Download action repository 'actions/upload-artifact@main' (SHA:11e311c8b504ea40cbed20583a64d75b4735cff3)
Getting action download info
Download action repository 'actions/cache@v2' (SHA:c64c572235d810460d0d6876e9c705ad5002b353)
Error: Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/_actions/r-lib/actions/v1/check-r-package'. Did you forget to run actions/checkout before running your local action?
你可以看到这里的一切repository
但无论如何,这是我用于回购的代码:
# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main]
pull_request:
branches: [main]
name: R-CMD-check
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macOS-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v2
- uses: r-lib/actions/setup-pandoc@v1
- uses: r-lib/actions/setup-r@v1
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v1
with:
extra-packages: rcmdcheck
- uses: r-lib/actions/check-r-package@v1
- name: Show testthat output
if: always()
run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true
shell: bash
- name: Upload check results
if: failure()
uses: actions/upload-artifact@main
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: check
欢迎任何帮助
注意错误消息中的这一部分:
Error: Can't find ... under '/home/runner/work/_actions/r-lib/actions/v1/check-r-package'
那是因为r-lib/actions@v1没有check-r-package
您可以将 uses: r-lib/actions/check-r-package@v1
更改为 uses: r-lib/actions/check-r-package@master
以使用包含 check-r-package 的最新操作。
我一直在尝试开始使用 github 操作在我的包中进行持续集成,但是,即使我使用的是 usethis 包的预制功能,它也不起作用,并且运行程序立即停止。
我试过以下功能:
usethis::use_github_action_check_standard()
还有这个:
usethis::use_github_action_check_release()
但它们都失败并显示以下消息:
Current runner version: '2.281.1'
Operating System
Virtual Environment
Virtual Environment Provisioner
GITHUB_TOKEN Permissions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v2' (SHA:5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f)
Download action repository 'r-lib/actions@v1' (SHA:55aea734d73636a0617990c2899c8f86ef8a9877)
Download action repository 'actions/upload-artifact@main' (SHA:11e311c8b504ea40cbed20583a64d75b4735cff3)
Getting action download info
Download action repository 'actions/cache@v2' (SHA:c64c572235d810460d0d6876e9c705ad5002b353)
Error: Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/_actions/r-lib/actions/v1/check-r-package'. Did you forget to run actions/checkout before running your local action?
你可以看到这里的一切repository
但无论如何,这是我用于回购的代码:
# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main]
pull_request:
branches: [main]
name: R-CMD-check
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macOS-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v2
- uses: r-lib/actions/setup-pandoc@v1
- uses: r-lib/actions/setup-r@v1
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v1
with:
extra-packages: rcmdcheck
- uses: r-lib/actions/check-r-package@v1
- name: Show testthat output
if: always()
run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true
shell: bash
- name: Upload check results
if: failure()
uses: actions/upload-artifact@main
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: check
欢迎任何帮助
注意错误消息中的这一部分:
Error: Can't find ... under '/home/runner/work/_actions/r-lib/actions/v1/check-r-package'
那是因为r-lib/actions@v1没有check-r-package
您可以将 uses: r-lib/actions/check-r-package@v1
更改为 uses: r-lib/actions/check-r-package@master
以使用包含 check-r-package 的最新操作。