Skip to content

Git for vm

Git for vm #118

Workflow file for this run

name: Vagrant Tests
on:
workflow_dispatch:
pull_request:
# types: [ready_for_review]
jobs:
test:
strategy:
fail-fast: False
matrix:
os: ['ubuntu-2204-headless', 'centos-8']
name: ${{ matrix.os }}
runs-on: ubuntu-24.04
steps:
- name: Install pre requisites
run: |
sudo apt-get update
sudo apt install virtualbox
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrant
- name: Virtualbox fix
# https://askubuntu.com/questions/1553345/suddenly-ubuntu-24-04-virtualbox-wont-run-a-vm-cant-enable-the-amd-v-ext
# https://github.com/VirtualBox/virtualbox/issues/81
run: |
sudo rmmod kvm_amd || true
- name: Open up network interfaces for VM
run: |
sudo mkdir -p /etc/vbox/
sudo touch /etc/vbox/networks.conf
sudo sh -c "echo '* 192.168.0.0/16' > /etc/vbox/networks.conf"
sudo sh -c "echo '* 3001::/64' >> /etc/vbox/networks.conf"
- name: Checkout code
uses: actions/checkout@v4
- name: Cache Vagrant boxes
uses: actions/cache@v4
with:
path: ~/.vagrant.d/boxes
key: ${{ runner.os }}-vagrant-${{ matrix.os }}
restore-keys: |
${{ runner.os }}-vagrant-${{ matrix.os }}
- name: Show Vagrant version
run: vagrant --version
# - name: Free up space
# run: |
# df -h
# sudo rm -rf /usr/share/dotnet /usr/local/lib/android
# df -h
- name: Run vagrant up
run: |
export VAGRANT_VAGRANTFILE=Vagrantfile.${{ matrix.os }}
vagrant up
- name: Check for errors
run: |
export VAGRANT_VAGRANTFILE=Vagrantfile.${{ matrix.os }}
vagrant ssh -c "grep 'errors occurred during installation' /var/log/install.log || true"
vagrant ssh -c "grep -q 'No errors detected' /var/log/install.log && \
cylc version --long && \
CYLC_VERSION=8 cylc version --long && \
rose version && \
CYLC_VERSION=8 rose version && \
fcm version && \
svn --version && \
fcm test-battery t/fcm-make && \
rosie hello && \
gpg-agent --version && \
echo Test cylc review ... && wget --spider http://localhost/cylc-review >/dev/null 2>&1 && \
echo All tests succeeded"
- name: Test fcm conflicts (ignore errors)
run: |
export VAGRANT_VAGRANTFILE=Vagrantfile.${{ matrix.os }}
vagrant ssh -c "fcm test-battery t/fcm-conflicts || true"