Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building Windows R templates via GitHub Actions #29

Open
ESKYoung opened this issue Jun 10, 2021 · 0 comments
Open

Building Windows R templates via GitHub Actions #29

ESKYoung opened this issue Jun 10, 2021 · 0 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@ESKYoung
Copy link
Collaborator

ESKYoung commented Jun 10, 2021

I've tried to write GitHub Actions for CI purposes. One of them builds templates for various OS, Python versions, and R versions. During the template build, it will check that there are no errors building Sphinx documentation, and that the pre-commit hooks run cleanly.

This seems to work well for both ubuntu and macOS, aside from a relatively long processing time for R pre-commit hooks occasionally. However, for Windows, I run into the following error for the R pre-commit hooks (whilst building a project called example):

Running "C:/R/bin/x64/Rcmd.exe" INSTALL \
  "C:\Users\RUNNER~1\AppData\Local\Temp\RtmpKsZqKO/example_0.0.1.tar.gz" \
  --install-tests 
* installing to library 'D:/a/_temp/Library'

* installing *source* package 'example' ...

** using staged installation

** libs



*** arch - i386

no DLL was created

ERROR: compilation failed for package 'example'

* removing 'D:/a/_temp/Library/example'


Error: Error: System command 'Rcmd.exe' failed, exit status: 1, stdout & stderr were printed

 Stack trace:

 1. base:::source("startup.R")
 2. base:::withVisible(eval(ei, envir))
 3. base:::eval(ei, envir)
 4. base:::eval(ei, envir)
 5. devtools::install()
 6. pkgbuild::with_build_tools(required = FALSE, callr::rcmd("INSTALL",  ...
 7. withr::with_path(rtools_path(), code)
 8. base:::force(code)
 9. callr::rcmd("INSTALL", c(install_path, opts), echo = !quiet,  ...
 10. callr:::run_r(options)
 11. base:::with(options, with_envvar(env, do.call(processx::run,  ...
 12. base:::with.default(options, with_envvar(env, do.call(processx::run,  ...
 13. base:::eval(substitute(expr), data, enclos = parent.frame())
 14. base:::eval(substitute(expr), data, enclos = parent.frame())
 15. callr:::with_envvar(env, do.call(processx::run, c(list(bin, args = real_cmd ...
 16. base:::force(code)
 17. base:::do.call(processx::run, c(list(bin, args = real_cmdargs,  ...
 18. (function (command = NULL, args = character(), error_on_status = TRUE,  ...
 19. throw(new_process_error(res, call = sys.call(), echo = echo,  ...

 x System command 'Rcmd.exe' failed, exit status: 1, stdout & stderr were printed 

Execution halted

Run roxygen2::roxygenize()...............................................(no files to check)Skipped
Run sethis::use_tidy_description()...........................................................Passed
Run lintr::lint()............................................................................Passed
Check README.Rmd has been rendered to README.md..............................................Failed
- hook id: readme-rmd-rendered
- exit code: 1

Executable `/bin/bash` not found

Check for valid R code using the parse() function............................................Passed
Check for accidential browser() statements...................................................Passed
Error: Process completed with exit code 1.

I don't have this issue when building a new project and running the R pre-commit hooks on my local Windows machine, only on GitHub Actions. As I'm not an active R user, I'm opening this up to others to fix.

In the meantime, I will limit the template build CI to only ubuntu and macOS - the GitHub Action exists on the tidy-repository branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant