mirror of
https://github.com/kairos-io/kairos.git
synced 2025-02-09 05:18:51 +00:00
61 lines
2.4 KiB
YAML
61 lines
2.4 KiB
YAML
name: UKI tests
|
|
on:
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ci-uki-${{ github.head_ref || github.ref }}-${{ github.repository }}
|
|
cancel-in-progress: true
|
|
env:
|
|
FORCE_COLOR: 1
|
|
jobs:
|
|
test-uki:
|
|
runs-on: kvm
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version-file: tests/go.mod
|
|
cache-dependency-path: tests/go.sum
|
|
- name: Enable KVM group perms
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libvirt-clients libvirt-daemon-system libvirt-daemon virtinst bridge-utils qemu qemu-system-x86 qemu-system-x86 qemu-utils qemu-kvm acl udev
|
|
# https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/
|
|
# echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
|
# sudo udevadm control --reload-rules
|
|
# sudo udevadm trigger --name-match=kvm
|
|
# sudo usermod -a -G kvm,libvirt $USER
|
|
#
|
|
# TODO: Switch back to the above solution when we switch to the github runners
|
|
# https://askubuntu.com/a/1081326
|
|
sudo setfacl -m u:runner:rwx /dev/kvm
|
|
- name: Install earthly
|
|
uses: Luet-lab/luet-install-action@v1.1
|
|
with:
|
|
repository: quay.io/kairos/packages
|
|
packages: utils/earthly
|
|
- name: Build uki ISO 🔧
|
|
run: |
|
|
# Do fedora as its the smaller uki possible
|
|
# Use immmucore master as it has patches not released for uki
|
|
# Use kairos-agent main branch as it has patches not released for uki
|
|
earthly +iso-uki --FLAVOR=opensuse-leap --KAIROS_AGENT_DEV=true --KAIROS_AGENT_DEV_BRANCH=main --IMMUCORE_DEV=true --IMMUCORE_DEV_BRANCH=master
|
|
- name: Run tests
|
|
env:
|
|
USE_QEMU: true
|
|
KVM: true
|
|
MEMORY: 4000
|
|
CPUS: 2
|
|
FIRMWARE: /usr/share/OVMF/OVMF_CODE.fd
|
|
run: |
|
|
export ISO=$(ls $PWD/build/kairos-core-*opensuse-leap*.iso)
|
|
cp tests/go.* .
|
|
go run github.com/onsi/ginkgo/v2/ginkgo -v --label-filter "uki" --fail-fast -r ./tests/
|
|
- uses: actions/upload-artifact@v3
|
|
if: failure()
|
|
with:
|
|
name: ${{ inputs.flavor }}.logs.zip
|
|
path: tests/**/logs/*
|
|
if-no-files-found: warn
|