From 6835d6b414ce0f6b1f6ceffc84d12aaa222d5bb4 Mon Sep 17 00:00:00 2001 From: Josh King Date: Mon, 17 Jun 2024 16:44:54 +1200 Subject: [PATCH] (#74) Update READEME with Hyper-V info Add a section on using Hyper-V instead of VirtualBox, including a recommendation to prefer VirtualBox and linking to known limitations. This also updates the table of contents to include the newly added section as well as two sections added in a previous commit that were not added to the list. --- ReadMe.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/ReadMe.md b/ReadMe.md index 7c90b07..2e06d34 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -15,6 +15,9 @@ When creating packages, please review https://github.com/chocolatey/choco/wiki/C - [Testing a Package](#testing-a-package) - [Make Changes and Retest](#make-changes-and-retest) - [Tearing Down the Testing Environment](#tearing-down-the-testing-environment) + - [Upgrading the Testing Environment](#upgrading-the-testing-environment) + - [Using a Specific Vagrant Box Version](#using-a-specific-vagrant-box-version) + - [Using Hyper-V instead of VirtualBox](#using-hyper-v-instead-of-virtualbox) - [Differences Between This and Package Verifier Service](#differences-between-this-and-package-verifier-service) - [Troubleshooting](#troubleshooting) @@ -100,12 +103,33 @@ You can adjust this setting to meet your needs, for more information on the opti For more information on vagrant commands, see the [Vagrant Docs](http://docs.vagrantup.com/v2/cli/index.html) +## Using Hyper-V instead of VirtualBox + +> [!CAUTION] +> It is recommended to favour running the Chocolatey Test Environment under VirtualBox. +> Hyper-V support is intended to lower the barrier to entry for those using Windows features which force the usage of Hyper-V, +> such as the Windows Subsystem for Linux (WSL 2), Windows Sandbox, Device Guard, and Credential Guard. +> +> Please be sure that you're aware of the [limitations](https://developer.hashicorp.com/vagrant/docs/providers/hyperv/limitations) of using the Vagrant Hyper-V provider. + +> [!NOTE] +> The Hyper-V role requires Windows 10 or 11 Enterprise, Pro, or Education. +> It **cannot** be installed on Home editions of Windows. + + 1. Ensure setup above is complete, ignoring the need for VirtualBox + 2. Enable the Hyper-V feature + * Open a PowerShell console as Administrator + * Run `Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -All` + * Restart Windows + 3. Follow the general [Preparing the Testing Environment](#preparing-the-testing-environment) instructions except swap the default `vagrant up` command for `vagrant up --provider=hyperv` + * The image downloaded the first time you run this command is specific to Hyper-V and so a large download will be required even if you've already downloaded the VirtualBox image + ## Differences Between This and Package Verifier Service There are a couple of difference between the [verifier service](https://docs.chocolatey.org/en-us/community-repository/moderation/package-verifier) and this environment. * The verifier is run without the GUI - meaning it is run in a headless state. There is no box to interact with. - * The verifier only runs against Windows 2012 R2 currently. This repo is adding more boxes as they become available. + * The verifier only runs against Windows 2019 currently. This repo is adding more boxes as they become available. * The verifier times out on waiting for a command after 12 minutes. * Synced folders are different - the verifier syncs the .chocolatey folder to gather the package information files. * Specific VM settings are different (for performance):