Skip to content

Performance Harness Run #95

Performance Harness Run

Performance Harness Run #95

name: "Performance Harness Run"
on:
workflow_dispatch:
inputs:
platform-choice:
description: 'Select Platform'
type: choice
options:
- ubuntu20
- ubuntu22
- reproducible
override-test-params:
description: 'Override perf harness params'
type: string
permissions:
packages: read
contents: read
defaults:
run:
shell: bash
jobs:
v:
name: Discover Inputs
runs-on: ubuntu-latest
outputs:
test-params: ${{steps.overrides.outputs.test-params}}
steps:
- name: Setup Input Params
id: overrides
run: |
echo test-params=findMax testBpOpMode >> $GITHUB_OUTPUT
if [[ "${{inputs.override-test-params}}" != "" ]]; then
echo test-params=${{inputs.override-test-params}} >> $GITHUB_OUTPUT
fi
platform-cache:
name: Platform Cache
uses: AntelopeIO/platform-cache-workflow/.github/workflows/platformcache.yaml@main
permissions:
contents: read
packages: write
with:
runs-on: '["self-hosted", "enf-x86-beefy"]'
platform-files: |
.cicd/platforms
tools/reproducible.Dockerfile:builder
reuse-build:
name: Reuse leap build
needs: [v]
runs-on: ubuntu-latest
outputs:
build-artifact: ${{steps.downloadBuild.outputs.downloaded-file}}
steps:
- name: Download builddir
id: downloadBuild
uses: AntelopeIO/asset-artifact-download-action@v3
with:
owner: AntelopeIO
repo: leap
file: build.tar.zst
target: ${{github.sha}}
artifact-name: ${{github.event.inputs.platform-choice}}-build
fail-on-missing-target: false
- name: Upload builddir
if: steps.downloadBuild.outputs.downloaded-file != ''
uses: AntelopeIO/upload-artifact-large-chunks-action@v1
with:
name: ${{github.event.inputs.platform-choice}}-build
path: build.tar.zst
build-base:
name: Run Build Workflow
needs: [platforms-cache, reuse-build]

Check failure on line 81 in .github/workflows/performance_harness_run.yaml

View workflow run for this annotation

GitHub Actions / Performance Harness Run

Invalid workflow file

The workflow is not valid. .github/workflows/performance_harness_run.yaml (Line: 81, Col: 13): Job 'build-base' depends on unknown job 'platforms-cache'. .github/workflows/performance_harness_run.yaml (Line: 90, Col: 45): Job 'tests' depends on job 'build-base' which creates a cycle in the dependency graph.
if: needs.reuse-build.outputs.build-artifact == ''
uses: ./.github/workflows/build_base.yaml
with:
platforms: ${{needs.platform-cache.outputs.platforms}}
platform-list: '["${{github.event.inputs.platform-choice}}"]'
tests:
name: Tests
needs: [v, platform-cache, reuse-build, build-base]
if: always() && (needs.build-base.result == 'success' || needs.reuse-build.result == 'success')
runs-on: ubuntu-latest
container:
image: ${{fromJSON(needs.platform-cache.outputs.platforms)[github.event.inputs.platform-choice].image}}
steps:
- name: Download builddir
uses: actions/download-artifact@v3
with:
name: ${{github.event.inputs.platform-choice}}-build
- name: Run Performance Test
run: |
zstdcat build.tar.zst | tar x
cd build
./tests/PerformanceHarnessScenarioRunner.py ${{needs.v.outputs.test-params}}
- name: Prepare results
id: prep-results
run: |
tar -pc build/PerformanceHarnessScenarioRunnerLogs | zstd --long -T0 -9 > PerformanceHarnessScenarioRunnerLogs.tar.zst
- name: Upload results
uses: AntelopeIO/upload-artifact-large-chunks-action@v1
with:
name: performance-test-results
path: PerformanceHarnessScenarioRunnerLogs.tar.zst
- name: Upload report
uses: actions/upload-artifact@v3
with:
name: performance-test-report
path: ./build/PerformanceHarnessScenarioRunnerLogs/**/report.json