Skip to content

v1 follows main, not only releases - #21

Merged
usetheodev merged 1 commit into
mainfrom
workspace
Aug 27, 2026
Merged

v1 follows main, not only releases#21
usetheodev merged 1 commit into
mainfrom
workspace

Conversation

@usetheodev

Copy link
Copy Markdown
Contributor

Refs #15. Workflow-only.

The fix for #15 had #13's shape inside it

advance-v1 in release.yml moves the ref after a publish. That covers a change that bumps the package — and most changes here do not bump the package.

The full-depth checkout, the build step, the per-package floor runs, the stable result check: each landed on main with no version bump, and each had to be pushed to v1 by hand or it reached no consumer at all. I did that three times today without noticing the pattern, until a workflow-only merge left the ref stale again.

Shipped, green, not delivered. Exactly what #13 was about.

So v1 follows main

With one condition: the pinned dep-check-version must already be on the registry.

A commit that bumps it lands on main before the tag that publishes it. Moving v1 there would send every consumer to npx @theokit/dep-check@<unpublished> — a failure at the point of use, which is worse than lagging behind. In that state this job holds and release.yml moves the ref once the publish succeeds.

Both states checked:

$ # pinned 0.7.0, published
-> move=true

$ # pinned at an unpublished version
-> move=false   (holds; the release will move it)

The read-back follows the annotated-tag indirection, same as release.yml.object.sha is the tag object, not the commit.

contents: write on this job only; the rest of CI keeps contents: read.

zizmor: no findings.

`advance-v1` in release.yml moves the ref after a publish, which covers a
change that bumps the package. It does not cover a change to the workflows
themselves — and those are most of them. The full-depth checkout, the build
step, the per-package floor runs and the stable result check each landed on
`main` with no version bump, and each had to be pushed to `v1` by hand or it
reached no consumer at all.

That is #13's shape, in the fix for #13's sibling: shipped, green, and not
delivered. I moved the ref by hand three times today without noticing the
pattern until a workflow-only merge left it stale again.

So `v1` follows `main`, with one condition: the `dep-check-version` pinned
in dep-check.yml must already be on the registry. A commit that bumps it
lands on `main` BEFORE the tag that publishes it, and moving `v1` there
would send every consumer to `npx @theokit/dep-check@<unpublished>` — a
failure at the point of use, which is worse than lagging. In that state this
job holds and release.yml moves the ref once the publish succeeds.

Checked both states: the current pin (0.7.0, published) moves; an
unpublished version holds.

The read-back follows the annotated-tag indirection, same as release.yml.

Refs #15
@usetheodev
usetheodev merged commit 13a1419 into main Aug 27, 2026
8 checks passed
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