Allowing Windows CI to fail

Ben Gamari ben at well-typed.com
Mon Feb 3 16:02:32 UTC 2020


Hi everyone,

After multiple weeks of effort struggling to get Windows CI into a stable
condition I'm sorry to say that we're going to need to revert to
allowing it to fail for a bit longer. The status quo is essentially
holding up the entire merge queue and we still seem quite far from
resolving the issues.

I have summarised the current state-of-play in #17777. In short, the
gcc toolchain likely can't be used reliably on Windows due to its
ubiquitous use of `exec`, which cannot be reliably implemented on
Windows.

Switching to LLVM as our native toolchain was my (initially promising)
last-ditch attempt at avoiding this issue but sadly this looks to be a
long road. My current attempt is stuck on an inscrutable loader error.

For the short-term, I am afraid I have run out of time for this effort.
My current plan is to merge what I can from my wip/windows-ci branch but
again enable the Windows CI jobs' allow_failure flag so that its
unreliable nature doesn't hold up otherwise-passing CI jobs.

While it's unfortunately that we still lack reliable CI on Windows,
I think the effords of the last few weeks were quite worthwhile. We now
have:

 * A much better understanding of the issues affecting us on Windows
 * Significantly better documentation and automation for producing our
   mingw toolchain artifacts
 * better scripting for setting up Windows CI runners
 * fixed several bugs in the ghc-jailbreak library used to work
   around the Windows MAX_PATH limitation

Many thanks to Tamar Christina for his many hours of patient help.
Without him, GHC's Windows support would be in significantly worse shape
than it is.

Users of GHC should note that the CI issues we are struggling with *do
not* affect compiled code. These bugs manifest only as (rare) failed
compilations (particularly when building GHC itself); however, once
compilation succeeds the program that results is correct and reliable.

Cheers,

- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20200203/14adab9a/attachment.sig>


More information about the ghc-devs mailing list