Windows is Available (Early Release)

We’re proud to announce that, starting today, Travis CI supports the Windows operating system! You and your team can now run your tests on Linux, Mac, and Windows - all in the same build.

Windows is available right now to everyone with open-source and private projects on either travis-ci.org or travis-ci.com, with plans to bring it to Enterprise soon. This is our very first full approach to Windows-support, so the tooling is light - and we want your feedback on our community forum. Come get started!

We know folks have been looking forward to Windows support for a long time: issue #2104 gives some insight into our initial planning, and our amazing Hiro Asari, joined in 2013 to work on the project. Hiro developed a few early proofs-of-concept, but other work jumped ahead, and Hiro quickly became the voice on our GitHub issues, and the maintainer/developer of travis-build and dpl. After all this time, and a handful more prototypes, Windows support is finally ready – we’re thrilled to share it with you.

And, our good friends over at npm are as enthusiastic as we are!

Today’s announcement is exciting news. We know that over 40% of npm users are installing on Windows machines, but until today only a tiny fraction of packages were actively running Windows tests in CI. Adding Windows support to Travis CI will provide a more stable development experience for a huge segment of the JavaScript community—32% of projects in the npm Registry use Travis CI. We look forward to continuing to work with Travis CI to reduce developer friction and empower over 10 million developers worldwide to build amazing things. —Laurie Voss, Chief Operating Officer, npm, Inc.

We can’t wait to expand the Windows Build Environment to support all the fantastic work happening in your teams and communities!

Windows Build Environment

The Windows build environment launches with support for Node.js, Rust, and Bash languages. We run a git bash shell, to maintain consistency with our other bash-based environments. This also allows you to shell out to PowerShell as needed. In addition, Docker is also available for Windows builds.

We use Chocolatey as a package manager, and pre-install Visual Studio 2017 Build Tools to help. You can check out all of the packages currently shipped with our Windows build environment in the docs. The Windows build environment is currently based on Windows Server 1803 for containers running Windows Server 2016 as the OS version.

We’re hosting our Windows virtual machines in Google Compute Engine, though we’re seeing some variation in the boot times. Alongside our other infrastructure-related work right now, we’ll be improving this as we go.

Getting Started

To run a Windows build, add the following to your .travis.yml:

os: windows

You can also test on multiple operating systems with the following:

os:
  - windows
  - linux
  - osx

There are also a few cool projects building on Windows already, such as:

Have a look at these for ideas and inspiration!

Next Steps

After this early release, we’ll improve the build environment and runtime tool installations and configurations based on your input. We expect to iterate quickly over the next 3-6 months, and are planning for a stable release in Q2 of 2019. Around this time, we expect to release Windows Build Environments for Enterprise. Please let our Enterprise team know if you want in early!

Share Your Feedback!

To move Windows forward to the next level, we really need your input – especially if you develop for or on Windows! What tools do you expect? How should the environment work? What do you need to see to make it easy for your team to get started? Let us know on the community forum. We’re trying to build the best CI for the best CI community and would love to hear from you.

Also, huge thanks to folks who have helped so far – especially to Jordan Harband, Alex Crichton, Tianon Gravi, and many others! 💛

We can’t wait to hear your thoughts on Windows at Travis CI!