You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
doc: update to reflect latest changes in state transitions
We no longer transition successful `kbuild` nodes directly to `done`
state, but go through `available` first. This state triggers test jobs'
creation, while we can schedule post-processing jobs when the node
finally reaches the `done` state` (once every test job is complete, or
the timeout is reached).
Ensure the documentation (especially the examples) reflects the current
design.
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Copy file name to clipboardExpand all lines: doc/developer-documentation.md
+10-2Lines changed: 10 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,11 +160,19 @@ Here is the description of each field:
160
160
state: available
161
161
```
162
162
For a test that requires a successful completion of a build job such as `kbuild-gcc-10-arm64`, specify the event as follows:
163
+
```yaml
164
+
event:
165
+
channel: node
166
+
name: kbuild-gcc-10-arm64
167
+
state: available
168
+
```
169
+
For a post-processing job that requires completion of all test jobs for a given build job such as `kbuild-gcc-10-arm64`, specify the event as follows:
163
170
```yaml
164
171
event:
165
172
channel: node
166
173
name: kbuild-gcc-10-arm64
167
174
result: pass
175
+
state: done
168
176
```
169
177
Here, `node` refers to the name of API PubSub channel where node events are published.
170
178
- **`runtime`**: Select a runtime for scheduling and running the job. Supported runtimes include `shell`, `docker`, `lava`, and `kubernetes`. Specify the runtime type from the `runtimes` section. Note that the `name` property is required for `lava` and `kubernetes` runtimes to specify which lab or Kubernetes context should execute the test. Several LAVA labs (such as BayLibre, Collabora, Qualcomm) and Kubernetes contexts have been enabled in KernelCI.
@@ -280,7 +288,7 @@ Tarball service creates/updates a local git repo and uses it to create a kernel
@@ -65,12 +68,12 @@ When the trigger pushes a new revision node (checkout), the tarball receives a p
65
68
66
69
### Runner
67
70
68
-
The Runner step listens for pub/sub events about available checkout node. It will then schedule some jobs (it can be any kind of job including build and test) to be run in various runtime environments as defined in the pipeline YAML configuration from the Core tools. A node is pushed to the API with "available" state e.g. "kunit" node. This will generate pub/sub event of build or test node creation.
71
+
The Runner step listens for pub/sub events about available checkout node. It will then schedule some jobs (it can be any kind of job including build and test) to be run in various runtime environments as defined in the pipeline YAML configuration from the Core tools. A node is pushed to the API with "running" state e.g. "kunit" node. This will generate pub/sub event of build or test node creation.
69
72
70
73
### Runtime Environment
71
74
72
75
The jobs added by runner will be run in specified runtime environment i.e. shell, Kubernetes or LAVA lab.
73
-
Each environment needs to have its own API token set up locally to be able to submit the results to API. It updates the node with state "done" and result (pass, fail, or skip). This will generate pub/sub event of node update.
76
+
Each environment needs to have its own API token set up locally to be able to submit the results to API. It updates the node with state ("available" or "done" depending on the job type) and result (pass, fail, or skip). This will generate pub/sub event of node update.
0 commit comments