I want to report an issue that I faced when migrating from Travis CI to GitHub Actions. To get started with GitHub Actions, I used
usethis::use_github_action_check_standard(). R-CMD-check.yaml tells me that I should report issues here.
The polmineR package I develop and maintain is a package for text analysis, so encodings matter. To iconv data to the session charset, I frequently use
localeToCharset(). Yet on GitHub Action ubuntu-20.04, localeToCharset() yields
NA values, which caused package tests to fail. Note that this does not occur in Windows and macOS test environments.
The solution I found for my package is to introduce a call to
Sys.setlocale("LC_CTYPE", "en_US.UTF-8") in the workflow before
rcmdcheck::rcmdcheck(). Then the package can be built including the vignette, but package tests would still fail. So I enforced (re-)setting the locale in zzz.R to US.UTF-8 if
NA. This is not yet a CRAN-compatible solution at this stage.
I do not yet fully understand what's wrong! By including a
Sys.getlocale() call before
rcmdcheck::rcmdcheck(), I learn that the locale is
localeToCharset() should be able to process this. However,
Sys.setlocale("LC_CTYPE", "C.UTF-8") is not possible. But I do not guess that this is really the problem?
Even though I have found a workaround, I want to report that the default "R CMD check" workflow will not work out of the box because the locale is set in a way that may raise problems within R. If including
Sys.setlocale("LC_CTYPE", "C.UTF-8") is not yet enough, what would do the job? This is what I do not know.
And note that this is a Linux issue, things work out of the box in the Windows and macOS test environments!
Anyway, thanks for your great work that is tremendously helpful for using GitHub Actions.