Skip to content

Commit bb6387b

Browse files
author
Peter Mikus
committed
docs(jobs): Update content for GHA
Signed-off-by: Peter Mikus <peter.mikus@icloud.com> Change-Id: Ia3e35e479bffe08a9e44e3afa6f9c43989ae3ffe
1 parent 7dd680e commit bb6387b

File tree

6 files changed

+36
-90
lines changed

6 files changed

+36
-90
lines changed

.github/actions/csit-comment-dispatch/action.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ runs:
4040
exit 1
4141
fi
4242
43-
# Split <command> (expected format: <trigger>-<dut>-<node>)
43+
# Split <command> (expected format: <project>-<dut>-<node>)
4444
set +e
45-
IFS=- read -r -d '' trigger dut node < <(printf %s $command)
45+
IFS=- read -r -d '' project dut node < <(printf %s $command)
4646
set -e
4747
48-
if [[ -z "${trigger:-}" || -z "${dut:-}" || -z "${node:-}" ]]; then
49-
echo "::error::Malformed command: '$command'. Expected format '<trigger>-<dut>-<node>'."
48+
if [[ -z "${project:-}" || -z "${dut:-}" || -z "${node:-}" ]]; then
49+
echo "::error::Malformed command: '$command'. Expected format '<project>-<dut>-<node>'."
5050
exit 1
5151
fi
5252

docs/content/methodology/per_patch_testing.md

Lines changed: 13 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ weight: 5
55

66
# Per-patch Testing
77

8-
Updated for CSIT git commit id: d8ec3f8673346c0dc93e567159771f24c1bf74fc.
9-
108
A methodology similar to trending analysis is used for comparing performance
119
before a DUT code change is merged. This can act as a verify job to disallow
1210
changes which would decrease performance without a good reason.
@@ -18,10 +16,13 @@ They allow full tag expressions, all types of perf tests are supported.
1816

1917
There are jobs available for multiple types of testbeds,
2018
based on various processors.
21-
Their Gerrit triggers words are of the form "perftest-{node_arch}"
22-
where the node_arch combinations currently supported are:
23-
2n-icx, 2n-clx, 2n-spr, 2n-zn2, 3n-icx, 3n-tsh, 3n-alt, 2n-tx2, 3n-snr,
24-
3na-spr, 3nb-spr.
19+
Their Gerrit triggers words are of the form
20+
"gha-run csit-{dut}-{node_arch} {testype}", where:
21+
22+
- dut: [vpp, dpdk, trex]
23+
- testype: [perftest, bisecttest]
24+
- node_arch: [3n-oct, 3n-emr, 2n-emr, 2n-grc, 2n-icx, 2n-spr, 2n-zn2, 3n-icx,
25+
3n-alt, 3n-snr, 3na-spr, 3nb-spr]
2526

2627
## Test selection
2728

@@ -35,47 +36,20 @@ to accidentally select too high number of tests, blocking the testbed for days.
3536
What follows is a list of explanations and recommendations
3637
to help users to select the minimal set of tests cases.
3738

38-
### Verify cycles
39-
40-
When Gerrit schedules multiple jobs to run for the same patch set,
41-
it waits until all runs are complete.
42-
While it is waiting, it is possible to trigger more jobs
43-
(adding runs to the set Gerrit is waiting for), but it is not possible
44-
to trigger more runs for the same job, until Gerrit is done waiting.
45-
After Gerrit is done waiting, it becames possible to trigger
46-
the same job again.
47-
48-
Example. User triggers one set of tests on 2n-icx and immediately
49-
also triggers other set of tests on 3n-icx. Then the user notices
50-
2n-icx run ended early because of a typo in tag expression.
51-
When the user tries to re-trigger 2n-icx (with a fixed tag expression),
52-
that comment is ignored by Jenkins.
53-
Only when 3n-icx job finishes, the user can trigger 2n-icx again.
54-
55-
### One comment many jobs
56-
57-
In the past, the CSIT code which parses for perftest trigger comments
58-
was buggy, which lead to bad behavior (as in selection all performance test,
59-
because "perftest" is also a robot tag) when user included multiple
60-
perftest trigger words in the same comment.
61-
62-
The worst bugs were fixed since then, but it is still recommended
63-
to use just one trigger word per Gerrit comment, just to be safe.
64-
6539
### Multiple test cases in run
6640

6741
While Robot supports OR operator, it does not support parentheses,
6842
so the OR operator is not very useful.
6943
It is recommended to use space instead of OR operator.
7044

7145
Example template:
72-
perftest-2n-icx {tag_expression_1} {tag_expression_2}
46+
gha-run csit-vpp-2n-emr perftest {tag_expression_1} {tag_expression_2}
7347

7448
See below for more concrete examples.
7549

7650
### Suite tags
7751

78-
Traditionally, CSIT maintains broad Robot tags that can be used to select tests.
52+
CSIT maintains broad Robot tags that can be used to select tests.
7953

8054
But it is not recommended to use them for test selection,
8155
as it is not that easy to determine how many test cases are selected.
@@ -86,12 +60,6 @@ and use its suite tag. For example, "ethip4-ip4base" is a suite tag
8660
selecting just one suite in CSIT git repository,
8761
avoiding all scale, container, and other simialr variants.
8862

89-
Note that CSIT uses "autogen" code generator,
90-
so the robot running in Jenkins has access to more suites
91-
than visible just by looking into CSIT git repository.
92-
Thus, suite tag is not enough to select precisely the intended suite,
93-
and user is encouraged to narrow down to a single test case within a suite.
94-
9563
### Fully specified tag expressions
9664

9765
Here is one template to select a single test case:
@@ -115,9 +83,9 @@ and more for dot1q and other encapsulated traffic;
11583

11684
As there are more test cases than CSIT can periodically test,
11785
it is possible to encounter an old test case that currently fails.
118-
To avoid that, you can look at "job spec" files we use for periodic testing,
119-
for example
120-
[this one](https://raw.githubusercontent.com/FDio/csit/master/resources/job_specs/report_iterative/2n-spr/vpp-mrr-00.md).
86+
To avoid that, you can look at "job specifications" files we use for periodic
87+
testing, for example
88+
[this one](https://github.com/FDio/csit/blob/master/resources/job_specifications/test_groups.yaml).
12189

12290
### Shortening triggers
12391

@@ -167,7 +135,7 @@ but wants to test both NIC drivers (not AF_XDP), both apps in VM,
167135
and both 1 and 2 parallel links.
168136

169137
After shortening, this is the trigger comment fianlly used:
170-
perftest-3n-icx mrrANDnic_intel-e810cqAND1cAND64bAND?lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm\*NOTdrv_af_xdp
138+
gha-run csit-vpp-3n-icx perftest mrrANDnic_intel-e810cqAND1cAND64bAND?lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm\*NOTdrv_af_xdp
171139

172140
## Basic operation
173141

docs/content/methodology/test/_index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,4 @@ weight: 3
1515
- [Hoststack]({{< relref "/methodology/test/hoststack/" >}})
1616
- [Generic Segmentation Offload]({{< relref "/methodology/test/generic_segmentation_offload" >}})
1717
- [Reconfiguration]({{< relref "/methodology/test/reconfiguration" >}})
18-
- [VPP Device]({{< relref "/methodology/test/vpp_device" >}})
1918
- [Reassembly]({{< relref "/methodology/test/reassembly" >}})

docs/content/methodology/test/reassembly.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Reassembly"
3-
weight: 10
3+
weight: 9
44
---
55

66
# Packet reassembly performance

docs/content/methodology/test/vpp_device.md

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

docs/content/overview/csit/job_triggering.md

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,64 +18,58 @@ The trigger consist of
1818

1919
### Report
2020

21-
Both iterative and coverage jobs are triggered by user from gerrit.
21+
Both iterative and coverage jobs are triggered by user from github action panel.
2222

2323
#### Iterative jobs
2424

25-
Trigger name:
26-
- csit-vpp-report-iter-`node`-`arch`-perftest
27-
2825
Default values:
2926
- iterative test set - the same as it is used for periodical jobs
3027
- test type: mrr
3128

32-
Mandatory trigger parameters:
29+
Mandatory workflow parameters:
3330
- no mandatory parameters - default values are used in that case
3431

35-
Optional trigger parameters:
32+
Optional workflow parameters:
3633
- test set
3734
- test type
3835

3936
Examples:
4037

41-
1. csit-vpp-report-iter-2n-emr-perftest
38+
1. <no input>
4239
- Generates default test set and default test type.
4340

44-
2. csit-vpp-report-iter-2n-emr-perftest #ndrpdr
41+
2. #ndrpdr
4542
- Generates default test set and ndrpdr tests.
4643

47-
3. csit-vpp-report-iter-2n-emr-perftest #2n-emr-vpp-hoststack
44+
3. #2n-emr-vpp-hoststack
4845

49-
csit-vpp-report-iter-2n-emr-perftest #2n-emr-vpp-hoststack #hoststack
46+
#2n-emr-vpp-hoststack #hoststack
5047
- Generates hoststack test set.
5148
- It is not necessary to specify the test type as it is defined in the name
5249
of the test set, so both examples are equal and correct.
5350

5451
#### Coverage jobs
5552

56-
Trigger name:
57-
- csit-vpp-report-cov-`node`-`arch`-perftest
58-
5953
Default values:
6054
- test type: ndrpdr
6155

62-
Mandatory trigger parameters:
56+
Mandatory workflow parameters:
6357
- test set
6458

65-
Optional trigger parameters:
59+
Optional workflow parameters:
6660
- test type, default value: ndrpdr
6761

6862
Examples:
6963

70-
1. csit-vpp-report-cov-2n-emr-perftest #2n-emr-vpp-cov-ip4-00
64+
1. #2n-emr-vpp-cov-ip4-00
7165
- Generates the defined test set, ndrpdr tests.
7266

7367
### Development
7468

7569
#### Verify jobs
7670

7771
Trigger name:
78-
- csit-`node`-`arch`-perftest `tags`
72+
- gha-run csit-`dut`-`node`-`arch` perftest `tags`
7973

8074
Default values:
8175
- iterative test set - the same as it is used for periodical jobs
@@ -90,16 +84,16 @@ Optional trigger parameters:
9084

9185
Examples:
9286

93-
1. csit-2n-emr-perftest `tags`
87+
1. gha-run csit-vpp-2n-emr perftest `tags`
9488
- Generates iterative mrr tests, runs only those selected by tags.
9589

96-
2. csit-2n-emr-perftest `tags` #2n-emr-vpp-cov-ip4-00 #ndrpdr
90+
2. gha-run csit-vpp-2n-emr perftest `tags` #2n-emr-vpp-cov-ip4-00 #ndrpdr
9791
- Generates defined test set, ndrpdr tests, runs only those selected by tags.
9892

9993
#### Bisect jobs
10094

10195
Trigger name:
102-
- bisecttest-`node`-`arch` `commit` `tags`
96+
- gha-run csit-`dut`-`node`-`arch` bisecttest `commit` `tags`
10397

10498
Default values:
10599
- iterative test set - the same as it is used for periodical jobs
@@ -114,10 +108,10 @@ Optional trigger parameters:
114108

115109
Examples:
116110

117-
1. bisecttest-2n-emr `commit` `tags`
111+
1. gha-run csit-vpp-2n-emr bisecttest `commit` `tags`
118112
- Generates iterative mrr tests, runs only those selected by tags.
119113

120-
2. bisecttest-2n-emr `commit` `tags` #2n-emr-vpp-cov-ip4-00 #ndrpdr
114+
2. gha-run csit-vpp-2n-emr bisecttest `commit` `tags` #2n-emr-vpp-cov-ip4-00 #ndrpdr
121115
- Generates defined test set, ndrpdr tests, runs only those selected by tags.
122116

123117
#### Special cases
@@ -138,11 +132,11 @@ test(s).
138132

139133
Examples:
140134

141-
1. csit-2n-emr-perftest `tags` #generate-all
135+
1. gha-run csit-vpp-2n-emr perftest `tags` #generate-all
142136
- Generates all tests specified in all test sets for 2n-emr testbed, runs
143137
only those selected by tags.
144138

145-
1. bisecttest-2n-emr `commit` `tags` #generate-all
139+
1. gha-run csit-vpp-2n-emr bisecttest `commit` `tags` #generate-all
146140
- Generates all tests specified in all test sets for 2n-emr testbed, runs
147141
only those selected by tags.
148142

0 commit comments

Comments
 (0)