Secrets-Are-Killing-Windows Current Summary
Issue
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
- Windows Instances Hanging Before Install
- Choco install hangs forever
- Perl support on Windows
- Docker Windows containers on Windows
- Windows job stopped because of sudden no output
- Node.js build fails with no obvious error
- Build log appears to be incomplete for failed build
- Travis hangs after worker information
- Unexpected windows job failure
- "choco install" fails instantly with no output or reported error code, no indication of what's wrong
- Windows CI not starting
- Windows builds failing when using env vars
- Uknow error. Windows build