Use only Windows Server 2019 runners for CI in GitHub Actions#4883
Merged
chrisd8088 merged 2 commits intogit-lfs:mainfrom Feb 23, 2022
Merged
Use only Windows Server 2019 runners for CI in GitHub Actions#4883chrisd8088 merged 2 commits intogit-lfs:mainfrom
chrisd8088 merged 2 commits intogit-lfs:mainfrom
Conversation
The .github/workflows/ci.yml file only need to be readable, not executable, so we revise its file permissions.
c20f43c to
c520cf0
Compare
The "gem install ronn" step in our Windows CI workflow currently fails on newer Windows Server 2022 GitHub Actions runners, due to possibly some missing C headers or libraries. Ideally we would continue to use the "windows-latest" runners and adjust the step which runs the now-deprecated "actions/setup-ruby" action so that it runs "ruby/setup-ruby" instead. However, doing so introduces a set of problems whereby a different Bash shell is used and our PATH environment variable settings are not respected, the result being that when our tests run "git lfs" the system default Git LFS binary is found by Git and executed instead of the newly-built git-lfs.exe which we want to test, leading to many failures. So, for the time being, we resort to fixing our Windows CI and release runners to use Windows Server 2019, until the problems can be sorted out upstream.
c520cf0 to
f4ab4e7
Compare
bk2204
approved these changes
Feb 23, 2022
bk2204
pushed a commit
that referenced
this pull request
Apr 19, 2022
Use only Windows Server 2019 runners for CI in GitHub Actions
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
May 7, 2022
In commit f4ab4e7 of PR git-lfs#4883 we noted that the "gem install ronn" step in our Windows CI workflows currently fails on newer Windows Server 2022 GitHub Actions runners, due to possibly some missing C headers or libraries. While this could be resolved by upgrading to the "ruby/setup-ruby" action from the deprecated "actions/setup-ruby" one, that introduced a series of issues with PATH lookups as documented in ruby/setup-ruby#293. We therefore chose to continue using Windows 2019 runners until a resolution or workaround was found. Fortunately, as of commit 912b607 in PR git-lfs#4992 we are now using the ronn-ng Ruby gem instead of the unmaintained ronn gem, and the "gem install ronn-ng" workflow step succeeds on Windows 2022 while still using the "actions/setup-ruby" action to install a Ruby build environment. This allows us to upgrade to the latest Windows runners in GitHub Actions, although we can't yet upgrade to the "ruby/setup-ruby" workflow action. h/t to @bk2204 for finding ronn-ng!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
gem install ronnstep in our Windows CI workflow currently fails on newer Windows Server 2022 GitHub Actions runners, due to possibly some missing C headers or libraries. The error looks like:Ideally we would continue to use the
windows-latestrunners and adjust the step which runs the now-deprecatedactions/setup-ruby@v1action so that it runsruby/setup-ruby@v1instead, as recommended.However, doing so introduces a set of problems whereby a different Bash shell is used and our
PATHenvironment variable settings are not respected, the result being that when our tests rungit lfsthe system default Git LFS binary is found by Git and executed instead of the newly-builtgit-lfs.exewhich we want to test, leading to many test failures.So, for the time being, we resort to fixing our Windows CI and release runners to use Windows Server 2019, until the problems can be sorted out upstream.
Also, because the
.github/workflows/ci.ymlfile only needs to be readable, not executable, we revise its file permissions./cc actions/runner-images#5100
/cc ruby/setup-ruby#293