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
Copy file name to clipboardExpand all lines: AGENTS.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,6 +211,9 @@ When adding tests:
211
211
`## <version> - YYYY-MM-DD`; the service may append ` - <release title>`.
212
212
Run `./build.cmd ValidateReleaseMetadata` after changing either side. Main
213
213
builds, staging checks, and every package target enforce the same gate.
214
+
- During a prerelease line, keep one rolling top release-notes entry and bump
215
+
its preview version in place. Preserve published non-preview entries as
216
+
immutable history.
214
217
-`ci.yml` owns path-focused main solution tests for core libraries and clients. Downstream package compatibility belongs to the downstream repository's normal CI and release process; AVPR workflows must not clone and rebuild `arc-validate`.
215
218
-`portable-ci.yml` owns cross-target Model and Codecs tests. It runs both portable targets when either portable implementation, consumer test, or shared build tool changes.
216
219
-`staging-ci.yml` owns `StagingArea/**`, staging-checker, staging-model/codec, and relevant build-tool changes. It runs `TestStagingArea` on Windows with `uv` installed.
@@ -222,12 +225,13 @@ When adding tests:
222
225
- Model and Codecs NuGet trusted-publisher policies must name their direct workflow (`release-model.yml` or `release-codecs.yml`). Client and Interop policies must name the called reusable workflow `release-package.yml`, which NuGet observes through `job_workflow_ref`.
223
226
- npm trusted-publisher policies for the scoped Model and Codecs packages must name the corresponding direct package workflow and allow `npm publish`. These workflows use Node 24, npm with trusted-publishing support, and no npm token.
224
227
- PyPI trusted-publisher policies for Model and Codecs must name the corresponding direct, top-level package workflow. Do not move PyPI publishing into a reusable workflow.
225
-
- The `nfdi4plants` NuGet organization must own every actively released NuGet
226
-
package and every NuGet trusted-publishing policy. `NUGET_USER` is the
227
-
personal nuget.org username that creates those organization policies, not
228
-
the organization name. npm publishers are configured per scoped package and
229
-
PyPI publishers per project, using the exact field matrix in
230
-
`docs/operations/releases.md`.
228
+
- NuGet trusted-publishing policies are owner-wide and cannot be scoped to an
229
+
individual package. The current policy owner and package owner is the
230
+
`Mutagene` nuget.org account, and `NUGET_USER` must contain that same profile
231
+
name. Separate policies restrict the repository/workflow identity, but each
232
+
successful policy can publish any NuGet package owned by that account. npm
233
+
publishers are configured per scoped package and PyPI publishers per project,
234
+
using the exact field matrix in `docs/operations/releases.md`.
231
235
- All package publish jobs need `id-token: write` and the `release` environment. `NuGet/login` exchanges OIDC for a temporary key; never restore a long-lived `NUGET_KEY`. `NUGET_USER` is only the nuget.org profile name associated with the policy. Reusable publishers must read it directly from their job environment because GitHub cannot pass environment secrets through `workflow_call`.
232
236
- A staged package marked for publication can be pushed to the production registry after checks pass.
233
237
- Workflow actions should remain pinned to deliberate versions/commits. Preserve least-privilege permissions and never print secrets.
0 commit comments