Skip to content

Sync run.sh and run.cmd options with run.py - #125511

Closed
jtschuster with Copilot wants to merge 5 commits into
mainfrom
copilot/sync-run-options
Closed

Sync run.sh and run.cmd options with run.py#125511
jtschuster with Copilot wants to merge 5 commits into
mainfrom
copilot/sync-run-options

Conversation

Copilot AI commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Description

run.sh and run.cmd were missing several options accepted by run.py, and run.sh had a bug where it passed --tieringtest to run.py which only recognizes --tiering_test (causing the argument to be silently ignored or fail). Additionally, several flags accepted by both scripts were missing from their help menus, one option was intentionally hidden, and Composite mode was only available via environment variable but not exposed through the scripts.

run.sh

  • Bug fix: --tieringtest--tiering_test when forwarding to run.py
  • Added: --parallel=<type> option (none, collections, assemblies, all) — already present in run.cmd, missing from run.sh
  • Added: --runlargeversionbubblecrossgen2tests — sets RunCrossGen2=1 and forwards --large_version_bubble to run.py; already in run.cmd, missing from run.sh
  • Added: --composite — forwards --composite to run.py to enable Crossgen2 composite mode
  • Help fix: Added description for --limitedDumpGeneration (previously had an empty description)

run.cmd

  • Added: verbose — passes --verbose to run.py; already in run.sh, missing from run.cmd
  • Added: limitedDumpGeneration — passes --limited_core_dumps to run.py; already in run.sh, missing from run.cmd
  • Added: composite — passes --composite to run.py to enable Crossgen2 composite mode
  • Help fix: Added tieringtest, runnativeaottests, runlargeversionbubblecrossgen2tests, and composite to the help menu — they were accepted by the argument parser but not documented
  • Help fix: Fixed alignment of verbose, limitedDumpGeneration, interpreter, and node entries in the help section
  • Removed: "intentionally undocumented" comment for runlargeversionbubblecrossgen2tests; option is now documented as experimental

run.py

  • Added: --composite argument — sets CompositeBuildMode=1 environment variable, matching the pattern used in helixpublishwitharcade.proj for Helix test runs

Changes

  • src/tests/run.sh
  • src/tests/run.cmd
  • src/tests/run.py

Testing

Shell script syntax verified (bash -n). Python syntax verified (py_compile). No build artifacts affected.

Original prompt

This section details on the original issue you should resolve

<issue_title>src/tests/run.[sh|cmd] doesn't show all options present in run.py</issue_title>
<issue_description>There are a number of flags that run.py accepts that are not in src/tests/run.sh or src/tests/run.cmd. We should make sure they are in sync.</issue_description>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

- Fix bug in run.sh: passes '--tieringtest' to run.py but run.py expects '--tiering_test'
- Add '--parallel=<type>' option to run.sh (was in run.cmd but missing from run.sh)
- Add 'verbose' option to run.cmd (was in run.sh but missing from run.cmd)
- Add 'limitedDumpGeneration' option to run.cmd (was in run.sh but missing from run.cmd)

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix run.sh and run.cmd to include all options from run.py Sync run.sh and run.cmd options with run.py Mar 12, 2026
Copilot AI requested a review from jtschuster March 12, 2026 22:08
@jtschuster

Copy link
Copy Markdown
Member

@copilot make sure all the flags that are accepted are in the help menus too.

…; fix empty description in run.sh

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>

Copilot AI commented Mar 12, 2026

Copy link
Copy Markdown
Contributor Author

@copilot make sure all the flags that are accepted are in the help menus too.

Done in b79eb42:

  • Added tieringtest and runnativeaottests to the run.cmd help menu (they were accepted but undocumented)
  • Fixed the empty description for --limitedDumpGeneration in run.sh
  • Fixed alignment of the newly added entries in run.cmd's help section

@jtschuster

Copy link
Copy Markdown
Member

@copilot Add the runlargeversionbubblecrossgen2tests option and remove the "intentionally hidden" comment. Just leave a note that it's experimental. I don't see why we should have any undocumented options.

… comment

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>

Copilot AI commented Mar 12, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Add the runlargeversionbubblecrossgen2tests option and remove the "intentionally hidden" comment. Just leave a note that it's experimental. I don't see why we should have an...

Done in 2c43f5e — removed the "intentionally undocumented" comment and added runlargeversionbubblecrossgen2tests to the help menu marked as (Experimental).

Comment thread src/tests/run.sh
echo ' --interpreter : Runs the tests with the interpreter enabled'
echo ' --node : Runs the tests with NodeJS (wasm only)'
echo ' --limitedDumpGeneration : '
echo ' --limitedDumpGeneration : Limits the number of core dumps generated for this test run'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot Don't we need largeversionbubblecrossgen2tests here too? And I don't think Composite mode is in run.py, but is in the test runners via an environment variable. We should add it to run.py and run.sh and run.cmd.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in 9f41b7c:

  • Added --runlargeversionbubblecrossgen2tests to run.sh (argument parsing, help menu, forwarding --run_crossgen2_tests + --large_version_bubble to run.py)
  • Added --composite to run.py (sets CompositeBuildMode=1 env var, matching helixpublishwitharcade.proj)
  • Added --composite to run.sh and composite to run.cmd (both forward --composite to run.py)
  • All three entries documented in their respective help menus as (Experimental)

…to all scripts

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@github-actions github-actions Bot locked and limited conversation to collaborators May 13, 2026
@jkotas
jkotas deleted the copilot/sync-run-options branch May 22, 2026 15:56
@JulieLeeMSFT JulieLeeMSFT added this to the 12.0.0 milestone Jul 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: No status
Status: Done

Development

Successfully merging this pull request may close these issues.

src/tests/run.[sh|cmd] doesn't show all options present in run.py

3 participants