• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

TheKevJames / coveralls-python / a848812e-efa0-4261-b42e-0e8e0394c12a
95%
master: 96%

Build:
Build:
LAST BUILD BRANCH: kjames/retries
DEFAULT BRANCH: master
Ran 21 Jul 2026 09:19AM UTC
Jobs 6
Files 8
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Jul 2026 09:17AM UTC coverage: 94.959% (+0.4%) from 94.51%
a848812e-efa0-4261-b42e-0e8e0394c12a

Pull #759

circleci

TheKevJames
feat(cli): promote finish/save/upload verbs to subcommands

The CLI mixed two kinds of thing in one flat namespace: verbs (mutually
exclusive modes selected by --finish/--output/--submit) and modifiers that
tune a verb. Modelling verbs as independent flags left no guardrails -- e.g.
the debug subcommand inherited the full flag set and would silently ignore
--output/--submit/--finish, and conflicting verbs resolved by an undocumented
precedence ladder rather than erroring.

Promote the verbs to first-class subcommands alongside the existing debug:

  coveralls              collect + submit (unchanged bare invocation)
  coveralls finish       parallel-finish webhook       (was --finish)
  coveralls save FILE    write report to a file        (was --output FILE)
  coveralls upload FILE  upload a pre-generated report (was --submit FILE)
  coveralls debug        build report, dump to stdout, don't send

Each command declares only the options it uses, so options are still given
after the command name (e.g. `coveralls debug --rcfile=x`) and inapplicable
flag/verb combinations become clean usage errors instead of silent no-ops.

Backwards compatibility: --finish, --output and --submit remain as hidden,
deprecated aliases on the default command that dispatch to the new subcommands
and emit a deprecation warning in the same style as the existing
rcfile/config_file and --service/--service-name deprecations. These aliases
dispatch identically to the old flat CLI, including applying --merge before
the action (a no-op for submit/finish payloads, but preserved for fidelity).
All the modifiers the old flat namespace accepted alongside --finish/--submit
(--service-name/--rcfile/--base-dir/--src-dir/...) are still accepted on the
default command, so existing pipelines are unaffected. Passing a deprecated
verb flag together with a subcommand, or more than one verb flag at once, is
now rejected rather than silently resolved. Usage errors are rendered as a
message plus exi... (continued)
Pull Request #759: feat(cli): promote finish/save/upload verbs to subcommands

156 of 166 branches covered (93.98%)

Branch coverage included in aggregate %.

95 of 96 new or added lines in 1 file covered. (98.96%)

541 of 568 relevant lines covered (95.25%)

5.71 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.59
1.76% coveralls/cli.py
Jobs
ID Job ID Ran Files Coverage
1 a848812e-efa0-4261-b42e-0e8e0394c12a.1 21 Jul 2026 09:19AM UTC 8
94.96
CircleCI Job
2 a848812e-efa0-4261-b42e-0e8e0394c12a.2 21 Jul 2026 09:19AM UTC 8
94.96
CircleCI Job
3 a848812e-efa0-4261-b42e-0e8e0394c12a.3 21 Jul 2026 09:19AM UTC 8
94.96
CircleCI Job
4 a848812e-efa0-4261-b42e-0e8e0394c12a.4 21 Jul 2026 09:20AM UTC 8
94.96
CircleCI Job
5 a848812e-efa0-4261-b42e-0e8e0394c12a.5 21 Jul 2026 09:20AM UTC 8
94.96
CircleCI Job
6 a848812e-efa0-4261-b42e-0e8e0394c12a.6 21 Jul 2026 09:22AM UTC 8
94.96
CircleCI Job
Source Files on build a848812e-efa0-4261-b42e-0e8e0394c12a
  • Tree
  • List 8
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #A848812E...
  • Pull Request #759
  • PR Base - master (#29767320903)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc