Skip to content

vpp-csit-bisect

vpp-csit-bisect #360

---
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.