Upgrading to spectre.console 0.47.0 breaks the cake build (original) (raw)

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:

139 Assert.True(data.CompileResult.Elapsed > data.ExecuteResult.Elapsed, $"Compile time {data.CompileResult.Elapsed} should be greater than execute time {data.ExecuteResult.Elapsed}."); 140 Assert.Equal(data.CompileResult.Hash, data.ExecuteResult.Hash);

And also

152 Assert.True(data.ReCompileResult.Elapsed> data.ExecuteResult.Elapsed, $"ReCompileTime time {data.ReCompileResult.Elapsed} should be greater than execute time {data.ExecuteResult.Elapsed}."); 153 Assert.NotEqual(data.CompileResult.Hash , data.ReCompileResult.Hash);

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

  1. Create a branch from the most recent cake develop branch
  2. Open the solution and upgrade both spectre.console NuGet packages to 0.47.0
  3. Build and run tests locally (should all pass)
  4. Check-in and push, create PR
  5. Build then fails

Output log

https://github.com/cake-build/cake/actions/runs/5055159519
https://github.com/cake-build/cake/actions/runs/5055159519/jobs/9070991328#step:5:1035

image


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.