Skip to content

Make Windows runner subsystem production ready - #4

Open
amotl wants to merge 16 commits into
mainfrom
windows
Open

Make Windows runner subsystem production ready#4
amotl wants to merge 16 commits into
mainfrom
windows

Conversation

@amotl

@amotl amotl commented Jun 7, 2022

Copy link
Copy Markdown
Member

About

What the title says. 6cc13a8 was the first implementation, but it was just a prototype. Now, the necessary bells and whistles have been added and the feature graduated from postroj invoke to racker run.

Synopsis

$ racker --verbose run --rm --platform=windows/amd64 mcr.microsoft.com/windows/nanoserver:1809-amd64 \
  -- cmd /C echo Hello, world.

Documentation

See Racker Windows backend.

Examples

$ racker --verbose run --rm --platform=windows/amd64 mcr.microsoft.com/windows/servercore:ltsc2016 wmic os get caption
Microsoft Windows Server 2016 Standard Evaluation

$ racker --verbose run --rm --platform=windows/amd64 mcr.microsoft.com/windows/servercore:ltsc2019 wmic os get caption
Microsoft Windows Server 2019 Datacenter Evaluation

$ racker --verbose run --rm --platform=windows/amd64 mcr.microsoft.com/windows/servercore:ltsc2022 wmic os get caption
Microsoft Windows Server 2022 Datacenter

Backlog

@codecov-commenter

codecov-commenter commented Jun 8, 2022

Copy link
Copy Markdown

Codecov Report

Merging #4 (08a19b0) into main (fd3d4ff) will increase coverage by 0.42%.
The diff coverage is 73.52%.

❗ Current head 08a19b0 differs from pull request most recent head 26aee46. Consider uploading reports for the commit 26aee46 to get more accurate results

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
+ Coverage   82.26%   82.68%   +0.42%     
==========================================
  Files          18       17       -1     
  Lines        1156     1161       +5     
==========================================
+ Hits          951      960       +9     
+ Misses        205      201       -4     
Flag Coverage Δ
unittests 82.68% <73.52%> (+0.42%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
racker/cli.py 81.65% <71.87%> (-4.43%) ⬇️
postroj/cli.py 81.25% <100.00%> (-0.57%) ⬇️
postroj/exceptions.py 100.00% <100.00%> (ø)
postroj/util.py 77.29% <0.00%> (+1.74%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Comment thread postroj/winrunner.py
Comment on lines -33 to +49
cd {self.workdir}
git clone https://github.com/StefanScherer/windows-docker-machine
cd '{self.workdir}'
git clone https://github.com/cicerops/windows-docker-machine --branch racker

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On this spot, we would like to bring in some adjustments to the upstream infrastructure and switch back to mainline afterwards. The corresponding patch is StefanScherer/windows-docker-machine#86.

Comment thread postroj/winrunner.py
Comment thread doc/winrunner.rst
Comment thread postroj/winrunner.py
@amotl
amotl marked this pull request as ready for review June 12, 2022 09:43
Comment thread postroj/winrunner.py Outdated
@amotl amotl mentioned this pull request Apr 15, 2024
@amotl amotl self-assigned this Jul 18, 2026
amotl added 15 commits July 18, 2026 17:17
Add support for Windows Server Core 2019 and friends.

- windows/servercore:ltsc2019
- windows/nanoserver:1809
…space

The GHA job output already croaked about this, like:

    You are running out of disk space. The runner will stop working when
    the machine runs out of disk space. Free space left: 0 MB
- windows/servercore:ltsc2016
- windows/servercore:ltsc2022
- windows/nanoserver:ltsc2022
- Don't manipulate $PATH. To make `git` available on the program search
  path, use the package parameter `/GitAndUnixToolsOnPath` instead.
- Rename native Windows programs like `curl.exe` and `convert.exe` to
  reduce ambiguity with their FOSS/GNU resp. Chocolatey-installed
  counterparts, also without needing to manipulate $PATH.
- Also install `busybox` and `nano`.
The new names are ``RACKER_WDM_VCPUS``, ``RACKER_WDM_MEMORY``, and
``RACKER_WDM_MACHINE``.

WDM means "Windows Docker Machine".
The new default values are:

- RACKER_WDM_VCPUS: 4
- RACKER_WDM_MEMORY: 4096 MB
This can be used to reconfigure the Vagrant virtualization backend
differently than VirtualBox.

Possible values are, in alphabetical order, `hyperv`, `virtualbox`,
`qemu`, `vmware_fusion`, `vmware_workstation`. It has been tested with
`virtualbox` only.
This aims to build Python wheels for PyTables in a DIY manner.

It uses Microsoft Visual C++ Build Tools 2015 and Anaconda, both
installed using Chocolatey, and `cibuildwheel`.
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • coderabbit-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: af37febd-be5d-4ba3-bacb-0b7b72c80041

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch windows

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 73.52941% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.83%. Comparing base (2b392b5) to head (663e015).

Files with missing lines Patch % Lines
racker/cli.py 71.87% 9 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
+ Coverage   82.42%   82.83%   +0.41%     
==========================================
  Files          18       17       -1     
  Lines        1172     1177       +5     
==========================================
+ Hits          966      975       +9     
+ Misses        206      202       -4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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 this pull request may close these issues.

2 participants