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
|`release.yml`| push to `main`/ dispatch | Changesets version PR → npm + `dx registry publish` per released plugin (guarded); `registry_only` retries the registry half|
136
150
137
151
## Secrets / prerequisites
138
152
@@ -143,6 +157,12 @@ Composer catches up.
143
157
keep it `private: true` until then, or `changeset publish` fails and takes the rest of the release
144
158
with it (the registry publish is gated on its output). `pnpm check-packages-published` enforces
145
159
this in CI.
160
+
-**Every publishable plugin needs `repository.url` in its `package.json`**, pointing at this
161
+
repository. Provenance is on (`NPM_CONFIG_PROVENANCE`), and npm validates the signed statement
162
+
against that field — a missing one is rejected with `E422 … "repository.url" is ""`_after_ the
163
+
signature has been written to the transparency log, so the release is already lost by the time it
164
+
surfaces. `pnpm check-packages-published` fails on this too, comparing against
165
+
`GITHUB_REPOSITORY`.
146
166
-`ATPROTO_HANDLE` + `ATPROTO_APP_PASSWORD` — a verified publisher identity for the release workflow
147
167
(or wire `dx account login` for the DPoP path).
148
168
-`GH_DXOS_BOT_PAT` — dxos-bot's PAT (`contents: write` + `pull-requests: write`), used by every
0 commit comments