Skip to content

Commit 7206bc2

Browse files
committed
Convert reusable wf into composite action
Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
1 parent 0ec4570 commit 7206bc2

3 files changed

Lines changed: 70 additions & 75 deletions

File tree

.github/workflows/ci.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ on:
66
pull_request:
77
branches: [main]
88

9+
permissions: {}
10+
911
jobs:
1012
ci:
11-
runs-on: 'ubuntu-latest'
13+
runs-on: 'ubuntu-24.04'
1214
steps:
1315
- name: Checkout test framework
1416
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
@@ -30,5 +32,17 @@ jobs:
3032
run: make lint
3133

3234
kvm:
33-
uses: ./.github/workflows/test.yml
34-
permissions: {}
35+
runs-on: 'ubuntu-24.04'
36+
steps:
37+
- name: Checkout test framework
38+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
39+
with:
40+
persist-credentials: false
41+
42+
- name: Install dependencies
43+
run: |
44+
sudo apt-get update
45+
sudo apt-get install -y nasm qemu-system-x86 wget mtools
46+
47+
- name: Run functional tests
48+
uses: ./

.github/workflows/test.yml

Lines changed: 0 additions & 72 deletions
This file was deleted.

action.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Functional Tests
2+
description: "Run QEMU functional tests"
3+
4+
inputs:
5+
qemu_bin:
6+
description: "Path to the QEMU binary (relative to workspace root)"
7+
required: false
8+
default: "qemu-system-x86_64"
9+
accel:
10+
description: "Accelerator to use (kvm or mshv)"
11+
required: false
12+
default: "kvm"
13+
test_filter:
14+
description: "Test filter (e.g. 'kernel_boot', 'migration_os'). Empty runs default tests."
15+
required: false
16+
test_jobs:
17+
description: "Number of parallel test jobs"
18+
default: "2"
19+
required: false
20+
21+
runs:
22+
using: 'composite'
23+
steps:
24+
- name: Check dependencies
25+
working-directory: ${{ github.action_path }}
26+
shell: bash
27+
env:
28+
QEMU_BIN: ${{ inputs.qemu_bin }}
29+
run: make check-tools
30+
31+
- name: Install Rust
32+
uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
33+
34+
- name: Run tests
35+
shell: bash
36+
working-directory: ${{ github.action_path }}
37+
env:
38+
ACCEL: ${{ inputs.accel }}
39+
QEMU_BIN: ${{ inputs.qemu_bin }}
40+
TEST_FILTER: ${{ inputs.test_filter }}
41+
TEST_JOBS: ${{ inputs.test_jobs }}
42+
run: |
43+
if [ -z "$TEST_FILTER" ]; then
44+
unset TEST_FILTER
45+
fi
46+
sudo -E env "PATH=$PATH" make run-release
47+
48+
# - name: Run os migration tests
49+
# working-directory: ${{ github.action_path }}
50+
# shell: bash
51+
# run: |
52+
# sudo make setup-bridge NUM_TAPS=4
53+
# sudo -E env "PATH=$PATH" make run-release TEST_FILTER=migration_os

0 commit comments

Comments
 (0)