cloud-hypervisor/.github/workflows/integration-x86-64.yaml
Rob Bradford 2e4079becb build: Add libc to matrix for x86-64 tests
To reduce issues caused by flaky tests split the musl and glibc jobs
into separate jobs. This means fewer jobs will need to be restarted for
flaky tests. This will also increase CI throughput since the musl builds
account for ~40% of the total CI time when run together with glibc.

Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-02-23 09:30:54 +00:00

38 lines
1.5 KiB
YAML

name: Cloud Hypervisor Tests (x86-64)
on: [pull_request, create]
jobs:
build:
strategy:
fail-fast: false
matrix:
runner: ["garm-jammy", "garm-jammy-amd"]
libc: ["musl", "gnu"]
if: github.event_name == 'pull_request'
name: Tests (x86-64)
runs-on: ${{ matrix.runner }}
steps:
- name: Code checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Docker
run: |
sudo apt-get update
sudo apt-get -y install ca-certificates curl gnupg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo chmod a+r /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt install -y docker-ce docker-ce-cli
- name: Prepare for VDPA
run: scripts/prepare_vdpa.sh
- name: Run unit tests
run: scripts/dev_cli.sh tests --unit
- name: Load openvswitch module
run: sudo modprobe openvswitch
- name: Run integration tests
run: scripts/dev_cli.sh tests --integration --libc ${{ matrix.libc }}
- name: Run live-migration integration tests
run: scripts/dev_cli.sh tests --integration-live-migration --libc ${{ matrix.libc }}