You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 26, 2026. It is now read-only.
Repository navigation
Commit 272ea03
Browse filesBrowse the repository at this point in the historyBrowse files
fix(live-e2e): derive the showcase-app commit from the release tag at boot (#8276)
`e2e/live/ci/backend.env` carried two pins that a header MUST said must agree:
`OBJECTSTACK_VERSION` (checked against `pnpm-lock.yaml` since objectui#7689)
and `OBJECTSTACK_REF`, a hand-moved sha whose stated rule — "always the commit
the `@objectstack/cli@${OBJECTSTACK_VERSION}` release tag points at" — nothing
could check. The file said so in as many words: "NOT machine-checked, and
deliberately so", on the reasoning that resolving the tag needs the objectstack
repository and the unit lane cannot reach it. True of the unit lane, and beside
the point: the live lane clones that very repository to get the app.
Retire the pin instead of adding a check nobody would read (the lane is
`informational`). `start-backend.sh` now resolves the commit at boot from the
release tag named by `OBJECTSTACK_VERSION` — `git ls-remote --tags`, taking the
peeled `^{}` sha of the annotated tag — and refuses to start, naming the tag,
when it does not resolve to a 40-character sha. `git ls-remote` reports a
missing tag as empty output and exit 0, so that shape check is the guard, not a
formality. The resolved sha stays in the reuse stamp so a re-pointed tag cannot
be served from a cached fixture in a reused scratch dir.
The pair the header describes then cannot disagree by construction: the
sparse-checkout of `examples/app-showcase` and the installed published packages
always come from the same release, and there is one value to move, not two.
Tests: the `keeps OBJECTSTACK_REF in the one shape start-backend.sh can fetch`
pin is retired deliberately — it asserted the shape of a value that no longer
exists — and replaced by three pins that now hold: backend.env declares no
`OBJECTSTACK_REF`; start-backend.sh still resolves the tag, still builds it from
`OBJECTSTACK_VERSION`, and still refuses on a bad shape; and backend.env still
explains the absence, so nobody restores the pin thinking it was dropped by
accident. Prose updated in the CI/CD page, `better-auth-pin.mjs` and the live
saved-view spec, all of which described a two-pin pair.
Refs objectui#7964, objectui#7689.
Claude-Session: https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments