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
Browse filesBrowse the repository at this point in the historyBrowse files
DevBot
committed
fix(release): consolidate release locks, prerelease logic and version truth (#1231)
M14: add a deterministic local release lock (tools/autoflow/release-lock.ts)
taken by every release-mutating autoflow command (patch-release, release,
release-prepare, publish-existing, release-record). Acquisition is atomic
(createNew) under the gitignored .artifacts/ scratch dir; a second local
release operation fails closed and names the holder, and the lock is released
on both the Deno.exit and exception paths. CI mutual exclusion keeps using
the openelement-release concurrency group in autoflow-release.yml.
M16: one canonical prerelease/version truth implementation in
tools/lib/version.ts (import-free, so project-constants.ts stays loadable by
Nitro/jiti under Node). bump-version, check-strategic-docs,
check-version-anchors, check-docs-truth, check-release-truth,
npm-release-verifier, release-evidence-consistency, autoflow cli/release/
version-anchors and publish-npm now import parseLineVersion /
prereleaseParts / prereleaseSequence / prereleaseChannel / compareVersions /
nextPatchVersion / normalizeReleaseVersion from it instead of re-rolling
regexes; FIRST_TAGGED_VERSION ('0.41.0-alpha.14') now has a single copy
(previously hard-coded in both autoflow/release.ts and check-docs-truth.ts).
M17: the docs-truth current gate whitelist (CURRENT_DOC_ALLOWED) switches
from substring matching to exact-path semantics: trailing-'/' entries are
repo-anchored directory prefixes, all other entries are exact file paths.
Incidental substring exemptions (e.g. docs/runbooks/supabase-migrations.md
via 'migration') are now gated and pass the scan; dead entries dropped.
freeze:semantics local/CI diff-semantics gap (Beta.1 carried risk): the
module header now carries the precise characterization — divergence between
the origin/main local base and the origin/$GITHUB_BASE_REF CI base is
provably one-directional (fail closed) under the ADR-0151 train topology
(origin/main is an ancestor of every dev-based PR HEAD, so the local diff is
a superset of the CI diff while local amendment signals are a subset), and
documents why defaulting the local base to origin/dev would be fail-open for
dev→main release PRs.
0 commit comments