Skip to content

chore: drop the stale zizmor --no-progress workaround - #747

Merged
ewjoachim merged 1 commit into
mainfrom
chore/drop-stale-zizmor-no-progress
Aug 27, 2026
Merged

chore: drop the stale zizmor --no-progress workaround#747
ewjoachim merged 1 commit into
mainfrom
chore/drop-stale-zizmor-no-progress

Conversation

@ewjoachim

Copy link
Copy Markdown
Member

The zizmor hook carries --no-progress, pointing at
zizmorcore/zizmor#582. That
issue is closed as completed (2025-03-11), and the flag no longer earns its
place here.

Evidence

The issue is resolved. #582 turned out not to be a zizmor bug at all: zizmor
already suppressed the TUI on a non-tty, and the reporter's progress bar came
from pre-commit.ci presenting itself as a tty. The --no-progress escape
hatch was re-added in #589 and
shipped in v1.5.0, for that kind of tty-faking runner.

The pinned version postdates the fix. uv.lock pins zizmor==1.29.0
(2026-08-01), far past v1.5.0 (2025-03-11).

Non-tty output was checked. Running the hook the way make lint and CI do,
with output captured rather than on a terminal, yields no progress bar — zero
carriage returns, zero erase-line sequences, zero bar glyphs:

$ uv run prek run zizmor --color=always --all-files --verbose > out.txt 2>&1
$ python3 -c "d=open('out.txt','rb').read(); print('CR:', d.count(b'\r'), 'ESC[2K:', d.count(b'\x1b[2K'))"
CR: 0 ESC[2K: 0
zizmor...................................................................Passed
- hook id: zizmor
- duration: 0.12s

   INFO zizmor: 🌈 zizmor v1.29.0
   WARN audit: zizmor: zizmor is running in offline mode by default; ...
   INFO audit: zizmor: 🌈 completed .github/workflows/autofix.yml
   ...
  No findings to report. Good job! (10 ignored)
  No fixes available to apply.

Worth noting --color=always does not reintroduce the problem: prek forces
colour through the environment rather than by allocating a pty, so the log lines
come out coloured while the progress bar stays suppressed. Attaching prek itself
to a real pty behaves the same — the only carriage returns belong to prek's own
"Running hooks..." spinner. For contrast, giving zizmor a genuine pty
(script -q out.txt uv run zizmor ...) does produce the full TUI — 338 carriage
returns, 327 erase-line sequences — so this is about the hook's environment, not
about zizmor having dropped the feature.

uv run prek run --show-diff-on-failure --color=always --all-files passes, all
eleven hooks green.

Checklist:

  • Tests
    • (not applicable?)
  • Documentation
    • (not applicable?)

🤖 Generated with Claude Code

zizmorcore/zizmor#582 was closed as completed on 2025-03-11: zizmor only
renders the progress bar when its output is a tty. prek pipes hook output
rather than allocating a pty -- even under --color=always, where it forces
colour through the environment instead -- so zizmor sees a non-tty and emits
plain log lines, locally and in CI alike.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

@ewjoachim
ewjoachim merged commit 2227e12 into main Aug 27, 2026
3 of 4 checks passed
@ewjoachim
ewjoachim deleted the chore/drop-stale-zizmor-no-progress branch August 27, 2026 12:11
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.

1 participant