Skip to content
This repository has been archived by the owner on Nov 27, 2023. It is now read-only.

Commit

Permalink
WIP: Replace vbox with qemu
Browse files Browse the repository at this point in the history
  • Loading branch information
acj committed Nov 13, 2023
1 parent 95df78c commit 19c7b0c
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 22 deletions.
36 changes: 22 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,44 @@
name: ci
on:
push:
tags:
# tags:
schedule:
- cron: "0 0 * * 1"
workflow_dispatch:
jobs:
package-box:
name: Package Vagrant Boxes
runs-on: macos-12
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
box:
- fbsd_13_2
- fbsd_12_4
# - fbsd_12
- fbsd_13
# - fbsd_14
steps:
- name: Install Vagrant
run: brew install vagrant
- name: Cache Vagrant boxes
uses: actions/cache@v3
with:
path: ~/.vagrant.d
key: ${{ matrix.box }}-vagrant-20231102-${{ hashFiles('Vagrantfile') }}
restore-keys: |
${{ matrix.box }}-vagrant-20231102-
- name: Install Vagrant and QEMU
run: |
sudo apt-get install -qq -o=Dpkg::Use-Pty=0 moreutils
sudo chronic apt-get install -qq -o=Dpkg::Use-Pty=0 vagrant qemu-system virtualbox
# - name: Cache Vagrant boxes
# uses: actions/cache@v3
# with:
# path: ~/.vagrant.d
# key: ${{ matrix.box }}-vagrant-20231102-${{ hashFiles('Vagrantfile') }}
# restore-keys: |
# ${{ matrix.box }}-vagrant-20231102-
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up VM
run: |
rm -rf ~/.vagrant
rm -rf ~/.vagrant.d
vagrant plugin install vagrant-disksize
vagrant plugin install vagrant-qemu
vagrant status
vagrant up ${{ matrix.box }}
vagrant up --provider libvirt ${{ matrix.box }}
- name: Package box
run: |
vagrant package ${{ matrix.box }} --output ${{ matrix.box }}.box
Expand Down
35 changes: 27 additions & 8 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
Vagrant.configure("2") do |config|
config.disksize.size = "16GB"

config.vm.define "fbsd_13_2" do |c|
c.vm.box = "freebsd/FreeBSD-13.2-STABLE"
config.vm.define "fbsd_12" do |c|
c.vm.box = "roboxes/freebsd12"
end

config.vm.define "fbsd_12_4" do |c|
c.vm.box = "freebsd/FreeBSD-12.4-STABLE"
end
# config.vm.define "fbsd_13" do |c|
# c.vm.box = "roboxes/freebsd13"
# end

# config.vm.define "fbsd_14" do |c|
# c.vm.box = "roboxes/freebsd14"
# end

config.vm.synced_folder ".", "/vagrant", disabled: true

Expand Down Expand Up @@ -65,9 +69,24 @@ Vagrant.configure("2") do |config|
du -ah / | sort -r -h | head -25
SHELL

config.vm.provider "virtualbox" do |v|
v.memory = 8192
v.cpus = 3
config.vm.provider "libvirt" do |qe|
# v.memory = 8192
# v.smp = 3
# v.qemu_dir = "/usr/share/qemu"
# v.arch = "x86_64"
# v.machine = "q35"
# v.cpu = "qemu64"
# v.net_device = "virtio-net-pci"

# qe.arch = "x86_64"
# qe.machine = "q35"
# qe.cpu = "max"
# qe.smp = "cpus=2,sockets=1,cores=2,threads=1"
# qe.net_device = "virtio-net-pci"
# qe.extra_qemu_args = %w(-accel tcg,thread=multi,tb-size=512)
# #qe.qemu_dir = "/usr/share/qemu"
# qe.qemu_dir = "/opt/homebrew/opt/qemu/share/qemu"
# qe.no_daemonize = true
end

config.vm.boot_timeout = 600
Expand Down

0 comments on commit 19c7b0c

Please sign in to comment.