This repository is used to automatically build an eMoflon virtual machine (VM).
- Ubuntu 24.04
- OpenJDK 21
- Graphviz
- eMoflon IBeX Eclipse build (variant: eclipse-emoflon-linux-user)
- 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. - Use the Eclipse icon on the desktop to start eMoflon.
Please notice:
- The default configuration for this VM image consists 8GB of RAM and 2 vCPU cores. You need at least 8GB to run the full eMoflon::IBeX test suite. 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.
There are two ways to provide this project with runners.
Unfortunately, only the macOS-based GitHub-hosted action runners do support nested virtualization: actions/runner-images#433
Therefore, we've adapted the CI-configuration to provision the eMoflon-IBeX-VM on a macOS-based runner until nested virtualization support gets added to the Linux-based runners.
Unfortunately, these workflows did break very often lately so we switched back to 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 10 GB of RAM!