Skip to content

feat(cli): group the report options, and open the report only on request - #216

Merged
safl merged 1 commit into
mainfrom
report-open-opt-in
Oct 23, 2026
Merged

safl merged 1 commit into
mainfrom
report-open-opt-in

Conversation

@safl

@safl safl commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

The report is still written at the end of every task-run, but no longer opened in a browser unless asked for; on a desktop it popped a window after each run, which nobody wants in CI or over SSH. The three report options, which were spelled three different ways, become one group:

Option Effect Replaces
(none) write report.html, do not open it the default, minus the open
--report-open write it and open it the old default
--report-skip do not write it -n / --no-report
--report-only write it for the output at -o and exit; with --report-open, also open it -p / --produce-report

Worth a look: the old options keep working for now. -n / --no-report and -p / --produce-report map onto --report-skip and --report-only, and -s / --skip-report is accepted and ignored, since not opening is now the default; each logs a deprecation warning and is hidden from --help, as -w / --workflow was. --report-skip with --report-only is rejected. --report-open is stored apart from core.reporter's own report_open argument, so a task can still use core.reporter as a step, with or without setting it. The shell completions list both spellings. The quickstart in docs/source/index.rst, the docs-build command in 250_quickstart.cmd and tests/core/test_loglevel.py use the new options. docs/source/050_usage_help.out still shows the old help; it looks generated, so it is left to the docs build.

Verification: tests/core/test_report_args.py covers the defaults, the conflict and each deprecated spelling, and tests/core/test_report_open.py runs a one-step task in-process with webbrowser.open patched, checking that the report is written and opened, or not, for no option, --report-open, --report-skip and -s, and runs core.reporter as a task step with and without its argument. 12 of these 15 fail on main. Three pass there too: the -s case, since -s already meant "write, do not open", and the two core.reporter step cases, which guard against breaking what works on main.

Every task-run ended by opening report.html in a browser unless -s was
given, which on a desktop pops a window after each run and is never
wanted in CI or over SSH, and the three report options were spelled
three different ways. The report is still written by default; the
options are now --report-open to also open it, --report-skip to not
write it, and --report-only to write it for an existing output and
exit. -n/--no-report and -p/--produce-report keep working as
deprecated spellings of --report-skip and --report-only, and
-s/--skip-report is accepted and ignored, each with a warning.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Simon A. F. Lund <os@safl.dk>
@safl
safl force-pushed the report-open-opt-in branch from 6d857e0 to ccdf1bb Compare October 23, 2026 10:37
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 39940480497

Coverage decreased (-4.8%) to 71.027%

Details

  • Coverage decreased (-4.8%) from the base build.
  • Patch coverage: 27 of 27 lines across 1 file are fully covered (100%).
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 2240
Covered Lines: 1663
Line Coverage: 74.24%
Relevant Branches: 818
Covered Branches: 509
Branch Coverage: 62.22%
Branches in Coverage %: Yes
Coverage Strength: 0.74 hits per line

💛 - Coveralls

@naddinadja naddinadja left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Great! I love that the report opens automatically, so I just have to remember to add that argument each time 😂

@safl

safl commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator Author

xNVMe exercises this together with #214 and #215 in xnvme/xnvme#825, which pins cijoe to the preview branch ci-preview-overlay-ssh (01aedad). xNVMe passes none of the changed report options, and its verify jobs, which read the written report, are green.

@safl
safl merged commit c0efd00 into main Oct 23, 2026
30 checks passed
@safl safl mentioned this pull request Oct 23, 2026
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