Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emoflon/emoflon-ibex-vm
CI and build scripts for the eMoflon::IBeX VM based on Ubuntu.
https://github.com/emoflon/emoflon-ibex-vm
ci emoflon model-transformations modeling ubuntu vagrant virtualbox virtualbox-vm vm
Last synced: about 1 month ago
JSON representation
CI and build scripts for the eMoflon::IBeX VM based on Ubuntu.
- Host: GitHub
- URL: https://github.com/emoflon/emoflon-ibex-vm
- Owner: eMoflon
- License: gpl-3.0
- Created: 2022-08-04T13:16:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-13T05:04:28.000Z (3 months ago)
- Last Synced: 2024-09-13T16:52:36.350Z (3 months ago)
- Topics: ci, emoflon, model-transformations, modeling, ubuntu, vagrant, virtualbox, virtualbox-vm, vm
- Language: Shell
- Homepage: https://emoflon.org
- Size: 64.5 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eMoflon::IBeX VM
[![Build eMoflon::IBeX VM](https://github.com/eMoflon/emoflon-ibex-vm/actions/workflows/vagrant-up.yml/badge.svg?branch=main&event=push)](https://github.com/eMoflon/emoflon-ibex-vm/actions/workflows/vagrant-up.yml)
This repository is used to automatically build an [eMoflon](https://emoflon.org) virtual machine (VM).
## Packages/Configuration
- [Ubuntu 24.04](https://app.vagrantup.com/gusztavvargadr/boxes/xubuntu-desktop-2404-lts)
- [OpenJDK 21](https://openjdk.org/projects/jdk/21/)
- [Graphviz](https://graphviz.org/)
- [eMoflon IBeX Eclipse build](https://github.com/eMoflon/emoflon-ibex-eclipse-build) (variant: *eclipse-emoflon-linux-user*)## Usage/Installation
- Download the latest version from the [release page](https://github.com/eMoflon/emoflon-ibex-vm/releases/latest).
- Install [VirtualBox](https://www.virtualbox.org/) (or another Hypervisor compatible to `OVA` files).
- Import the `OVA` file as new VM in VirtualBox. (More detailed description can be found [here](https://docs.oracle.com/cd/E26217_01/E26796/html/qs-import-vm.html).)
- Use the credentials `vagrant:vagrant` to login.
- Use the Eclipse icon on the desktop to start [eMoflon](https://emoflon.org).**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](https://github.com/eMoflon/emoflon-ibex-tests). 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 **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.
### 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:
```bash
[...]
==> 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!**