Skip to content

util: add Manual Performance Test workflow#667

Merged
jensen-yan merged 1 commit intoxs-devfrom
manual-ci
Dec 19, 2025
Merged

util: add Manual Performance Test workflow#667
jensen-yan merged 1 commit intoxs-devfrom
manual-ci

Conversation

@jensen-yan
Copy link
Copy Markdown
Collaborator

@jensen-yan jensen-yan commented Dec 19, 2025

  • Introduced a new GitHub Actions workflow for Manual Performance Test, allowing users to select configurations, benchmark types, and branches for performance testing.

Change-Id: I4290cde197dd6535ca2a0710c5762e3132da49d8

Summary by CodeRabbit

  • New Features

    • Enabled manual performance testing with configurable options for benchmark type and vector type.
  • Documentation

    • Updated README with details on manual performance test trigger functionality.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Dec 19, 2025

Walkthrough

A new manual GitHub Actions workflow is introduced that allows triggering performance tests via workflow_dispatch with custom configuration, benchmark type, and vector type inputs. The workflow resolves configuration to script paths, determines PR SHA, and reuses the gem5-perf-template workflow for execution.

Changes

Cohort / File(s) Summary
Manual Performance Workflow
.github/workflows/manual-perf.yml
Adds new GitHub Actions workflow with workflow_dispatch trigger supporting custom configuration, benchmark_type, vector_type, and branch inputs. Includes setup job to resolve script paths and determine PR SHA, followed by perf_test job that reuses gem5-perf-template workflow.
Documentation
README.md
Documents the new manual performance test trigger option via Manual Performance Test CI, expanding trigger capabilities beyond existing branch suffix methods.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Straightforward workflow configuration with clear input mapping
  • Minor README documentation addition
  • No complex logic or conditional flows to validate

Possibly related PRs

Suggested reviewers

  • CJ362ff

Poem

🐰 A workflow springs to life, no branch suffix needed,
Manual tests now bloom where custom configs are heeded,
Setup gathers paths, PR SHA's the key,
Gem5 templates dance—performance flows free! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately describes the main change: adding a new Manual Performance Test workflow to the project's utilities.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch manual-ci

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d0b82f9 and f5d7c59.

📒 Files selected for processing (2)
  • .github/workflows/manual-perf.yml (1 hunks)
  • README.md (1 hunks)
🔇 Additional comments (4)
.github/workflows/manual-perf.yml (3)

3-38: LGTM! Workflow inputs are well-structured.

The workflow_dispatch inputs provide good flexibility with appropriate types, defaults, and descriptions. The optional branch input allows testing specific commits while defaulting to the current branch.


72-80: LGTM! Reusable workflow call structure is correct.

The job properly depends on setup and passes resolved parameters to the template workflow. The hardcoded check_result: true is appropriate for manual testing scenarios.


50-64: No changes needed. The relative script paths resolve correctly within the reusable workflow context.

The template workflow (gem5-perf-template.yml) uses realpath ${{ inputs.script_path }} to convert relative paths to absolute paths. When executed with the correct working directory context ($GEM5_HOME/util/xs_scripts/test), paths like ../kmh_6wide.sh resolve correctly to the script files in util/xs_scripts/, all of which exist in the repository.

README.md (1)

61-61: LGTM! Clear documentation of the new manual trigger feature.

The added line effectively documents the new manual performance test workflow and provides users with clear guidance on how to access it via the Actions tab.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- Introduced a new GitHub Actions workflow for Manual Performance Test, allowing users to select configurations, benchmark types, and branches for performance testing.

Change-Id: I4290cde197dd6535ca2a0710c5762e3132da49d8
@github-actions
Copy link
Copy Markdown

🚀 Coremark Smoke Test Results

Branch IPC Change
Base (xs-dev) 2.0662 -
This PR 2.0662 ➡️ 0.0000 (0.00%)

✅ Difftest smoke test passed!

@jensen-yan jensen-yan merged commit ac0a89a into xs-dev Dec 19, 2025
2 checks passed
@jensen-yan jensen-yan deleted the manual-ci branch December 19, 2025 07:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants