Skip to content

chore(versions): refresh pins and make versions-pin show its work - #488

Merged
lroolle merged 1 commit into
mainfrom
chore/version-pins-tui
Jul 27, 2026
Merged

chore(versions): refresh pins and make versions-pin show its work#488
lroolle merged 1 commit into
mainfrom
chore/version-pins-tui

Conversation

@lroolle

@lroolle lroolle commented Jul 27, 2026

Copy link
Copy Markdown
Member

Stacked on #487. Review that first; base retargets on merge.

Pin sweep: claude-code 2.1.220, cctrace 0.23.0, gemini 0.52.0, grok 0.2.112,
kimi 0.29.2, ccx v0.12.0, playwright 1.62.0, cloakbrowser wrapper 0.5.2
(which is also the Chromium pin).

update-version-pins.sh reports per tool (old -> new, up-to-date, or fetch
failed) with a summary, and make versions-pin CHANGELOG=1 prints upstream
changelogs for the tools that actually moved via the release-utils registry.

Two bugs the local suite caught in the rework, both worth naming:

  1. Soft-fail was broken. new_val=$(fetch ...) is a plain assignment, so a
    failing command substitution takes its exit status and set -e aborts the
    run -- making the fetch-failed branch below it dead code and turning one
    dead registry into an aborted sweep. Fixed with || true. Same class as
    fix: deva.sh exits silently when docker rejects a .deva mount #484.

  2. The rework skipped writing versions.env when nothing moved. The heredoc in
    write_version_pins is a second copy of the file layout, so the rewrite is
    what proves no pin was dropped from it; skipping it left that guard
    (tests/version-upgrade.sh) unexercised on exactly the runs where every
    fetch failed. Now it always writes.

Also stops claiming "all pins up-to-date" when 12 fetches failed and nothing
was actually checked.

Test plan

  • simulated total registry outage: degrades to warnings, exits clean,
    versions.env byte-identical after the rewrite
  • heredoc emits all 19 VERSION_PIN_VARS, no pin dropped
  • tests/version-upgrade.sh + full local suite green (9/9)
  • shellcheck --severity=error clean

Note for the reviewer: the new output uses box-drawing characters, which cuts
against the repo's ascii preference. Left as authored -- flagging, not
relitigating.

@claude-yolo

claude-yolo Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 1s —— View job


I'll analyze this and get back to you.

@lroolle
lroolle force-pushed the chore/version-pins-tui branch from 5b62134 to be0b253 Compare July 27, 2026 09:16
@claude-yolo

claude-yolo Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 1s —— View job


I'll analyze this and get back to you.

Base automatically changed from feat/cloak-456 to main July 27, 2026 09:59
- pin sweep: claude-code 2.1.220, cctrace 0.23.0, gemini 0.52.0,
  grok 0.2.112, kimi 0.29.2, ccx v0.12.0, playwright 1.62.0,
  cloakbrowser wrapper 0.5.2 (which is also the Chromium pin)
- update-version-pins.sh: grouped per-tool output with old -> new,
  fetch failures called out instead of silently keeping the old value,
  and a summary line
- versions-pin CHANGELOG=1 prints upstream changelogs for the tools
  that actually moved, via the release-utils registry -- release notes
  stop being archaeology
- keep the soft-fail contract: `new_val=$(fetch ...) || true`. A failing
  command substitution in a plain assignment takes its exit status and
  set -e kills the run, which had made the fetch-failed branch dead code
  and turned one dead registry into an aborted sweep
- always write versions.env, even when nothing moved. The heredoc is a
  second copy of the file layout, so the rewrite is what proves no pin
  was dropped; skipping it left that guard unexercised on exactly the
  runs where every fetch failed
- say "N fetches failed, upstream state unknown" instead of claiming
  "all pins up-to-date" when nothing was actually checked

Verified: full round-trip byte-identical under a simulated total
registry outage; tests/version-upgrade.sh green.
Copilot AI review requested due to automatic review settings July 27, 2026 09:59
@lroolle
lroolle force-pushed the chore/version-pins-tui branch from be0b253 to 5586826 Compare July 27, 2026 09:59
@claude-yolo

claude-yolo Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 1s —— View job


I'll analyze this and get back to you.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Refreshes pinned tool versions and improves the pin-sweep UX so scripts/update-version-pins.sh reports per-tool outcomes (updated / unchanged / fetch failed) and can optionally show upstream changelogs for tools tracked in the release-utils registry.

Changes:

  • Bump several pinned tool versions in versions.env (e.g., Claude Code, cctrace, Gemini CLI, Grok CLI, Kimi Code, CCX, Playwright, CloakBrowser wrapper).
  • Rework scripts/update-version-pins.sh to provide grouped progress output, robust soft-fail fetch behavior under set -e, and optional changelog printing (--changelog).
  • Update make versions-pin to forward CHANGELOG=1 into --changelog, and document it in make help.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
versions.env Refreshes pinned versions for multiple agent CLIs and browser tooling.
scripts/update-version-pins.sh Adds verbose per-tool reporting, fixes soft-fail behavior, always rewrites versions.env, and supports changelog display.
Makefile Wires CHANGELOG=1 into make versions-pin and updates help text accordingly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


show_changelogs() {
local shown=0
for entry in ${UPDATED_VARS[@]+"${UPDATED_VARS[@]}"}; do
@lroolle
lroolle merged commit 424fc40 into main Jul 27, 2026
6 of 7 checks passed
@lroolle
lroolle deleted the chore/version-pins-tui branch July 27, 2026 10:05
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.

2 participants