Current known issues — Please read this before posting a new topic

#1

Here are some issues that we know about, beyond language support.


VM fails to come up if you have secrets

This happens whether they are in Settings, or encrypted in .travis.yml.

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.

Compare nvm names (via nvm install) and nvs names (via nvs add).

Deployment is not yet supported

Deployment can now be initiated.


Individual deployment provider may still fail. If you are inclined, take a look at https://github.com/travis-ci/dpl/ and send a PR (or two, or three) to make your favorite deployment provider Windows-compatible.

4 Likes
Python support on Windows
Windows Early Release
Windows job stopped because of sudden no output
Command 'npm i -g npm@latest' fails
Windows VM not booting
Travis hangs after worker information
Perl support on Windows
Unexpected windows job failure
Uknow error. Windows build
Powershell Scripts Fail to Run with No Error Message
#3

Is there any chance to understand when problem with vm startup with secrets to be fixed?
Thank you in advance!

8 Likes
#4

Would love to know the current status of the secrets issue too

4 Likes
#5

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?

#6

Without secret keys, how would I deploy stuff to AWS S3 without announcing my secret id and key to the world?

3 Likes
#7

Secrets env keys are a huge blocker for us as well. :frowning:

5 Likes
#8

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.

#9

Any eta for the secrets issue? It will help a lot to understand when to plan work to dedicate to Travis

6 Likes
#10

Secrets-Are-Killing-Windows Current Summary

Issue

:point_right: :point_right: If you have a secure variable, Windows will hang.

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.

Workarounds

You can add filter_secrets: false to your .travis.yml but, according to @dominic, this risks revealing your secrets.

For example, suppose this is your .travis.yml:

jobs:
  include:
    - os: windows
      language: sh
      filter_secrets: false
      before_install:
        - echo $super_secret_password

In the job log, you’ll see your $super_secret_password in the clear. Without filter_secrets: false, you would instead see [secure].

You can also allow failures for Windows builds and hope that at some point it will not be necessary:

jobs:
  allow_failures:
    - os: windows
  include:
    - stage: test
      python: 3.7
      dist: xenial
    - stage: test
      os: windows
      language: sh
      python: 3.7

Topics Relating to the Issue

  1. Windows Instances Hanging Before Install
  2. Choco install hangs forever
  3. Perl support on Windows
  4. Docker Windows containers on Windows
  5. Windows job stopped because of sudden no output
  6. Node.js build fails with no obvious error
  7. Build log appears to be incomplete for failed build
  8. Travis hangs after worker information
  9. Unexpected windows job failure
  10. "choco install" fails instantly with no output or reported error code, no indication of what's wrong
  11. Windows CI not starting
  12. Windows builds failing when using env vars
  13. Uknow error. Windows build
10 Likes
Choco install hangs forever
Windows CI not starting
Windows builds failing when using env vars
Windows cmake build fails with no log error
"choco install" fails instantly with no output or reported error code, no indication of what's wrong
Deploy not in parallel using a matrix on multiple OSs
Perl support on Windows
#11

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. :slight_smile:

2 Likes
pinned #12
#13

Awesome overview of the issue @YakDriver! Thank you!

Regarding filter_secrets: false, a recommendation would be to set it only on the Windows job when testing on multiple OSes e.g.

os:
  - linux
  - osx

jobs:
  include:
    - os: windows
      filter_secrets: false
3 Likes
#14

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.

4 Likes
#15

@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.

export NODEPATH=$(where.exe node.exe)
export PROJECTDIR=$(pwd)
export YARNCACHE=$(yarn cache dir)
export TEMPDIR=$LOCALAPPDATA\\Temp

powershell Add-MpPreference -ExclusionProcess ${NODEPATH}
powershell Add-MpPreference -ExclusionPath ${YARNCACHE}
powershell Add-MpPreference -ExclusionPath ${PROJECTDIR}
powershell Add-MpPreference -ExclusionPath ${TEMPDIR}

echo "DisableArchiveScanning..."
powershell Start-Process -PassThru -Wait PowerShell -ArgumentList "'-Command Set-MpPreference -DisableArchiveScanning \$true'"

echo "DisableBehaviorMonitoring..."
powershell Start-Process -PassThru -Wait PowerShell -ArgumentList "'-Command Set-MpPreference -DisableBehaviorMonitoring \$true'"

echo "DisableRealtimeMonitoring..."
powershell Start-Process -PassThru -Wait PowerShell -ArgumentList "'-Command Set-MpPreference -DisableRealtimeMonitoring \$true'"
1 Like
#16

Is there any update on the Windows secrets issue? It’s a huge blocker and I can’t find any real mention of it since October :frowning:

5 Likes
#17

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!

1 Like