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

Any hope of some Windows examples? #50

Closed
ShamanTcler opened this issue Aug 6, 2018 · 18 comments · Fixed by #61
Closed

Any hope of some Windows examples? #50

ShamanTcler opened this issue Aug 6, 2018 · 18 comments · Fixed by #61
Assignees

Comments

@ShamanTcler
Copy link

Title pretty much says it all

@lasote
Copy link
Collaborator

lasote commented Aug 16, 2018

I haven't tried windows containers at all... I only know that @solvingj has been using windows containers. What do you need exactly?

@ShamanTcler
Copy link
Author

ShamanTcler commented Aug 16, 2018 via email

@solvingj
Copy link

@lasote do you want to try supporting this under this project?

https://github.com/bincrafters/docker-win1803-vctools1572/blob/master/Dockerfile

@lasote
Copy link
Collaborator

lasote commented Aug 17, 2018

oh! Definitely, We would need some time to play with it but would be a great addition.

@solvingj
Copy link

solvingj commented Sep 1, 2018

Sounds good. let me know if you want me to do anything to get it included.

@lasote
Copy link
Collaborator

lasote commented Sep 3, 2018

@danimtb @jgsogo @memsharded Anyone would like to experiment a little with Docker windows containers?

@ShamanTcler
Copy link
Author

I will soon as I get over this cold. Does this mean you have something to try, or you want me to build it?

If you want me to build it may take a while.

@db4
Copy link
Contributor

db4 commented Sep 10, 2018

Anyone would like to experiment a little with Docker windows containers?

I already use them even without conan.io support via GitLab experimental docker executor: https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/706

If anyone interested, here is my docker file:

FROM microsoft/windowsservercore

RUN powershell Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

RUN choco install visualstudio2017buildtools -y
# MSVC with ATL
RUN choco install visualstudio2017-workload-vctools --params "--add Microsoft.VisualStudio.Component.VC.ATL" -y
# tlbimp
RUN choco install visualstudio2017-workload-manageddesktop --params "--add Microsoft.Net.ComponentGroup.TargetingPacks.Common" -y

RUN choco install python -y
RUN python -m pip install --upgrade pip
RUN pip install conan
RUN pip install conan_package_tools

ENV GIT_VERSION 2.18.0

RUN powershell.exe [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; \
    Invoke-WebRequest "https://github.com/git-for-windows/git/releases/download/v%GIT_VERSION%.windows.1/MinGit-%GIT_VERSION%-busybox-64-bit.zip" \
    -OutFile MinGit-%GIT_VERSION%-busybox-64-bit.zip -UseBasicParsing ; \
    Expand-Archive 'MinGit-%GIT_VERSION%-busybox-64-bit.zip' -DestinationPath "c:/Git" -Force ; \
    Remove-Item .\MinGit-%GIT_VERSION%-busybox-64-bit.zip && \
    setx /m PATH "%PATH%;C:\Git\cmd"

RUN git config --system core.autocrlf input

RUN choco install svn -y

RUN choco install cmake --installargs "ADD_CMAKE_TO_PATH=System" -y

RUN mkdir C:\gitlab-runner\builds
RUN mkdir C:\gitlab-runner\cache

GitLab docker executor (and BTW git w.r.t. Windows Containers) has many obstacles but I've got it working somehow.

@solvingj
Copy link

Excellent, thanks for sharing. FYI, we switched from choco install svn to choco install tortoisesvn because the version of SVN that comes with the former is surprisingly old (1.8.7 i think), and we needed the features in 1.9.0+.

Can I ask what the reason was for using powershell to install GIT that way?

@db4
Copy link
Contributor

db4 commented Sep 12, 2018

Can I ask what the reason was for using powershell to install GIT that way?

Due to that issue: git-for-windows/git#1007
Chocolatey Git was(?) affected, busybox one seemed to work.

uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
- Add Visual Studio 14 on README

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
- Add conanmsvc14 image
- Update docker compose to build windows image
- Update build script to support Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
- Appveyor does not support core 8.x

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 3, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 4, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 5, 2018
- It's not possible to upload Docker image by Appveyor because the
  image is huge >10GB. Error from Appveyor:
  "Build exceeded allowed resource quotas. Fix your build to consume
   less resources or contact AppVeyor support to request quotas
   increase."

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@uilianries
Copy link
Member

@lasote I have two important questions:

  • Which name we should use for Windows images?
    Suggestions:

    • conanmsvc12, conanmsvc14, conanmsvc15
    • conanvisual12, conanvisual14, conanvisual15
    • conanvisualstudio2015-14, conanvisualstudio2017-15
  • Windows images are HUGE, >10GB each! I can't upload using appveyor because during the section I receive the follow error:

Build exceeded allowed resource quotas. Fix your build to consume less resources or contact AppVeyor support to request quotas increase.

We could use Appveyor to build and validate only.

We need to provide some way to upload each docker image. Could we use JFrog infrastructure + Jenkins? Upload 10GB is not for amateur workspace.

@solvingj
Copy link

solvingj commented Oct 6, 2018

i guess we should open ticket with Appveyor team. If there's no way to make a Windows container with vs_buildtools that's less than 10 GB, then that is a fundamental issue likely to block a lot of other use cases. Maybe they don't realize.

@uilianries
Copy link
Member

I'm trying on Azure now, it's working 😸

@Croydon
Copy link
Contributor

Croydon commented Oct 7, 2018

Which name we should use for Windows images?
Suggestions:

    conanmsvc12, conanmsvc14, conanmsvc15
    conanvisual12, conanvisual14, conanvisual15
    conanvisualstudio2015-14, conanvisualstudio2017-15

I would vote for conanmsvc12, conanmsvc14 and conanmsvc15

Two reaons: It seems to be more in line with the current gcc/clang names, since it's about the compiler not the IDE name. And also Visual Studio 2017 can use the compiler from Visual Studio 2015 and even this might be not that often the case I think conanvisual12 would be more inaccurate.

@Croydon
Copy link
Contributor

Croydon commented Oct 7, 2018

Is this 10GB traffic limitation on AppVeyor only for uploads or also downloads? Meaning, can we use the container images on AppVeyor as long as we are building them somewhere else?

uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Oct 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Nov 8, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@uilianries uilianries self-assigned this Dec 11, 2018
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Dec 11, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Dec 11, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Dec 11, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Dec 11, 2018
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 2, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 2, 2019
- Docker Composer 3.x doesn't support storage_size
  option.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 2, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 2, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit that referenced this issue Jan 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Mar 13, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Mar 13, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Mar 14, 2019
- Only support Azure for now

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Mar 14, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Mar 14, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-docker-tools that referenced this issue Mar 14, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
lasote pushed a commit that referenced this issue Mar 27, 2019
* #50 Add partial Appveyor info

- Add Visual Studio 14 on README

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build Visual Studio 14

- Add conanmsvc14 image
- Update docker compose to build windows image
- Update build script to support Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Add Appveyor recipe

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Fix sudo command

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Add Visual on compiler list

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Add Visual on compiler list

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Skip linter on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Escape line break on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Change Windows base image

- Appveyor does not support core 8.x

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Change temp path on Windows build

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Install CMake using chocolatey

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Upgrade pip on Windows image

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update MSVC 14 install

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build MSVC 14 on Appveyor

- It's not possible to upload Docker image by Appveyor because the
  image is huge >10GB. Error from Appveyor:
  "Build exceeded allowed resource quotas. Fix your build to consume
   less resources or contact AppVeyor support to request quotas
   increase."

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update Windows base image

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 show windows image size

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Use pretty name on tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 print docker images after to finish

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update MSVC14

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build Visual Studio 15

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build Windows images on Azure

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Add Visual Studio 12.0

- Add Docker image based on Visual Studio 2013 12.0

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Install pip packages quietly

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 update msvc12 package

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 update msvc12 package

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 update msvc12 package [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove MSVC 12 from builds

- I can't figure out some way to istall msvc 12

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Add MSVC 12 again

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Install IE10 to fix MSVC2013

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update docker image for Clang 7

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Use latest GTest version

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Replace Windows images names to conanio

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove MSCV 12 (again)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove msvc 12 from docker compose

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update clang 7 on ci [skip appveyor]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Fix tests on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Rename clang 7 [skip appveyor]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Rename clang 7 [skip appveyor]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Fix Clang 7

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Fix sudo command

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Show image info

- Add info method to display Docker image info
- Update VS version on README
- Upload Windows images when running Azure
- Update VS 14 minor

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Create MSVC base image

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Create MSVC base image

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Avoid to test base version

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build base and MSVC on same job

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build MSVC 14 [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Trying to build MSVC 12 again

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update windows msvc 12

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 fix azure build

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 fix azure build [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 fix azure build [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 show msvc 12 [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build MSVC 14,15 using multi stage

- Thanks to @SSE4 for the tip

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Move MSVC 14 and 15 to a common build

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update compose version to support target

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 add logo [skip ci]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Azure timeout [skip travis] [skip appveyor]

- Update Azure timeout to 2h.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update git [skip azure] [skip appveyor]

- Fix Linux buid by updating Git packge to major version

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove Appveyor [skip ci]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 squash Windows images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 exclude docker compose from build line

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Split msvc images

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Update Windows base image [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Run isolation for Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Build using hyperv on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Default isolation on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove global envs [skip azure]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove global envs [skip azure]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Change to windows 1803

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Change to windows VS2017

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Change to windows lts2016 [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Dont timeout msvc install

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Split MSVC steps [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Set storage container size to 20GB [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Set container size in docker config file [skip travis]

- Docker Composer 3.x doesn't support storage_size
  option.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 print vars [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Print daemon json file [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Force storage size [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Force storage size to 20GB [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Set container size to 50GB [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Try to build on Appveyor [skip travis]

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove Windows from Azure

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Fix Azure pipeline file

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove Travis CI support [skip ci]

- Only support Azure for now

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Remove extra scripts

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Revert docker compose

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #50 Fix CI badge

Signed-off-by: Uilian Ries <uilianries@gmail.com>
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

Successfully merging a pull request may close this issue.

6 participants