-
-
Notifications
You must be signed in to change notification settings - Fork 733
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
Upgrading to spectre.console 0.47.0 breaks the cake build #4157
Comments
@FrankRay78 issue seems to be that flags are no longer available as arguments for some reason after upgrading to _regenerateCache = host.Context.Arguments.HasArgument(Constants.Cache.InvalidateScriptCache); So something has changed in Spectre.Console in this regard. |
Checking the Spectre.Console command earlier return _builder.Run(context.Remaining, new BuildFeatureSettings(host) one can see by inspecting command / context new { settings.Recompile, context.Remaining.Parsed.Count } in {{ Recompile = True, Count = 1 }}
Count: 1
Recompile: true but in {{ Recompile = True, Count = 2 }}
Count: 2
Recompile: true |
Suspect it's this change in behavior That's breaking Cake. |
Wondering for Cake's sake if there were something like |
Thank you so much for this @devlead, a thoroughly useful investigation that was beyond my means. I'll pick this up from here and see if I can get it fixed in spectre.console |
@FrankRay78 any luck getting this addressed upstream? |
Thanks for the ping @devlead, life got in the way but I will move this to the top of my stack. |
Update: Looking into this now @devlead, I'm keen to get this sorted out. |
Excellent 👍 |
Ok, I can see what's going on. Basically 0.47.0 has tightened up the parsing. If an argument matches something in the settings class, then it's populated there and no longer appears in the I'm checking with the other spectre.console maintainers whether 0.47.0 is the intended behaviour going forward, and once I hear back, I will be able to determine the correct course of action. |
It's looking like the 0.47.0 behaviour is the correct one, so I will start to examine the Cake codebase for the required changes to support this updated behaviour (/breaking change). nb. Looks very similar to this Cake.Frosting issue, which was previously fixed: #3291
|
I'm closing this issue as #4236 was successfully merged, fully addressing it. |
🎉 This issue has been resolved in version v3.2.0 🎉 The release is available on: Your GitReleaseManager bot 📦🚀 |
Prerequisites
Cake runner
Cake .NET Tool
Cake version
Most recent develop branch (b55239f)
Operating system
Linux, Windows, macOS
Operating system architecture
64-Bit
CI Server
GitHub action on the main cake-build/cake repo
What are you seeing?
Something in spectre.console 0.47.0 breaks the Cake build, I've verified it conclusively on the following PR: #4156
I took the latest upstream develop branch and pushed it - the build passes. I then upgrade the spectre.console NuGet packages to 0.47.0 and re-push - the build fails with timing issues
The failure is originating in
tests\integration\Cake\ScriptCache.cake
, namely:And also
Even when I commented out the first Assert statement, the NotEqual Hash assert still fails (see commit: bbb2324)
What is expected?
The build to pass
Steps to Reproduce
develop
branchOutput log
https://github.com/cake-build/cake/actions/runs/5055159519
https://github.com/cake-build/cake/actions/runs/5055159519/jobs/9070991328#step:5:1035
cc: @patriksvensson (nb. I've spent a bit of time pushing different changes to the test PR, #4156, and still don't understand what's causing this.)
Next steps
One possibility is to locally build a NuGet package, for each spectre.console commit since 0.46.0, pushing them one by one to the test PR #4156, in order to try and identify exactly what change might be causing the cake build failure.
The text was updated successfully, but these errors were encountered: