Skip to content

Commit e9f70ce

Browse files
committed
Run KVM tests on ubuntu-latest
Signed-off-by: Fredrik Lönnegren <[email protected]>
1 parent 8f942e7 commit e9f70ce

File tree

1 file changed

+11
-41
lines changed

1 file changed

+11
-41
lines changed

.github/workflows/build_and_test.yaml

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,8 @@ concurrency:
1515
cancel-in-progress: true
1616

1717
jobs:
18-
# detect step checks what machines the later steps should run on
19-
detect:
20-
runs-on: ubuntu-latest
21-
outputs:
22-
build-runs-on: ${{ steps.detect.outputs.buildon }}
23-
tests-runs-on: ${{ steps.detect.outputs.testson }}
24-
tests: ${{ steps.detect.outputs.tests }}
25-
steps:
26-
- id: detect
27-
run: |
28-
case "${{inputs.arch}}" in
29-
x86_64)
30-
echo "buildon='ubuntu-latest'" >> $GITHUB_OUTPUT
31-
echo "testson='macos-latest'" >> $GITHUB_OUTPUT
32-
echo "tests=['test-smoke', 'test-upgrade', 'test-recovery', 'test-fallback', 'test-fsck', 'test-grubfallback']" >> $GITHUB_OUTPUT ;;
33-
aarch64)
34-
echo "buildon=['self-hosted', 'arm64']" >> $GITHUB_OUTPUT
35-
echo "testson=['self-hosted', 'arm64']" >> $GITHUB_OUTPUT
36-
echo "tests=['test-smoke']" >> $GITHUB_OUTPUT ;;
37-
esac
38-
3918
build-iso:
40-
needs: detect
41-
runs-on: ${{ fromJson(needs.detect.outputs.build-runs-on) }}
19+
runs-on: ubuntu-latest
4220
env:
4321
FLAVOR: ${{ inputs.flavor }}
4422
ARCH: ${{ inputs.arch }}
@@ -77,8 +55,7 @@ jobs:
7755
enableCrossOsArchive: true
7856

7957
build-disk:
80-
needs: detect
81-
runs-on: ${{ fromJson(needs.detect.outputs.build-runs-on) }}
58+
runs-on: ubuntu-latest
8259
env:
8360
FLAVOR: ${{ inputs.flavor }}
8461
ARCH: ${{ inputs.arch }}
@@ -123,15 +100,14 @@ jobs:
123100
tests-matrix:
124101
needs:
125102
- build-disk
126-
- detect
127-
runs-on: ${{ fromJson(needs.detect.outputs.tests-runs-on) }}
103+
runs-on: ubuntu-latest
128104
env:
129105
FLAVOR: ${{ inputs.flavor }}
130106
ARCH: ${{ inputs.arch }}
131107
COS_TIMEOUT: 1600
132108
strategy:
133109
matrix:
134-
test: ${{ fromJson(needs.detect.outputs.tests) }}
110+
test: ['test-smoke', 'test-recovery', 'test-grubfallback', 'test-fallback', 'test-fsck', 'test-upgrade']
135111
fail-fast: false
136112
steps:
137113
- uses: actions/checkout@v3
@@ -154,22 +130,16 @@ jobs:
154130
key: ${{ env.cache-name }}-${{ hashFiles('Dockerfile', '**/go.sum', '**/pkg/**', '**/examples/**', '**/cmd/**', '**/vendor/**', '**/Makefile', '**/main.go') }}
155131
enableCrossOsArchive: true
156132
fail-on-cache-miss: true
157-
- if: ${{ env.ARCH == 'x86_64' }}
158-
name: Run VM script dependencies
159-
run: |
160-
brew update;
161-
brew install qemu bash coreutils
162-
- if: ${{ env.ARCH == 'x86_64' }}
163-
name: Prepare test (x86_64)
164-
run: |
165-
make DISK=/tmp/elemental-${{ env.FLAVOR }}.${{ env.ARCH}}.qcow2 ELMNTL_ACCEL=hvf ELMNTL_TARGETARCH=${{ env.ARCH }} ELMNTL_FIRMWARE=$(find /usr/local/Cellar/qemu -name edk2-${{ env.ARCH }}-code.fd -print -quit) prepare-test
166-
- if: ${{ env.ARCH == 'aarch64' }}
167-
name: Prepare test (aarch64)
133+
- name: Enable KVM group perms
168134
run: |
169-
make DISK=/tmp/elemental-${{ env.FLAVOR }}.${{ env.ARCH}}.qcow2 ELMNTL_ACCEL=none ELMNTL_MACHINETYPE=virt ELMNTL_TARGETARCH=${{ env.ARCH }} ELMNTL_FIRMWARE=/usr/share/AAVMF/AAVMF_CODE.fd prepare-test
135+
sudo apt-get update
136+
sudo apt-get install qemu qemu-utils ovmf qemu-system-x86
137+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
138+
sudo udevadm control --reload-rules
139+
sudo udevadm trigger --name-match=kvm
170140
- name: Run ${{ matrix.test }}
171141
run: |
172-
make DISK=/tmp/elemental-${{ env.FLAVOR }}.${{ env.ARCH}}.qcow2 ${{ matrix.test }}
142+
make DISK=/tmp/elemental-${{ env.FLAVOR }}.${{ env.ARCH}}.qcow2 ELMNTL_TARGETARCH=${{ env.ARCH }} ELMNTL_FIRMWARE=/usr/share/OVMF/OVMF_CODE.fd ${{ matrix.test }}
173143
# TODO include other logs SUT collects on failure
174144
- name: Upload serial console for ${{ matrix.test }}
175145
uses: actions/upload-artifact@v3

0 commit comments

Comments
 (0)