I have been trying to start using github actions for continuous integrations in my packages, however,even though I am using the premade functions of usethis package it is not working, and the runners stop immediately.
I have tried with the following functions:
usethis::use_github_action_check_standard()
And this one:
usethis::use_github_action_check_release()
but they both fail with the following message:
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?
You can see everything in this repository
But in any case this is the code I use for the repo:
# 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
Any help is welcome
CodePudding user response:
Notice this part in error message:
Error: Can't find ... under '/home/runner/work/_actions/r-lib/actions/v1/check-r-package'
That's because r-lib/actions@v1 does not have check-r-package.
You can change uses: r-lib/actions/check-r-package@v1
to uses: r-lib/actions/check-r-package@master
to use the latest action which contains check-r-package.