From aacf16294de1fe2e08f02a31f6be6e44b9dc66ce Mon Sep 17 00:00:00 2001 From: Adam Jensen Date: Sun, 12 Nov 2023 20:46:48 -0500 Subject: [PATCH] WIP: Replace vbox with qemu --- .github/workflows/build.yml | 33 ++++++++++++++++++++------------- Vagrantfile | 11 ++++++----- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 967f883..9d2b0e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,36 +1,43 @@ 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_4 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 qemu ${{ matrix.box }} - name: Package box run: | vagrant package ${{ matrix.box }} --output ${{ matrix.box }}.box diff --git a/Vagrantfile b/Vagrantfile index 085c3c2..6a64bf4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -2,12 +2,12 @@ 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" + c.vm.box = "roboxes/freebsd13" end - config.vm.define "fbsd_12_4" do |c| - c.vm.box = "freebsd/FreeBSD-12.4-STABLE" - end + # config.vm.define "fbsd_12_4" do |c| + # c.vm.box = "freebsd/FreeBSD-12.4-STABLE" + # end config.vm.synced_folder ".", "/vagrant", disabled: true @@ -65,9 +65,10 @@ Vagrant.configure("2") do |config| du -ah / | sort -r -h | head -25 SHELL - config.vm.provider "virtualbox" do |v| + config.vm.provider "qemu" do |v| v.memory = 8192 v.cpus = 3 + v.qemu_dir = "/usr/local/share/qemu" end config.vm.boot_timeout = 600