rgithub-actionspkgdown

Git doesn't know my name/email when Github Actions deploy R package documentation and breaks


For a while now I've been happily using Github's Actions to run my library's R CMD check and deploying the package's documentation. Suddenly the package action started failing with the following error:

── Commiting updated site ──────────────────────────────────────────────────────
Running git add -A .
Running git commit --allow-empty -m 'Built site for lares: 4.9.0@d936943'

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'runner@Mac-1594850189701.(none)')

Error: System command 'git' failed, exit status: 128, stdout & stderr were printed

 Stack trace:

 1. pkgdown::deploy_to_branch(new_process = FALSE)
 2. pkgdown:::github_push(dest_dir, commit_message, remote, branch)
 3. pkgdown:::with_dir(dir, { ...
 4. base:::force(code)
 5. pkgdown:::git("commit", "--allow-empty", "-m", commit_message)
 6. processx::run("git", c(...), echo_cmd = echo_cmd, echo = echo,  ...
 7. throw(new_process_error(res, call = sys.call(), echo = echo,  ...

 x System command 'git' failed, exit status: 128, stdout & stderr were printed 

── Removing worktree ───────────────────────────────────────────────────────────
Running git worktree remove \
  /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/Rtmpp2vz58/file888686837c1
Execution halted
##[error]Process completed with exit code 1.

I've tried running those commands with my name and email from RStudio's terminal, tried from different computers I code, checked pkgdown::deploy_to_branch() documentation... with no success.

Any idea how to solve this? What am I not seeing? Is it a bug on something that recently changed?


Solution

  • - run: |
           git config --global user.email "you@example.com"
           git config --global user.name "Your Name"
    

    Just add step like that somewhere in your workflow.

    In fact, it looks you already (almost) wrote a fix but decided for some reason to use Rscript as shell for that, and didn't close '. That threw other kind of error so you kicked it out and are back at square one :)