使用 CI 设置 lintr

Setting up lintr with CI

我一直在尝试使用 GitHub 操作设置 lintr 包(circleCi 也很好,因为它是一个私人仓库)来检查 PR 和推送,但没有成功。

我的项目是一本书,所以我不需要包构建检查,但只需要强制风格,因为有几个作者。

我读过这个 readme and this article 但我无法弄清楚 在这种情况下 .yml 文件应该是什么样子.

明白了。仍然需要缓存 lintr 但至少它在工作:

on:
  push:
    branches:
      - master

  pull_request:
    branches:
      - master

name: lint

jobs:
  lint:
    runs-on: macOS-latest
    env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

    steps:
      - uses: actions/checkout@v2

      - uses: r-lib/actions/setup-r@master

      - name: Install lintr
        run: install.packages("lintr")
        shell: Rscript {0}

      - name: Lint

        run: lintr::lint_dir(linters = lintr::with_defaults(assignment_linter = NULL, line_length_linter = NULL, spaces_left_parentheses_linter = NULL), pattern = '[.]R$|[.]Rmd')
        shell: Rscript {0}