Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows 10 linux subsystem support #1295

Closed
den-run-ai opened this issue Feb 2, 2017 · 43 comments
Closed

windows 10 linux subsystem support #1295

den-run-ai opened this issue Feb 2, 2017 · 43 comments

Comments

@den-run-ai
Copy link

den-run-ai commented Feb 2, 2017

this is also called WSL or Bash on Windows.

@den-run-ai
Copy link
Author

It is now possible to install linux subsystem on preview builds of Windows Server 2016:

https://msdn.microsoft.com/en-us/commandline/wsl/install-on-server

@IlyaFinkelshteyn
Copy link
Contributor

IlyaFinkelshteyn commented Nov 8, 2017

Hi Denis, this OS is still insider preview as I understand. Actually we are going to support Linux VMs for build in near future, so you could run Windows and Linux builds side-by-side. Would it be better alternative?

@sjackman
Copy link

sjackman commented Nov 8, 2017

I'm interested in testing our command line tool on WSL. I already have CI set up to test it on Linux.

@IlyaFinkelshteyn
Copy link
Contributor

This will be available when this become part of generally available Windows Server. Does anyone knows if this is going to be only with "Core" SKU or with UI-based version too?

Another option (if you need this ASAP) is to you own build worker image with private build cloud feature, but this feature is available for Premium accounts only right now.

@riban-bw
Copy link

riban-bw commented Jan 5, 2018

Appveyor now supports Server 2016. Is it time to review this request?

@BR0kEN-
Copy link

BR0kEN- commented Apr 24, 2018

Current build is 14393 and it would be awesome if there be a possibility to update it to, at least, 16215.

@felixfbecker
Copy link

Is there a workaround? Is it possible to install WSL as part of the build?

@FeodorFitsner
Copy link
Member

@felixfbecker what's business case for having WSL on build workers? Could you please elaborate?

@jhecking
Copy link

@FeodorFitsner, for me at least, the business case for WSL is the same as that for supporting Linux docker containers on Windows: I am developing a client SDK that needs to run on Linux and Windows, but the server only runs on Linux. In order to run integration tests for the client on Windows, I need to be able to spin up a server instance, using either WSL or a Linux docker container instance. Solving either of these two issues would solve my use case.

@FeodorFitsner
Copy link
Member

Ah, nice, this is what I wanted to hear 😄

@felixfbecker
Copy link

@FeodorFitsner In my case, I want to test that a CLI works correctly inside WSL. Actual Linux CI wouldn't solve this (otherwise I could just use Travis).

@FeodorFitsner
Copy link
Member

Cool, will be working on Windows 10 support later this year.

@chuckatkins
Copy link

what's business case for having WSL on build workers? Could you please elaborate?

I would very much like to have this. We explicitly target the engineering and scientific research communities. Most of our users work remotely on large Linux clusters but when developing locally on their laptop, they're usually using Windows on a machine issued by their organization. As such, some of them chose to just natively use our tools in a Windows development environment while others just use WSL in order to continue to use a familiar preferred environment. It effectively removes much of the use case for Cygwin and/or MinGW environments.

So in short, having WSL available on the build workers is useful because it's a widely used environment by my customers.

@NickCraver
Copy link

Another use case here: Microsoft abandoned the Windows port of Redis server (MS Open Tech has shut down), so for our tests in StackExchange.Redis we're unable to test any feature since 3.0 (and even test those reliably since the port isn't 100%). Locally, we get around this by using WSL to run the latest version without any issues and still test against localhost. We can't wait for this to be available on Appveyor since it's essential to testing any new features we add support for.

@FeodorFitsner
Copy link
Member

@NickCraver we offer "premium" build VMs with Docker and nested virtualization enabled, so you can spin off Linux containers inside Windows build: https://ci.appveyor.com/project/appveyor-tests/docker-ce

That offer is not free for OSS though, but will cost $50/job/month.

@felixfbecker
Copy link

@FeodorFitsner I don't think that would solve our case - we want to test applications specifically WSL to make sure they run properly in WSL, to make sure users/customers can run the application in WSL (which is not a given just because it runs in Linux, because WSL has many caveats/weirdnesses).

@FeodorFitsner
Copy link
Member

OK, the Windows 10 workers is the way to go.

@jonashackt
Copy link

Is there any progress on the WSL support?

@billziss-gh
Copy link

@FeodorFitsner any progress on this?

Being able to test against WSL would be very useful for my project WinFsp, because WinFsp file systems can now be mounted in WSL. I would like to add tests to regularly test this functionality via AppVeyor CI.

It is my understanding that Windows Server supports WSL (as mentioned earlier) and I could perhaps write scripts to enable/install WSL, but it would be even better if the functionality came preinstalled.

@IlyaFinkelshteyn
Copy link
Contributor

IlyaFinkelshteyn commented Apr 28, 2019

We recently introduced Windows Server 2019 image, which has Docker for Windows and WSL to implement any kind of hybrid scenarios. Please see usage example.

Note that this image is running on Azure so be prepared for 3-4 minutes Starting stage (time to fire an Azure VM).

This image is available per request for now. @billziss-gh it is enabled for you.

If anybody else want to try this image, please ping us here or send a email to team@appveyor.com

@billziss-gh
Copy link

@IlyaFinkelshteyn thank you, much appreciated!

@alexfmpe
Copy link

alexfmpe commented May 3, 2019

@IlyaFinkelshteyn I'd like to try out the WS2019 image, if possible.

I've been meaning to get a WSL CI going for reflex-platform, for ages, since we depend on nix which doesn't run natively on Window. Some people have reported success with our project under WSL, but because there's far less users, it's hard to be aware when WSL in particular breaks, or to claim any kind of support for it.

@IlyaFinkelshteyn
Copy link
Contributor

@alexfmpe what is your AppVeyor account?

@alexfmpe
Copy link

alexfmpe commented May 3, 2019

alexteves13469 I think. It was linked to my github account, but showing an old (2-3 years) old username, for which the redirect no longer works. Re-linked properly now.

@IlyaFinkelshteyn
Copy link
Contributor

@alexfmpe OK, it has been enabled

@alexfmpe
Copy link

alexfmpe commented May 3, 2019

Yop, I see it now. Thanks a lot

@juju4
Copy link

juju4 commented May 4, 2019

@IlyaFinkelshteyn interested too to test! Thanks a lot!

@IlyaFinkelshteyn
Copy link
Contributor

@juju4 sure, enabled :)

@xeijin
Copy link

xeijin commented Jun 15, 2019

@IlyaFinkelshteyn please could you enable for my AppVeyor account also? Same username as here. Many thanks!

@IlyaFinkelshteyn
Copy link
Contributor

@xeijin done

@stephengroat
Copy link

any hope of getting the Windows Server 2019 on the stephengroat account? want to test wsl for haskall and shellcheck

@IlyaFinkelshteyn
Copy link
Contributor

@stephengroat sure, enabled. Let us know if you have any issues.

@patrick330602
Copy link

Is it still possible to get the Windows Server 2019 for CI? I hope to test my WSL-specific project with bats on WSL. If it is still possible, my account is patrick330602.

@IlyaFinkelshteyn
Copy link
Contributor

@patrick330602 sure, done.

@chuckatkins
Copy link

@IlyaFinkelshteyn can you please enable WSL for the ornladios/adios2 account / project that I admin?

@FeodorFitsner
Copy link
Member

Hey @chuckatkins, we've just deployed an updated to Visual Studio 2019 image with Docker/WSL/Hyper-V installed. You can try WSL on Visual Studio 2019 image: https://www.appveyor.com/docs/windows-images-software/#wsl. Let me know how that worked!

@TheLastProject
Copy link

I'm having trouble actually getting anything to run under wsl: https://ci.appveyor.com/project/TheLastProject/pext/builds/28051440#L178

wsl bash prepare_activate_translations.sh 70 https://hosted.weblate.org/exports/stats/pext/?format=json
Calls one batch program from another.
CALL [drive:][path]filename [batch-parameters]
  batch-parameters   Specifies any command-line information required by the
                     batch program.
If Command Extensions are enabled CALL changes as follows:
CALL command now accepts labels as the target of the CALL.  The syntax
is:
    CALL :label arguments

Am I doing something wrong? Isn't just running wsl supposed to work?

@TheLastProject
Copy link

Ah, prefixing it wish ps: works. So, if I use ps: wsl bash prepare_activate_translations.sh 70 https://hosted.weblate.org/exports/stats/pext/?format=json in my .appveyor.yml all is good.

@FeodorFitsner
Copy link
Member

Oh, good to know, thanks for the update!

@khs1994
Copy link

khs1994 commented Nov 29, 2019

Can update docker CE to 19.03 on Windows Server 2019 ? current is 18.09

@FeodorFitsner
Copy link
Member

@khs1994 I've added a separate issue for that: #3229 We are trying to consolidate both Windows Server 2019 and Visual Studio 2019 images, so it might be better to have Docker CE on VS 2019 image instead Docker EE.

@MeFisto94
Copy link

This can be closed now that WSL is part of the Visual Studio 2019 environment, right?

@FeodorFitsner
Copy link
Member

Exactly, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests