Skip to content

ci: version-increment gate should report the comparison it made, not just pass/fail #364

Description

@MichaelTaylor3d

Task

The version-increment CI gate reports pass/fail but not the comparison it made. Make it print the
base version, the head version, and the verdict, so a stale bump is visible on the PR instead of being
discovered at merge time.

Why

This has gone stale twice on a single branch (dig-node PR#354) across a five-round gate. The pattern:

  1. A lane opens a PR and bumps the workspace version — correct at the time.
  2. main moves; another PR takes that version number.
  3. Rounds of review pass. Nobody re-checks, because the gate was green when they last looked.
  4. At merge, the gate fails with Cargo.toml: base='13.4.0' head='13.4.0' — and the lane has to
    rediscover from scratch what the comparison even was.

A long-lived gate round and a moving main interact badly, and the check is currently remembered rather
than mechanical
. It is also cheap to fix: the workflow already computes both values in order to compare
them; it simply does not surface them on success.

Scope

  • On every run, success or failure, echo the comparison: base=<x> head=<y> for each manifest checked
    (Cargo.toml and package.json where both exist), plus the verdict.
  • Prefer a GitHub step summary or an annotation so it is readable from the PR without opening the log.
  • Where both manifests exist, keep the existing must-match check and report both values when they diverge.

Out of scope

Do not change what the gate enforces. This is about making its reasoning visible, not about relaxing or
tightening the rule.

Where

dig-node's version-increment workflow. If the same workflow is templated across repos, say so and name
them
— but bound this ticket to a listed set rather than "every repo", so it can actually close
(CLAUDE.md §1.3c rule zero).

Done condition

A PR run shows the base and head versions it compared, on both a passing and a failing run.

Effort

Low — a couple of echo lines into $GITHUB_STEP_SUMMARY in a workflow that already holds both values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions