Skip to content

Resolve the quality toolchain from transformers main at image build - #89

Merged
tarekziade merged 1 commit into
mainfrom
fix/task-runner-quality-deps-from-main
Aug 18, 2026
Merged

Resolve the quality toolchain from transformers main at image build#89
tarekziade merged 1 commit into
mainfrom
fix/task-runner-quality-deps-from-main

Conversation

@tarekziade

Copy link
Copy Markdown
Collaborator

Why

The task-runner image gets transformers' lint/checker toolchain from huggingface/transformers-quality, which installs transformers[quality] at its own build time (nightly, 00:06 UTC). Every pin in it therefore freezes on that date. When a pin then moves on main, the normalize gate fails for every task on a checker unrelated to the patch — and the gate cannot repair it, because it installs the worktree with --no-deps (mandatory: the task pod's egress allowlist has no PyPI).

Twice in two days:

Date Drift Effect
2026-08-17 tokenizers 0.22.2 in-image vs main's new >=0.23.1 every checker importing transformers died on the version guard — 3 groups lost, ~3.5M input tokens (transformers#48037)
2026-08-18 transformers-mlinter 0.1.2 in-image vs the 0.1.4 rule schema main moved to at 06:45 UTC (d032a44a9e) ValueError: Invalid rule spec for TRF054: default_enabled must be bool

Reproduced locally against main's utils/rules.toml:

mlinter 0.1.2 → ValueError: Invalid rule spec for TRF054: default_enabled must be bool
mlinter 0.1.4 → parsed OK — 56 rules

The second one appeared on the very morning the image was rebuilt for the first: the base was built 00:21 UTC, main moved at 06:45 UTC. So a rebuild alone is not a fix, and waiting for the base's next nightly (00:06 UTC) misses tonight's 22:00 UTC triage.

Worth noting the guard from #88 did its job here — instead of burning three correction budgets and reporting "the patch does not pass the normalizer", the three dispatched groups failed loudly as a broken gate and named the checker. That is how this was diagnosed in minutes.

What

Re-resolve the quality extra from transformers main in Dockerfile.task-runner, after the base. The gate's environment is then only as stale as this image, which a rebuild fixes on demand instead of waiting on the base. TRANSFORMERS_REF is a build arg so an operator can pin a ref when main itself is the problem.

Costs a little build time and image size; buys an environment we can actually refresh.

🤖 Generated with Claude Code

The task-runner image inherits transformers' lint/checker toolchain from
huggingface/transformers-quality, which installs transformers[quality] at
its own build time. Every pin therefore freezes on the base's build date,
and when one moves on main the normalize gate fails for every task on a
checker unrelated to the patch. The gate cannot repair it: it installs the
worktree with --no-deps, mandatory because the task pod's egress allowlist
has no PyPI.

Twice in two days:

  2026-08-17  tokenizers 0.22.2 in-image vs main's new >=0.23.1 pin.
              Every checker that imports transformers died on the version
              guard; 3 groups lost, ~3.5M input tokens (transformers#48037).
  2026-08-18  transformers-mlinter 0.1.2 in-image vs the 0.1.4 rule schema
              main moved to at 06:45 UTC. "Invalid rule spec for TRF054:
              default_enabled must be bool" — reproduced locally: 0.1.2
              raises it on main's utils/rules.toml, 0.1.4 parses 56 rules.

The second one landed the same morning the image was rebuilt for the
first, because the base was built at 00:21 UTC and main moved at 06:45 —
so a rebuild alone is not a fix, and waiting for the base's next nightly
(00:06 UTC) misses tonight's 22:00 UTC triage entirely.

Re-resolving the quality extra here makes the gate's environment only as
stale as this image, which a rebuild fixes on demand. TRANSFORMERS_REF is
a build arg so an operator can pin a ref when main itself is the problem.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tarekziade
tarekziade merged commit 749168e into main Aug 18, 2026
3 checks passed
@tarekziade
tarekziade deleted the fix/task-runner-quality-deps-from-main branch August 18, 2026 10:20
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