Skip to content

csit-perf-report

csit-perf-report #277

---
name: csit-perf-report
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
inputs:
job_type:
description: "The type of job: iterative or coverage."
required: true
type: choice
options:
- iterative
- coverage
default: iterative
dut:
description: "CSIT test/ subdirectory containing suites to execute."
required: true
type: choice
options:
- dpdk
- trex
- vpp
default: vpp
node:
description: Performance testbed node.
required: true
type: choice
options:
- 2n-aws
- 2n-c6in
- 2n-c7g
- 2n-emr
- 2n-grc
- 2n-icx
- 2n-spr
- 2n-zn2
- 3n-alt
- 3n-emr
- 3n-icx
- 3n-icxd
- 3n-oct
- 3n-snr
- 3na-spr
- 3nb-spr
default: 2n-emr
branch:
description: Branch or patch.
required: true
type: choice
options:
- rls2602
default: rls2602
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@89e40adc504ab4f2b4ae15a91e26b2f2c754cbf8
with:
node: ${{ github.event.inputs.node }}
dut: ${{ github.event.inputs.dut }}
csit-perf-report:
needs: dispatch
# yamllint disable-line rule:line-length
name: csit-${{ github.event.inputs.dut }}-perf-report-${{ github.event.inputs.job_type }}-${{ github.event.inputs.branch == 'rls2602' && '2602' }}-${{ matrix.node }}
runs-on:
- self-hosted
- nomad
- fdio:arch=${{ matrix.executor_arch }}
- fdio:class=builder
- fdio:size=csit
- fdio:namespace=prod
- fdio:os=${{ matrix.os }}
- fdio:workflow=${{ github.run_id }}
timeout-minutes: 1440
strategy:
matrix: ${{ fromJSON(needs.dispatch.outputs.matrix) }}
env:
# yamllint disable-line rule:line-length
BUILD_TAG: ${{ github.job }}-master-${{ matrix.node }}-${{ github.run_id }}
# yamllint disable-line rule:line-length
JOB_NAME: csit-${{ github.event.inputs.dut }}-perf-report-${{ github.event.inputs.job_type }}-${{ github.event.inputs.branch == 'rls2602' && '2602' }}-${{ matrix.node }}
GERRIT_BRANCH: ${{ github.event.inputs.branch }}
TEST_TAG_STRING: ${{ github.event.inputs.suite_gen_params }}
steps:
- name: Git Checkout CSIT
uses: actions/checkout@v6
with:
ref: ${{ github.event.inputs.branch }}
fetch-depth: 0
- name: Setup Environment
# yamllint disable-line rule:line-length
uses: fdio/.github/.github/actions/setup-executor-env@b728d1589228e2891a4241a1bba362d76895c225
- name: Run CSIT Bootstrap
# yamllint disable-line rule:line-length
uses: fdio/csit/.github/actions/csit-bootstrap@a372372ca8f89676c55631f8650468dfab86cc2a
with:
bootstrap_script: bootstrap_verify_perf.sh
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@a28ad9abc70855292df1ea0d59829e814e78c2f4
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-${{ github.event.inputs.dut }}-perf-report-${{ github.event.inputs.job_type }}-${{ github.event.inputs.branch == 'rls2602' && '2602' }}-${{ matrix.node }}/${{ github.run_id }}