Before you tell me that the way to run .fsx
scripts in .NETCore/.NET5(or higher) is dotnet fsi
, FYI: I know that already. I just can't upgrade yet, so I'm still running my .fsx scripts with the good-old .NET 4.x Framework.
To do this, and to run them under GithubActions CI, I had this handy fsi.bat
file:
@ECHO OFF
SET ENTERPRISE="%ProgramFiles(x86)%Microsoft Visual Studio2019EnterpriseCommon7IDECommonExtensionsMicrosoftFSharpfsi.exe"
SET COMMUNITY="%ProgramFiles(x86)%Microsoft Visual Studio2019CommunityCommon7IDECommonExtensionsMicrosoftFSharpfsi.exe"
SET BUILDTOOLS="%ProgramFiles(x86)%Microsoft Visual Studio2019BuildToolsCommon7IDECommonExtensionsMicrosoftFSharpfsi.exe"
IF EXIST %ENTERPRISE% (
SET RUNNER=%ENTERPRISE%
) ELSE (
IF EXIST %COMMUNITY% (
SET RUNNER=%COMMUNITY%
) ELSE (
IF EXIST %BUILDTOOLS% (
SET RUNNER=%BUILDTOOLS%
) ELSE (
ECHO fsi.exe not found, is F# installed?
EXIT /b 1
)
)
)
%RUNNER% %*
This was working fine... until yesterday.
Somehow GitHub (or should I say Microsoft...) decided to upgrade their production VMs for GitHub Actions and now all my builds are failing.
So I have three questions:
- What is the location now? I don't see that VS2020 has been released yet?
- Any better way to find fsi.exe moving forward that cannot break after upgrades?
- How to choose a more stable GitHubActions VM that doesn't bring breaking changes from time to time? Don't just tell me to yell at Nat Friedman on twitter :)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…