-
Notifications
You must be signed in to change notification settings - Fork 17
152 lines (138 loc) · 4.52 KB
/
Copy pathvpp-csit-bisect.yml
File metadata and controls
152 lines (138 loc) · 4.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
---
name: vpp-csit-bisect
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
inputs:
CSIT_GERRIT_REFSPEC:
description: "CSIT Gerrit refspec of change"
required: true
type: string
GERRIT_BRANCH:
description: "VPP Branch that change is against"
required: true
type: string
GERRIT_REFSPEC:
description: "VPP Gerrit refspec of change"
required: true
type: string
GERRIT_COMMENT:
description: "Full command line from Gerrit comment"
required: true
type: string
node:
description: Performance testbed node.
required: true
type: choice
options:
- 2n-aws
- 2n-c6in
- 2n-c7gn
- 2n-c8gn
- 2n-emr
- 2n-grc
- 2n-icx
- 2n-spr
- 2n-zn2
- 3n-alt
- 3n-emr
- 3n-icx
- 3n-oct
- 3n-srf
- 2n-gnr
- 3n-gnr
- 3na-spr
- 3nb-spr
default: 2n-emr
suite_gen_params:
description: Parameters for the suite generator.
required: true
type: string
permissions:
contents: read
jobs:
dispatch:
runs-on:
- ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Prepare node selection matrix
id: set-matrix
uses: fdio/csit/.github/actions/csit-report-dispatch@cee2088675d00de5f4a47f386a6c05315bfc170c
with:
node: ${{ github.event.inputs.node }}
vpp-csit-bisect:
needs: dispatch
name: vpp-csit-bisect-master-${{ matrix.node }}
runs-on:
- self-hosted
- nomad
- fdio:arch=${{ matrix.executor_arch }}
- fdio:class=builder
- fdio:size=vpp
- fdio:namespace=prod
- fdio:os=${{ matrix.os }}
- fdio:workflow=${{ github.run_id }}
timeout-minutes: 1440
strategy:
matrix: ${{ fromJSON(needs.dispatch.outputs.matrix) }}
env:
BUILD_TAG: vpp-csit-bisect-master-${{ matrix.node }}-${{ github.run_id }}
JOB_NAME: vpp-csit-bisect-master-${{ matrix.node }}
GERRIT_BRANCH: ${{ github.event.inputs.GERRIT_BRANCH }}
GERRIT_EVENT_TYPE: comment-added
GERRIT_EVENT_COMMENT_TEXT: ${{ github.event.inputs.GERRIT_COMMENT }}
steps:
- name: Git Checkout VPP
# yamllint disable-line rule:line-length
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v6.0.2
with:
path: vpp
repository: FDio/vpp
ref: master
fetch-depth: 0
fetch-tags: 'true'
- name: Git Checkout CSIT
# yamllint disable-line rule:line-length
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v6.0.2
with:
path: vpp/csit
ref: master
fetch-depth: 0
fetch-tags: 'true'
- name: Setup Environment
# yamllint disable-line rule:line-length
uses: fdio/.github/.github/actions/setup-executor-env@4eb74b59c8f76192681941b89e277454d96bebb8
- name: Prepare Bisect
run: |
pushd vpp
git fetch https://gerrit.fd.io/r/vpp "${{ github.event.inputs.GERRIT_REFSPEC }}"
git checkout FETCH_HEAD
pushd csit
if [[ -n "${{ github.event.inputs.CSIT_GERRIT_REFSPEC }}" ]]; then
git fetch https://gerrit.fd.io/r/csit "${{ github.event.inputs.CSIT_GERRIT_REFSPEC }}"
git checkout FETCH_HEAD
else
git checkout HEAD
fi
- name: Run CSIT Bootstrap
# yamllint disable-line rule:line-length
uses: fdio/csit/.github/actions/csit-bootstrap@cee2088675d00de5f4a47f386a6c05315bfc170c
with:
bootstrap_script: bisect.sh
path: vpp/csit
with_oper: false
- name: AWS S3 Publish Logs
if: ${{ !cancelled() && (success() || failure()) }}
# yamllint disable-line rule:line-length
uses: fdio/.github/.github/actions/aws-s3-publish-logs@4eb74b59c8f76192681941b89e277454d96bebb8
with:
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: ${{ vars.AWS_REGION }}
s3_bucket: ${{ vars.S3_BUCKET }}
# yamllint disable-line rule:line-length
s3_path: csit-${{ matrix.dut }}-bisect-${{ matrix.node }}/${{ github.run_id }}
archives_path: vpp/csit/archives
# Compress flag is on by default.