@@ -8,17 +8,19 @@ controller ships in that installer. The live CAD host executes the tests.
88
99## Status
1010
11- ** Experimental.** Discover / run / progress work end-to-end. The public NuGet
12- package is ** not published** yet — consume from source / local pack only until
13- the first supported release.
11+ ** Experimental.** Discover / run / progress work end-to-end. ` DevTools.NUnit `
12+ (MTP) is published independently of the RevitDevTool installer. Version is
13+ ` <Version> ` in ` source/DevTools.NUnit.Mtp/DevTools.NUnit.Mtp.csproj ` (starts at
14+ ` 0.0.1 ` ). Run ` .github/workflows/PublishNUnit.yml ` from GitHub Actions to pack
15+ and push nuget.org (OIDC Trusted Publishing). VSTest stays in-tree and is not
16+ published.
1417
1518Host-process debugging is ** out of scope** . There is no ` --debug ` CLI, no Test
1619Explorer Debug attach, and no IDE SDK. Attach the IDE debugger to the host
1720PID yourself if needed; that is not a product feature.
1821
1922Two consumer surfaces share the same Runner/Host: MTP (` DevTools.NUnit ` ) and
2023VSTest (` DevTools.NUnit.TestAdapter ` ). Keep them on ** separate** test projects.
21- Neither package is published yet.
2224
2325## Modules
2426
@@ -110,7 +112,7 @@ Runner ships under the ApplicationPlugins bundle `Contents` folder (publish
110112| Probe load | ** Also shadows** : zip test folder → ` %TEMP%\RevitTest\ ` → extract → ` Assembly.LoadFile ` on the temp copy (then optional zip-back) | Content-addressed generation shadow of test output + Runtime |
111113| Transport | Own Console + ` PipeTestServer ` /` PipeTestClient ` (process-named pipe) | Existing ` DevToolsPipeServer ` + ` IHostContextExecutor ` |
112114| IDE surface | VS-oriented + EnvDTE attach | MTP + VSTest samples; no debugger integration |
113- | Package | ricaun NuGet ecosystem | Intended: ` DevTools.NUnit ` (MTP) NuGet ( ** unpublished ** ) ; VSTest adapter in-tree |
115+ | Package | ricaun NuGet ecosystem | ` DevTools.NUnit ` (MTP) NuGet, versioned in the MTP csproj ; VSTest adapter in-tree |
114116| Hosts | Revit-focused product | Revit + AutoCAD family on shared DevTools platform |
115117
116118** Conflict / coexistence (what actually breaks):**
@@ -163,13 +165,31 @@ options; one intended adapter package aligned with the rest of RevitDevTool.
163165
164166| Package | Publish status |
165167| ---------| ----------------|
166- | ` DevTools.NUnit ` (` DevTools.NUnit.Mtp ` ) | ** Not published ** — experimental; local/source only |
168+ | ` DevTools.NUnit ` (` DevTools.NUnit.Mtp ` ) | Independent of installer tags. Version = csproj ` <Version> ` . Workflow: ` PublishNUnit.yml ` |
167169| ` DevTools.NUnit.TestAdapter ` | ** Not published** — in-tree VSTest samples only |
168170| Core / Host / Runner | Not consumer NuGet APIs |
169171
170- When publishing later: pack ` DevTools.NUnit ` only. Consumers add NUnit,
171- ` DevTools.NUnit ` , and ` Microsoft.Testing.Platform.MSBuild ` ; install
172- [ RevitDevTool] ( https://github.com/trgiangv/RevitDevTool ) ; set the host-run
172+ Bump ` <Version> ` in ` source/DevTools.NUnit.Mtp/DevTools.NUnit.Mtp.csproj ` , commit,
173+ then run ** Actions → Publish NUnit** . The workflow reads that property, packs
174+ ` DevTools.NUnit.{version}.nupkg ` , and pushes nuget.org via
175+ [ Trusted Publishing] ( https://learn.microsoft.com/en-us/nuget/nuget-org/trusted-publishing )
176+ (OIDC; no long-lived API key). Uncheck ** Push to nuget.org** to pack-only.
177+ Do not use installer tags or ` scripts/pack.ps1 ` for this package. Local pack:
178+ ` scripts/pack-nunit.ps1 ` .
179+
180+ One-time nuget.org setup before the first push:
181+
182+ 1 . nuget.org → account → ** Trusted Publishing** → add policy:
183+ - Repository Owner: ` trgiangv `
184+ - Repository: ` RevitDevTool `
185+ - Workflow File: ` PublishNUnit.yml ` (file name only)
186+ - Environment: leave empty
187+ 2 . Run the workflow with ** nuget_user** = nuget.org ** profile name** (not email).
188+ Optional later: store that name as repo secret ` NUGET_USER ` .
189+ This repo is public; the policy should show ** Active** after Create.
190+
191+ Consumers add NUnit, ` DevTools.NUnit ` , and ` Microsoft.Testing.Platform.MSBuild ` ;
192+ install [ RevitDevTool] ( https://github.com/trgiangv/RevitDevTool ) ; set the host-run
173193properties (` HostName ` , ` HostVersion ` , ` HostLaunch ` , timeouts); and keep a
174194test-directory ` global.json ` with ` "test": { "runner": "Microsoft.Testing.Platform" } `
175195so ` dotnet test ` uses MTP.
@@ -179,7 +199,8 @@ so `dotnet test` uses MTP.
179199- Microsoft Testing Platform / VSTest IDE matrix (VS / Rider / C# Dev Kit)
180200- Full NUnit attribute matrix (Theory, explicit, categories, parallel, …)
181201- Broader automated host-matrix CI (years × hosts) for NUnit beyond sample smoke
182- - Public NuGet feed + versioning / changelog
202+ - nuget.org listing after the first ` Publish NUnit ` run (` 0.0.1 ` )
203+ - Package changelog separate from the installer Changelog.md
183204
184205## Related
185206
0 commit comments