mirror of
https://github.com/maxkratz/edgedb-vm.git
synced 2024-09-16 11:28:26 +00:00
Merge pull request #8 from maxkratz/feature/switch-to-self-hosted-runner
GitHub Actions CI: switch to self-hosted runner
This commit is contained in:
commit
696d2a6840
2 changed files with 44 additions and 8 deletions
26
.github/workflows/vagrant-up.yml
vendored
26
.github/workflows/vagrant-up.yml
vendored
|
@ -25,15 +25,25 @@ permissions:
|
|||
|
||||
jobs:
|
||||
vagrant-provision:
|
||||
# Running on macOS, because macOS-based GitHub-hosted action runners do support nested virtualization.
|
||||
# https://github.com/actions/runner-images/issues/433
|
||||
runs-on: macos-12
|
||||
|
||||
runs-on: [self-hosted]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install dependencies
|
||||
- name: clean up old VirtualBox VMs
|
||||
run: |
|
||||
vboxmanage list vms | \
|
||||
grep -o -P '(?<={).*(?=})' | \
|
||||
while read line ; do vboxmanage unregistervm $line --delete ; done
|
||||
- name: clean up old Vagrant artifacts
|
||||
run: |
|
||||
vagrant destroy edgedb || true
|
||||
vagrant box remove gusztavvargadr/xubuntu-desktop-2204-lts || true
|
||||
# https://stackoverflow.com/a/71346341
|
||||
- name: clean up old GitHub Actions runner build folder
|
||||
run: |
|
||||
brew install wget unzip gnu-tar gnu-sed
|
||||
ls -la ./
|
||||
rm -rf ./* || true
|
||||
rm -rf ./.??* || true
|
||||
ls -la ./
|
||||
- uses: actions/checkout@v4
|
||||
- name: show Vagrant version
|
||||
run: vagrant --version
|
||||
- name: run vagrant up
|
||||
|
@ -48,7 +58,7 @@ jobs:
|
|||
vboxmanage export edgedb -o edgedb.ovf
|
||||
sed -i -e '/<BIOS>/,/<\/BIOS>/d' edgedb.ovf
|
||||
sed -i -e '/<RemoteDisplay enabled="true">/,/<\/RemoteDisplay>/d' edgedb.ovf
|
||||
gtar -cvf edgedb.ova edgedb.ovf edgedb-disk001.vmdk
|
||||
tar -cvf edgedb.ova edgedb.ovf edgedb-disk001.vmdk
|
||||
rm -rf edgedb.ovf edgedb-disk001.vmdk
|
||||
# ^gtar (to use gnu-tar) instead of macOS tar
|
||||
- name: upload artifact
|
||||
|
|
26
runner-setup.sh
Normal file
26
runner-setup.sh
Normal file
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
USERNAME=maxkratz
|
||||
|
||||
# utilities + sudo
|
||||
apt-get update
|
||||
apt-get install -yq sudo tmux htop wget grep sed gpg unzip tar curl
|
||||
/sbin/adduser $USERNAME sudo
|
||||
|
||||
# VirtualBox
|
||||
wget -O- -q https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmour -o /usr/share/keyrings/oracle_vbox_2016.gpg
|
||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle_vbox_2016.gpg] http://download.virtualbox.org/virtualbox/debian bookworm contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
|
||||
|
||||
apt-get update
|
||||
apt-get install -yq virtualbox-7.0
|
||||
|
||||
usermod -a -G vboxusers $USERNAME
|
||||
|
||||
# Vagrant
|
||||
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/hashicorp.list
|
||||
apt-get update && apt-get install -yq vagrant
|
||||
|
||||
echo "=> Prerequisites installed. Ready for GitHub Actions runner installation."
|
Loading…
Reference in a new issue