Skip to content

Get HCLParser's CI build running on .NET 10 - #21

Open
matt-richardson wants to merge 2 commits into
mainfrom
mattrichardson/fix-octoversion-tool-package-rename
Open

Get HCLParser's CI build running on .NET 10#21
matt-richardson wants to merge 2 commits into
mainfrom
mattrichardson/fix-octoversion-tool-package-rename

Conversation

@matt-richardson

@matt-richardson matt-richardson commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Re-enabling CI here after DPT-2500 (Drop build-base-dotnet image) moved this config off the shared build-base-dotnet image. That turned out to be the first time the build had run since November 2022, and two things had rotted in the meantime.

OctoVersion.Tool was renamed to Octopus.OctoVersion.Tool, and the pinned 0.2.963 no longer resolves at all, so restore failed before anything else got a chance to.

Fixing that exposed the actual blocker: Nuke.Common 6.0.1 clones its tool settings with BinaryFormatter, which .NET 9 removed from the runtime outright. Once the build project moved to net10.0, every DotNet* task threw PlatformNotSupportedException. Staying on Nuke 6 isn't an option — the upgrade is what makes net10 viable, and it also happens to be what makes the package rename correct, since Nuke only learned the new OctoVersion package id in 7.0.

Build.cs follows Ocl's shape, which is the closest match in the org: same Nuke 10.1.0, same net10.0 build project. Also drops a JetBrains.ReSharper.GlobalTools pin from 2021 that no target ever referenced.

Verified locally end to end — 420 passed, 1 skipped, which matches the 421 anchor TeamCity fails builds against. Worth knowing that this config's VCS trigger is disabled, so the PR won't build on its own; it needs a manual run against the branch.

Relates to RDO-101 (HCLParser targets end-of-life .NET (net8.0)).

matt-richardson and others added 2 commits September 8, 2026 09:06
OctoVersion.Tool was renamed to Octopus.OctoVersion.Tool; the old
package id no longer has the pinned 0.2.963 version available,
breaking restore. Bumped to the latest available release.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Nuke.Common 6.0.1 clones its tool settings with BinaryFormatter, which
.NET 9 removed from the runtime, so every DotNet* task threw
PlatformNotSupportedException once the build project moved to net10.0.
6.0.1 also only knows the pre-rename OctoVersion.Tool package id.

Ports Build.cs to the Nuke 10 APIs, matching the shape used in Ocl.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@matt-richardson matt-richardson changed the title Switch OctoVersion.Tool package reference to Octopus.OctoVersion.Tool Get HCLParser's CI build running on .NET 10 Sep 8, 2026

@tjnicholas tjnicholas left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all seems very plausible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants