Skip to content

Conversation

@Oseltamivir
Copy link
Collaborator

Summary

Addresses #304, Adds PR comment–triggered sweeps via /sweep ..., removing reliance on labels. Keeps logic DRY by reusing existing benchmark templates and a new reusable executor.

How

  1. issue_comment on PRs parses the first /sweep line and forwards args to a reusable workflow.
  2. Executor checks out PR head, runs utils/matrix_logic/generate_sweep_configs.py, detects single vs multi, dispatches to benchmark-tmpl.yml or benchmark-multinode-tmpl.yml, then collects results.

What

Added: .github/workflows/pr-comment-sweep.yml: small parser; auth gate; per‑PR concurrency.
Added: .github/workflows/sweep-executor.yml: generates matrix, runs benchmarks, aggregates results.

Examples

  • /sweep full-sweep --single-node --runner-type h200 --model-prefix dsr1 --seq-lens 1k1k
  • /sweep full-sweep --multi-node --model-prefix gptoss --seq-lens 1k1k
  • /sweep runner-model-sweep --runner-type h200 --single-node
    No need to pass config paths; executor appends --config-files and --runner-config.

Misc & Security

Only runs on PR comments from OWNER/MEMBER/COLLABORATOR.
Workflows execute with secrets: inherit; generator runs on PR head.

Notes

  • issue_comment workflows must exist on the default branch to trigger. Currently tries a workflow_dispatch workaround
  • Benchmarks currently checkout default branch (matching existing templates). If desired, we can add a ref input to run jobs on PR head.
  • Label-based path remains unchanged.

@Oseltamivir Oseltamivir requested a review from a team as a code owner December 8, 2025 07:46
@Oseltamivir Oseltamivir changed the title Initial commit, for #304 For #304: GH comment hook Dec 8, 2025
@Oseltamivir
Copy link
Collaborator Author

Oseltamivir commented Dec 8, 2025

Can't be actually tested until pushed to main I believe, but the there is a default: full-sweep --single-node --runner-type h200 --model-prefix dsr1 --seq-lens 1k1k --max-conc 4 that is ran here on push

pr_from_branch='${{ steps.find.outputs.pr-number }}'
pr_number="${DISPATCH_PR:-}"; if [[ -z "$pr_number" ]]; then pr_number="$pr_from_branch"; fi
gen_args="${DISPATCH_ARGS:-}"
if [[ -z "$gen_args" ]]; then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no default
should just fail in this case

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default(gen_args='full-sweep --sin...) is for testing, will remove when ready to merge

@github-actions
Copy link

@Oseltamivir pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20238048007
(Push on refs/heads/slash-commands)

@github-actions
Copy link

@Oseltamivir pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20238135307
(Push on refs/heads/slash-commands)

@github-actions
Copy link

@Oseltamivir pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20238250232
(Push on refs/heads/slash-commands)

@cquil11
Copy link
Collaborator

cquil11 commented Dec 17, 2025

@Oseltamivir can the callback message / comment include the command used to run the sweep?

@Oseltamivir pushed changes and triggered a sweep. With the command <Code formatted command>.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20238250232
(Push on refs/heads/slash-commands)

cquil11 and others added 4 commits December 16, 2025 17:58
) [skip-sweep]

* add logic for event driven runs

new single workflow that runs on merge to main, new perg-changelog.yaml to track performance changes, new logic to parse changelog, removed cron job in full sweep schedulers

* testing pt 1

* raise error if yaml diff in perf changelog is not valid

* remove unused imports in process_changelog.py

* config data key fix

* raise error if test-config subprocess fails to run

* backfill changelog

* backfill changelog pt 2

* backfill changelog pt 3

* backfill changelog pt 4

* backfill changelog pt 5

* backfill changelog pt 6

* add always() condition to upload changelog metadata

* backfill changelog pt 7 (test)

* backfill changelog pt 8 (revert test)

* backfill changelog pt 9

* backfill changelog pt 11

* change if condition for jobs in run sweep workflow

* debugging run sweep workflow

* debugging run sweep workflow pt 2

* debugging run sweep workflow pt 3 (revert)

* debugging run sweep workflow pt 4

* debugging run sweep workflow pt 5

* debugging run sweep workflow pt 6

* debugging run sweep workflow pt 7

* add always() condition to upload changelog metadata (add back, this got removed)

* add bmk prefix to results

* backfill changelog official

* for concurrency group, use more unique sha
…updates (#331)

Bumps the github-actions group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/checkout` from 6.0.0 to 6.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...8e8c483)

Updates `actions/upload-artifact` from 5.0.0 to 6.0.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@330a01c...b7c566a)

Updates `actions/download-artifact` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@018cc2c...37930b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/download-artifact
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update amd-master.yaml

* Update perf-changelog.yaml

* Update dsr1_fp4_mi355x_docker.sh

* Update dsr1_fp4_mi355x_docker.sh

---------

Co-authored-by: Cameron Quilici <cjquilici@gmail.com>
@github-actions
Copy link

@Oseltamivir pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20289011735
(Push on refs/heads/slash-commands)

@github-actions
Copy link

@cquil11 pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20289080590
(Push on refs/heads/slash-commands)

@github-actions
Copy link

@Oseltamivir pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20290213946
Command: full-sweep --single-node --runner-type h200 --model-prefix dsr1 --seq-lens 1k1k --max-conc 4
Pinned ref: c13b7f7
(Push on refs/heads/slash-commands)

@github-actions
Copy link

@Oseltamivir pushed changes and triggered a sweep.

Run: https://github.com/InferenceMAX/InferenceMAX/actions/runs/20309360272
Command: full-sweep --single-node --runner-type h200 --model-prefix dsr1 --seq-lens 1k1k --max-conc 4
Pinned ref: 80e40d4
(Push on refs/heads/slash-commands)

@Oseltamivir Oseltamivir temporarily deployed to Outside Collaborator E2E Test December 17, 2025 16:11 — with GitHub Actions Inactive
Oseltamivir and others added 3 commits December 17, 2025 08:53
* Add benchmark script for GPTOSS FP4 B200 TRT-LLM

* make changes to perf changelog

---------

Co-authored-by: Cameron Quilici <cjquilici@gmail.com>
Copy link
Collaborator

@cquil11 cquil11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@cquil11 cquil11 merged commit c97d4fa into main Dec 17, 2025
@cquil11 cquil11 deleted the slash-commands branch December 17, 2025 17:48
@github-project-automation github-project-automation bot moved this from In Progress to Done in InferenceMAX Board Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

5 participants