Vagrant configuration to provision an EdgeDB virtual machine (VM).
Go to file
Maximilian Kratz fa53a69285
Merge pull request #3 from maxkratz/feature/update-vm-os-to-22.04
Ubuntu 22.04 upgrade
2024-01-29 17:12:37 +01:00
.github/workflows Updates GitHub-based Actions to v4 + updates Ubuntu release to 22.04 2023-12-19 08:59:17 +01:00
.gitignore Adds the first vagrant config + CI draft 2023-08-15 09:32:55 +02:00
LICENSE Adds the first vagrant config + CI draft 2023-08-15 09:32:55 +02:00
README.md Updates base (X)Ubuntu image to 22.04 2024-01-29 09:40:13 +01:00
Vagrantfile Updates base (X)Ubuntu image to 22.04 2024-01-29 09:40:13 +01:00
prov.sh Updates base (X)Ubuntu image to 22.04 2024-01-29 09:40:13 +01:00

README.md

EdgeDB VM

Build EdgeDB VM

This repository is used to automatically build an EdgeDB virtual machine (VM).

Packages/Configuration

Usage/Installation

  • Download the latest version from the release page.
  • Install VirtualBox (or another Hypervisor compatible to OVA files).
  • Import the OVA file as new VM in VirtualBox. (More detailed description can be found here.)
  • Use the credentials vagrant:vagrant to login.

Please notice:

  • The default configuration for this VM image consists 8GB of RAM and 2 vCPU cores. You need at least 2GB to run EdgeDB. If your PC only has 8GB of RAM available, reduce the RAM capacity of the VM within VirtualBox
  • It is recommend to change the settings to at least 4 vCPU cores.

Runner requirements

There are two ways to provide this project with runners.

GitHub-hosted macOS-based runners

Unfortunately, only the macOS-based GitHub-hosted action runners do support nested virtualization: https://github.com/actions/runner-images/issues/433

Therefore, we've adapted the CI-configuration to provision the EdgeDB VM on a macOS-based runner until nested virtualization support gets added to the Linux-based runners.

Self-hosted Linux-based runners

Currently, all actions must be run by a self-hosted GitHub runner, because GitHub-hosted runners do not provide the VT-x flag:

[...]
==> ubuntu: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "594c50ca-4ec6-4ff6-b785-2c6ba627bffd", "--type", "headless"]

Stderr: VBoxManage: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
Error: Process completed with exit code 1.

In order to run the "GitHub Actions" pipeline on a self-hosted runner, you must ensure that you have at least one properly configured Linux-based runner added to this GitHub project.

Required packages (at least):

  • curl
  • wget
  • grep
  • VirtualBox
  • vagrant

Please keep in mind that your runner (VM) needs the virtualization flag enabled and at least 2 GB of RAM!