-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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 for Linux editor builds with Mono installs .NET 6, but uses .NET 8 #86374
Comments
Also it's strange that nothing in the build process caught that we were using a language feature not supported by C# 10. This should also be looked into. |
This is incredibly strange. The GodotSharp |
It looks like the LangVer check was removed for the extended nameof feature before shipping C# 11. In CI we're using the image
In the build containers we are using |
It also seems to ship with the 6.0 SDK as well; I assume there's a way to specify which SDK gets used from the command line? |
I guess we could enforce the use of an older SDK with However, I'm not sure that's what we want. I think it may be preferable to change the build containers to use a newer SDK, specially since 6.0 will be out of support soon1 and 8.0 is LTS. Footnotes
|
We can update the SDK version we use in build containers to 8.0, yes. But the other question is whether we want to drop support for 6.0 already. If we don't have either official builds or CI testing .NET 6, we will introduce compat breakage as apparent from the PRs linked in the OP. If we're ok with making .NET 8 the minimum supported version, that's fine with me, but I don't know how reasonable it is in the .NET world to make the min version a release fresh out of the oven. |
If it was an intermittent release (eg: .NET 7) then I could understand not wanting to jump on it, but I don't see any real reason to not just bump up to LTS for convenience. That upgrade is gonna happen sooner or later, especially with the prospective extension migration on the horizon, so I'm all for it happening now |
Now a few months later, I wouldn't consider .NET 8 to be a fresh release anymore. I'm not sure how other distros do it but for Fedora it seems to take from a few weeks to a couple of months after a new .NET release to get it into the official repos. So at this point .NET 8 has been easily available for many months and I'd assume most other distros also have a way to get it by now. Also .NET 6 support ends already in just over 6 months. |
Well this was fixed by #88671 already. |
That's good. I guess I'm really more interested in getting to use the new runtime in Godot, which seems to be a separate PR that hasn't progressed recently: #71241 Please let me know if there are any more up to date information on this topic / issue I should watch for updates. This and that one pull requests where the only places I could find discussing the updating of .NET. |
You can already use .NET 8 for your project. IIRC you can set that in the .csproj file. Or are you running into specific issues? |
Thank you for getting me to double check this. I was sure that I had already checked this early on when I started porting my project to Godot 4, but when I now checked it just works when I specify |
Tested versions
N/a
System information
N/a
Issue description
Our CI setup for Linux editor builds with Mono has a step to install .NET 6:
And it does do something. However, in the next step where we build .NET solutions, we don't actually use .NET 6. Logs suggest we're using MSBuild 17.8 which equals SDK 8.0.1xx:
See https://learn.microsoft.com/en-us/dotnet/core/porting/versioning-sdk-msbuild-vs. At the same time, on our build server we do actually use .NET 6 / C# 10.
This means that builds which pass the CI do not build on the actual build server we use for official distributions. It also means we can accidentally bump our minimum supported version of .NET requirement for our internal solutions. This happened with #82983 and #85975, which passed CI but failed on the build server.
We need to either decide to actually bump the version (and update the build server), or fix up the CI and be more careful in the future.
Steps to reproduce
N/a
Minimal reproduction project (MRP)
N/a
The text was updated successfully, but these errors were encountered: