-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
[ci] Move R Windows CI to GitHub Actions #3168
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jameslamb Wow! Surprised how fast you've got it work! You are truly magician!
Is everything OK with return code from Run-R-Code-Redirect-Stderr
?
Just some minor comments:
Co-authored-by: Nikita Titov <[email protected]>
@jameslamb Very strange error at master
|
😱 I have never seen that one! |
This pull request has been automatically locked since there has not been any recent activity since it was closed. To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues including a reference to this. |
This PR addresses #3065 (review), moving all Windows R CI jobs to GitHub Actions.
Why this is important
This should reduce the total runtime of CI for this project. GitHub Actions allows 20 concurrent builds...AppVeyor (which we currently use) allows 1 😬
While testing on my fork, I found that thanks to this concurrency, all 12 jobs for R run in 12-13 minutes!!!
As of this PR, we will have four R Windows jobs all in GitHub Actions:
MSYS2
toolchainMINGW
toolchainYou can see the full details of software versions for the GitHub Actions environments here.
What I Changed
We didn't move R jobs into GitHub Actions in #3119 because of the issues with Powershell jobs on GitHub Actions (https://github.community/t/powershell-steps-fail-nondeterministically/115496) / Powershell itself (PowerShell/PowerShell#12823).
R
,Rscript
, andinitexmf
all produce harmless messages tostderr
, which could trigger the issues linked above. I tried many approaches to fix this, including:$null
$ErrorActionPreference = "SilentlyContinue"
-ErrorAction
flagOut-Null
with|
Out-String
with|
None of these approaches worked, but the one in this PR did: calling these commands with
R
and using R's built-in redirection,sink()
.