Here are some issues that we know about, beyond language support.
Secrets are not filtered
For the time being, secrets (whether they are defined in .travis.yml or on the Settings panel) are not filtered. Be mindful of potential leaks, and review
Caching is not yet supported
This is now working in production on both .com and .org.
Debug mode is not supported
NVS version names are different from those of NVM
As a result, some names in nvm do not work on Windows, and names on nvs do not work on Linux and macOS.
Have a funny feeling that Windows Defender play a role in yarn/npm install being really slow. Is it enabled? and if so, is yarn and npm cache added to the exclusion list?
Is there a way to run without the secret only for the Windows build? I have a code coverage token in my environment, but I only need that for a Linux build anyway.
In other words, a Travis CI encrypted environment variable in .travis.yml OR an environment variable in the Travis CI UI that doesn’t have “Display value in build log” checked, will cause a Windows job to hang.
Fix Schedule
Travis CI staff have not provided any estimate for a fix. In Oct. 2018, @josh said “we are working to address this.” Also, here. That’s the latest mention of a fix.
Thank you for the very detailed and collected response! Unfortunately, I don’t have any news to share yet on this front, but I’m seeing what can be shared in terms of progress and issues we’ve ran into to provide some greater visibility.
I am checking in to also report that I believe the Windows Secret build issue is a problem. Specifically, the windows build will not begin running anything and will terminate after 10 minutes. I am opposed to putting it into the “allowed failures” section, or exposing API secrets, or using “travis_wait”.
Left unaddressed, this represents a serious case of normalization of deviance and can hide more serious issues that only arise on windows builds. Please consider fixing this bug a priority. Thank you.
If there is a workaround that can cause windows to build without exposing the API secret, please post it here.
@BanzaiMan I’ve experienced a lot of issues and slow builds on windows, and it seems that most of them are caused by Windows Defender. Is it possible to turn off Windows Defender Realtime Monitoring on startup / add stuff to the WD exclusion sets, even before cloning the repository? Yarn install and installing yarn itself fails/is really slow when WD is enabled. I’ve been using something similar to the script below, which cuts off 12+ min on the yarn install. Everything else is also more reliable.
I think it would be worth adding the issue where casher fails to restore absolutely specified cache directories to this list, due to a missing -P flag for tar. This issue was identified by @Lekensteyn in https://github.com/travis-ci/casher/pull/38. It would have saved me a fair bit of time if I had known about this issue in advance.
Thanks for your great work in making Windows available on Travis!
I ran into the same issue and this makes Windows basically unusable. To collect artifacts from a job we need to sync them (e.g. via S3) but for that we need secrets
Is the fix for the Windows secret still “work in progress”, or at least planned in some future? Or is it a fundamental issue that will never be solved?