Commit d10b41d
committed
ci: add fio-tests workflow integration
Integrate fio-tests into the modular GitHub Actions CI infrastructure.
The kdevops CI system uses a reusable action-based architecture that
makes adding new workflows straightforward through a simple three-step
process.
The modular CI architecture separates concerns into discrete actions
located in the .github/actions directory. The configure action handles
defconfig selection and kdevops setup. The bringup action provisions
VMs using the configured parameters. The build-test action installs
workflow-specific test infrastructure. The test action executes tests
and collects results. The archive action stores results for analysis.
Finally the cleanup action destroys VMs and cleans up resources.
Workflow-specific behavior is controlled through simple mapping files
in the .ci directory. Each workflow needs two files. The build-test
file specifies the make target for installing test infrastructure. The
test file specifies the make target for establishing baselines or
running tests. These mapping files are looked up by workflow name at
runtime.
For fio-tests the build-test mapping executes make fio-tests to install
fio and generate test job files. The test mapping executes make
fio-tests-baseline to run tests and establish performance baselines.
The test action automatically selects appropriate quick tests for
kdevops-ci validation mode based on workflow type. For fio-tests it
runs a single randread test providing rapid validation in under one
minute. For fstests workflows it runs generic/003. For blktests it runs
block/003. For selftests it runs kmod/test_001. In linux-ci mode the
TESTS variable remains unset allowing full test suite execution.
Result collection is workflow-specific with dedicated logic in the test
action. The fio-tests implementation parses JSON output files to extract
IOPS and bandwidth metrics. This enables performance regression
detection across kernel versions. The system reports sample results
including job names and read/write performance statistics.
Four fio-tests configurations are now available in the CI workflow
selection menu. The fio-tests-quick option provides minimal validation
for rapid iteration. The fio-tests-fs-xfs option tests XFS with 16K
block sizes and modern features. The fio-tests-fs-ext4-bigalloc option
tests ext4 with bigalloc and 32K clusters. The fio-tests-fs-btrfs-zstd
option tests btrfs with zstd compression.
Adding additional fio-tests configurations requires only adding a
defconfig file in the defconfigs directory and adding the workflow name
to the ci_workflow choice list in kdevops.yml. The existing CI
infrastructure automatically handles the rest through the modular action
architecture.
This demonstrates the power of the modular CI design where workflows
share common infrastructure for provisioning, build, test, and cleanup
while maintaining workflow-specific customization through simple mapping
files and conditional logic in the test action.
Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <[email protected]>1 parent fb84ed4 commit d10b41d
File tree
5 files changed
+54
-9
lines changed- .ci
- build-test
- test
- .github
- actions/test
- workflows
- playbooks/roles/fio-tests/tasks
5 files changed
+54
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
50 | 53 | | |
51 | 54 | | |
52 | 55 | | |
| |||
74 | 77 | | |
75 | 78 | | |
76 | 79 | | |
| 80 | + | |
77 | 81 | | |
78 | 82 | | |
79 | 83 | | |
| |||
88 | 92 | | |
89 | 93 | | |
90 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
91 | 128 | | |
92 | 129 | | |
93 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
33 | 37 | | |
34 | 38 | | |
35 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
47 | 48 | | |
48 | 49 | | |
49 | 50 | | |
| |||
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| 71 | + | |
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| |||
124 | 126 | | |
125 | 127 | | |
126 | 128 | | |
127 | | - | |
| 129 | + | |
128 | 130 | | |
129 | 131 | | |
130 | 132 | | |
131 | 133 | | |
132 | 134 | | |
133 | 135 | | |
134 | 136 | | |
135 | | - | |
| 137 | + | |
136 | 138 | | |
137 | 139 | | |
138 | 140 | | |
| |||
144 | 146 | | |
145 | 147 | | |
146 | 148 | | |
147 | | - | |
| 149 | + | |
148 | 150 | | |
149 | 151 | | |
150 | 152 | | |
| |||
154 | 156 | | |
155 | 157 | | |
156 | 158 | | |
157 | | - | |
| 159 | + | |
158 | 160 | | |
159 | 161 | | |
160 | 162 | | |
| |||
166 | 168 | | |
167 | 169 | | |
168 | 170 | | |
169 | | - | |
| 171 | + | |
170 | 172 | | |
171 | 173 | | |
172 | 174 | | |
| |||
177 | 179 | | |
178 | 180 | | |
179 | 181 | | |
180 | | - | |
| 182 | + | |
181 | 183 | | |
182 | 184 | | |
183 | 185 | | |
| |||
233 | 235 | | |
234 | 236 | | |
235 | 237 | | |
236 | | - | |
237 | | - | |
| 238 | + | |
| 239 | + | |
238 | 240 | | |
239 | 241 | | |
240 | 242 | | |
| |||
413 | 415 | | |
414 | 416 | | |
415 | 417 | | |
416 | | - | |
| 418 | + | |
417 | 419 | | |
0 commit comments