Commit a9ec0eb
Switch the preview feed to GitHub Packages and adopt the DI config-XML loading (#808)
* Switch the preview feed to GitHub Packages and adopt the DI config-XML loading
The ADO opcua-preview feed is retired: Nuget.Config now points at the
OPC Foundation GitHub Packages feed, the CI pipelines authenticate it
with the GITHUB_PACKAGES_TOKEN secret through
VSS_NUGET_EXTERNAL_FEED_ENDPOINTS, and the README documents the
read:packages token a local restore needs.
Every OPC UA package reference moves from 2.0.0-preview.2 to
2.0.245.28872-preview - the latest set published to GitHub Packages -
and is pinned in one place, the OpcUaNetStandardVersion property in
targets.props.
The server samples hand their *.Config.xml to the hosted server of the
stack (services.AddOpcUa().AddServer(configurationFile), issue #794,
unblocked by OPCFoundation/UA-.NETStandard#4325): AddSampleServer gains
configuration-file overloads which run the container's server instance
through IOpcUaServerFactory, capture the loaded configuration for the
forms, attach the log file the configuration names, and gate the start
of the host on the server actually listening. The client samples and
the ApplicationInstance-centric legacy samples name their configuration
file directly instead of through ConfigSectionName, and the dead OPC UA
sections leave the App.config files. New HostedServerBootstrapTests pin
the bootstrap contract.
Fixes #794
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Authenticate the CodeQL restore and fail the pipelines fast without a feed token
The first CI run answered the GitHub Packages feed switch with a wall of
401s. Three fixes:
The CodeQL workflow authenticates the feed with its own workflow token -
reading a public package needs any authenticated principal, so this job
needs no secret at all. The token is written into the checked-out
Nuget.Config, which both solution restores read.
The Azure pipelines cannot mint a GitHub token themselves, so they still
need the GITHUB_PACKAGES_TOKEN secret pipeline variable. A probe step in
front of every restore now turns a missing or rejected token into one
readable error pointing at the README instead of hundreds of 401 lines.
The endpoint list moves from a nested job variable into a direct env
mapping on each restore step - the form documented for secrets, with one
less expansion to reason about. The first run proved the credential
provider picks the endpoint up either way.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Move to the 2.0.262.32744-preview packages
The latest set the nuget-publish workflow pushed to GitHub Packages from
master, which the whole solution builds against without a source change.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Park the StateMachines expectations which need an SDK newer than 2.0.262
The StateMachines sample merged from master was validated against the
nuget.org 2.0.0-preview.4 cut, which contains UA-.NETStandard #4368
(Executable/UserExecutable reporting for state machine causes, and the
CurrentState/Id that goes with it). That change landed one master build
after 2.0.262.32744-preview - the newest set on GitHub Packages, because
every later publish fails on an unrelated signing error in the stack
(Opc.Ua.WotCon.Bindings declares InternalsVisibleTo without a public
key, which only the strong-name-signed publish build rejects).
The three affected expectations go into the known-issue machinery the
suite has for exactly this: the CurrentState/Id asserts of the node
manager fixture into KnownIssue wrappers, the cause-offering client
test into a subscription known-issue list mirroring SampleClientTests.
All of them fail the moment a newer package set makes them pass, which
is the reminder to remove them.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Move to the 2.0.280.50326-preview packages and lift the StateMachines park
The stack's signed publish is repaired, so GitHub Packages carries
master builds again; the newest set contains UA-.NETStandard #4368,
which lets the StateMachines known-issue entry and its TESTING.md note
pay out. The onboarding ticket surface moved from byte arrays to
ArrayOf<ByteString> in and ArrayOf<StatusCode> out, which the device
onboarding dialog and the GDS client test follow.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Qualify the registrar methods with the Onboarding namespace, re-park StateMachines
Two findings from running the merged tree on the 2.0.280 packages:
The generated OnboardingClient now calls the type-declaration MethodId
first and falls back to a browse path qualified with the Part 21
Onboarding namespace - the ns=0 browse names the hand-built registrar
carried were the old contract, and GetTickets answered BadMethodInvalid.
The node manager now brings the Onboarding namespace into the server
table and creates the two Method BrowseNames in it, which is the shape
the stack's own OnboardingClientTests pin.
The StateMachines cause-offering test fails identically on master's CI
at 2.0.0-preview.4, so the earlier park was removed for the wrong
reason: this is not package lag but a defect in how the sample and the
stack report Executable for causes. The known-issue entry returns with
that corrected reason and pays out when the defect is fixed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Restore the sample table rows the merge dropped from the README
The NodeManagement, RoleManagement and StateMachines rows of the
workshop sample table were lost in an earlier merge resolution; the
table matches master again, and only the preview-feed section differs
on this branch.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Align the registrar with the dual-generation design of #859
The type-declaration MethodIds of the companion model serve the current
OnboardingClient's direct call - one roundtrip cheaper than the browse
fallback the previous fix on this branch relied on - and the ns=0
BrowseNames keep the earlier client generation working. Same file as
the master fix, so the next merge is conflict free.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Take the registrar ids from the generated Onboarding model constants
The packages this branch builds against ship the generated model, so
the namespace and the two type-declaration MethodIds come from
Opc.Ua.Onboarding.Namespaces and Opc.Ua.Onboarding.MethodIds instead of
spelled-out literals. The master variant (#859) keeps the literals until
the packages move past 2.0.0-preview.4, which does not contain the
generated model.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Use opcfoundation-org for package feed secret
Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
* Authenticate GitHub Packages via the Github-Feed service connection
Replace the GITHUB_PACKAGES_TOKEN secret pipeline variable with the
Github-Feed NuGet service connection: NuGetAuthenticate@1 now references
the connection in all three pipeline templates, which removes the
per-restore VSS_NUGET_EXTERNAL_FEED_ENDPOINTS endpoint JSON and the
fail-fast token probe steps. The README documents how the service
connection is set up instead of the secret variable.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>1 parent cadd17a commit a9ec0eb
11 files changed
Lines changed: 104 additions & 33 deletions
File tree
- .azurepipelines
- .github/workflows
- Samples/GDS
- ClientControls/Controls
- Common
- Tests/SampleClients.Tests
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
31 | 36 | | |
| 37 | + | |
| 38 | + | |
32 | 39 | | |
33 | 40 | | |
34 | 41 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
| 13 | + | |
| 14 | + | |
11 | 15 | | |
12 | 16 | | |
13 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
| 22 | + | |
21 | 23 | | |
| 24 | + | |
| 25 | + | |
22 | 26 | | |
23 | 27 | | |
24 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
| |||
57 | 60 | | |
58 | 61 | | |
59 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
60 | 70 | | |
61 | 71 | | |
62 | 72 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
6 | 11 | | |
7 | 12 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
129 | | - | |
| 129 | + | |
130 | 130 | | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
136 | 159 | | |
137 | 160 | | |
138 | 161 | | |
| |||
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
264 | 264 | | |
265 | 265 | | |
266 | 266 | | |
267 | | - | |
| 267 | + | |
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
271 | | - | |
| 271 | + | |
272 | 272 | | |
273 | 273 | | |
274 | | - | |
| 274 | + | |
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
280 | | - | |
281 | | - | |
| 280 | + | |
| 281 | + | |
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
| 289 | + | |
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
86 | 89 | | |
87 | 90 | | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
91 | 94 | | |
92 | | - | |
| 95 | + | |
93 | 96 | | |
94 | 97 | | |
95 | 98 | | |
| |||
110 | 113 | | |
111 | 114 | | |
112 | 115 | | |
113 | | - | |
114 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
115 | 124 | | |
116 | 125 | | |
117 | 126 | | |
| |||
139 | 148 | | |
140 | 149 | | |
141 | 150 | | |
142 | | - | |
143 | | - | |
144 | | - | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
145 | 159 | | |
146 | 160 | | |
147 | 161 | | |
148 | 162 | | |
149 | 163 | | |
150 | 164 | | |
151 | 165 | | |
152 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
153 | 170 | | |
154 | 171 | | |
155 | 172 | | |
156 | | - | |
| 173 | + | |
157 | 174 | | |
158 | 175 | | |
159 | 176 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
536 | 536 | | |
537 | 537 | | |
538 | 538 | | |
539 | | - | |
| 539 | + | |
540 | 540 | | |
541 | | - | |
| 541 | + | |
542 | 542 | | |
543 | | - | |
| 543 | + | |
544 | 544 | | |
545 | | - | |
| 545 | + | |
546 | 546 | | |
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
551 | | - | |
| 551 | + | |
552 | 552 | | |
553 | 553 | | |
554 | | - | |
| 554 | + | |
555 | 555 | | |
556 | | - | |
| 556 | + | |
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
322 | 322 | | |
323 | 323 | | |
324 | 324 | | |
325 | | - | |
| 325 | + | |
| 326 | + | |
326 | 327 | | |
327 | 328 | | |
328 | 329 | | |
| |||
0 commit comments