Skip to content

ci: termlens 0.11's two stale pins, and the check that missed them - #77

Merged
vyncint merged 1 commit into
mainfrom
ci/termlens-pins-0.11
Sep 13, 2026
Merged

vyncint merged 1 commit into
mainfrom
ci/termlens-pins-0.11

Conversation

@vyncint

@vyncint vyncint commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Closes #68.

What was wrong

The termlens 0.11 bump moved the dev-dependency, Cargo.lock, the vendored skill and both cli-version: inputs. It left two behind at 0.10.1:

  • PIN_TERMLENS in .github/workflows/pins.yml
  • CONTRIBUTING's own termlens (currently …) line — the first line of the checklist every termlens bump is supposed to follow

Nothing would have caught either. check-skill-version.sh compared the skill and the workflow cli-version: pins with the dependency and nothing else, so the first report would have been Monday 06:17 UTC: the weekly pins watch comparing 0.10.1 with crates.io's 0.11.0 and opening a drift issue for a bump that had already happened.

What changed

PIN_TERMLENS0.11.0, the CONTRIBUTING line → 0.11, and the check extended to cover the whole must-touch list rather than the skill alone.

PIN_TERMLENS is compared with Cargo.lock exactly, not on major.minor like the rest. An exact version is what the watch compares against max_stable_version, so a lockfile moved to a patch release with the pin left behind produces the same false drift report, and a major.minor comparison would not see it.

CONTRIBUTING also gains the cli-version: inputs it never listed, so the list a bump follows is now the list CI enforces.

Verification

Each value mutated in a copy of the tree; every one fails, the unmodified tree passes:

mutation exit
baseline, all consistent 0
PIN_TERMLENS back to 0.10.1 (the bug this closes) 1
lockfile to 0.11.1, pin left at 0.11.0 1
CONTRIBUTING line back to 0.10.1 1
dependency to 0.12, nothing else moved 1
PIN_TERMLENS line deleted 1

just ci green: 165 tests passed / 0 failed across 56 suites, cargo deny advisories/bans/licenses/sources ok, docs warning-free, and the research workspace green on the pinned nightly.

After this, the termlens line is gone from Monday's report. The run will still open a drift issue, correctly, for reconverge (pinned 0.5.0, crates.io 0.6.1) and launchbound (pinned 2.1.0, crates.io 2.2.1) — those four pins move together by hand and are out of scope here.

The 0.11 bump moved the dev-dependency, the lockfile, the vendored skill
and both `cli-version:` inputs, and left `PIN_TERMLENS` in pins.yml and
CONTRIBUTING's own line at 0.10.1. Nothing would have caught that: the
skill-version check compared the skill and the workflow pins with the
dependency and nothing else, so the first report would have been Monday's
pins watch comparing 0.10.1 with crates.io and filing a drift issue for a
bump that had already happened.

Both are corrected, and the check now covers every entry on
CONTRIBUTING's must-touch list instead of the skill alone. `PIN_TERMLENS`
is compared with `Cargo.lock` exactly rather than on major.minor, because
an exact version is what the watch compares: a lockfile moved to a patch
release with the pin left behind produces the same false drift report,
and major.minor would not see it.

CONTRIBUTING gains the `cli-version:` inputs it never listed, so the list
a bump follows is the list CI enforces.

Verified by mutating each value in a copy of the tree: a stale
PIN_TERMLENS, a lockfile ahead of the pin, a stale CONTRIBUTING line, a
bumped dependency with nothing else moved, and a deleted PIN_TERMLENS
line each exit 1 with the error naming the file; the unmodified tree
exits 0. `just ci` is green (165 tests, 0 failed; deny ok; research green
once rustup's proxy precedes Homebrew's cargo on PATH).

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
@vyncint
vyncint merged commit 160ec7f into main Sep 13, 2026
14 checks passed
@vyncint
vyncint deleted the ci/termlens-pins-0.11 branch September 13, 2026 14:50
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.

pins.yml and CONTRIBUTING.md still name termlens 0.10.1 after the 0.11 bump

1 participant