aswf-docker icon indicating copy to clipboard operation
aswf-docker copied to clipboard

What about Windows containers?

Open darkvertex opened this issue 3 years ago • 6 comments

Hey guys,

First of all let me say to anyone involved that you've done an amazing job with these containers and tagging them very well. Kudos! :)

I was wondering if there has been thoughts about providing Windows10 containers for the VFX Platform?

Has anyone started or tried already?

darkvertex avatar Aug 26 '20 17:08 darkvertex

The VFX Platform 2021 now specifies versions of Visual Studio and Windows SDK, and I think it would be useful to have Windows build containers. One thing that got lost in the transition of ASWF projects from Azure Pipelines to GitHub Actions is that currently GHA does not support "build inside a container" on Windows runners, hopefully that will show up at some point.

I believe that any submissions that would add support for building Windows containers would be welcome.

jfpanisset avatar Sep 12 '20 00:09 jfpanisset

Unfortunately I don't think we can make windows containers available for licensing reasons. See https://github.com/conan-io/conan-docker-tools/blob/master/msvc_15/Dockerfile as an example of windows docker recipe that works but cannot be redistributer... That said I'll start looking soon at building windows conan packages for all the linux packages we already have, and this means you should be able to get a similar feature set as what we have on linux already... not there yet!

aloysbaillet avatar Nov 23 '21 05:11 aloysbaillet

The MICROSOFT SOFTWARE SUPPLEMENTAL LICENSE FOR WINDOWS CONTAINER BASE IMAGE discusses at length the need for a valid license for the OS running the container (which a GHA Windows runner would have), but I've yet to find an unambiguous reference to the specific case of hosting / redistributing a container image where the base layer is a Windows Container Base Image, or for that matter a container image including an installation of MSVC. So while I think we could add support for building Windows containers similarly to the Linux ones and run test builds, it would be preferable not to publish these build artifacts without specific guidance.

Building and pushing Conan Windows packages is probably much more immediately useful anyway.

jfpanisset avatar Nov 23 '21 20:11 jfpanisset

Looking at How We Cut Our Docker Push Time by 90%, it seems it may be possible to only push the additional layers to the repository without having to copy the base image (with further possible complication since WIndows Container Base Images now live on mcr.microsoft.com). That wouldn't help to deal with a layer containing the MSVC install, but it might mean you can push a container that only references the official Microsoft containers, not bundle them.

Could be also interesting to see if this approach might avoid having to upload the CentOS 7 base layer for Linux containers?

jfpanisset avatar Nov 23 '21 21:11 jfpanisset

Hell, even if you don't provide the nicely tagged prebuilt Windows Docker images, if there's a good Dockerfile that one can "docker build" and "it just works", that'd already be a huge improvement over nothingness. 🤷‍♂️

Then everyone at their own studio can just build it locally and push it to their studio's own private Docker image registry.

darkvertex avatar Nov 23 '21 21:11 darkvertex

I've started https://github.com/AcademySoftwareFoundation/aswf-docker/pull/149 with a working Dockerfile on windows that can already build some conan packages. Now we need to test and build more conan windows packages!

aloysbaillet avatar Dec 05 '21 00:12 aloysbaillet