0

我一直在尝试开始在我的包中使用 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?

您可以看到此存储库中的所有内容

但无论如何,这是我用于回购的代码:

# 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

欢迎任何帮助

4

1 回答 1

3

请注意错误消息中的这一部分:

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@v1uses: r-lib/actions/check-r-package@master使用包含 check-r-package 的最新操作。

于 2021-09-15T12:02:11.147 回答