diff --git a/.changeset/README.md b/.changeset/README.md index 7a9658d..feee433 100644 --- a/.changeset/README.md +++ b/.changeset/README.md @@ -7,14 +7,18 @@ one with: pnpm change --bump --summary "" [...] ``` -- A pull request that changes a publishable package's path ships an intent - here; the changeset check fails without one. +- A pull request whose head moves a publishable package's turbo `build` hash + from the base ships an intent naming that package (`release.jsonc` `gate`); + the changeset check fails without one. Files outside the package can move + that hash too, for example `turbo.json`'s `build` task or `globalEnv`, or the + root `package.json`'s dependencies. Such a pull request names the package, + with `none` when its tarball does not change. - `none` records a change that needs no release. A `none` on a change a consumer can see is the silent non-release the check exists to catch. - `@systemfsoftware/api-extractor` is at 0.0.0 and the tag `@systemfsoftware/api-extractor@v0.0.0` exists. While both hold, a pull - request that changes `packages/api-extractor` ships a non-`none` intent for - it, because a `none` on a change to its tarball makes Release refuse with + request that changes its tarball ships a non-`none` intent for it, because a + `none` on a change to its tarball makes Release refuse with `tag-integrity-mismatch`. The tag is deleted only in the change that moves the version off 0.0.0. - The release PR consumes pending intents with `pnpm version -r`, writes each diff --git a/release.jsonc b/release.jsonc index 29ed7d7..f30ea69 100644 --- a/release.jsonc +++ b/release.jsonc @@ -8,7 +8,7 @@ "versioning": { "strategy": "changesets", }, - // A change under a package's directory needs an intent naming it. The turbo - // gate dry-runs turbo at the base, which a base without turbo.json refuses. - "gate": { "strategy": "paths" }, + // A pull request whose head moves a publishable package's turbo `build` hash + // away from the base ships an intent naming that package. + "gate": { "strategy": "turbo", "task": "build" }, }