Skip to content

Migrate the build orchestrator from NUKE to Fallout (10.4.0) - #60

Open
lahma wants to merge 1 commit into
AngleSharp:develfrom
lahma:fallout
Open

Migrate the build orchestrator from NUKE to Fallout (10.4.0)#60
lahma wants to merge 1 commit into
AngleSharp:develfrom
lahma:fallout

Conversation

@lahma

@lahma lahma commented Aug 8, 2026

Copy link
Copy Markdown

Migrates the build orchestration from NUKE 9.0.4 (unmaintained) to Fallout v10.4.0, the maintained hard-fork successor, matching the rest of the AngleSharp family (core moved in AngleSharp/AngleSharp#1275; Css/Js/Io/Xml/Renderer/Wasm use the same shim + tool-manifest model this PR adopts).

What changed:

  • fallout-migrate (10.4.0) rewrote the Nuke.* namespaces, renamed .nuke/.fallout/, and pinned Fallout.Common 10.4.0 (stable channel — resolves the patched System.Security.Cryptography.Xml 10.0.10; restore of the build project is audit-clean)
  • Build project moved nuke/build/ (the Fallout CLI's convention), and its TFM bumped net8.0 → net10.0 (the CLI requires .NET 10)
  • build.ps1 / build.sh became thin shims (taken from AngleSharp.Js): the dotnet-provisioning block stays, the NUKE_ENTERPRISE_TOKEN feedz block and the direct build-and-run of _build.csproj are gone, and they end with dotnet tool restore + dotnet fallout <args>. The CLI (Fallout.GlobalTool 10.4.0) resolves from the new .config/dotnet-tools.json. Positional targets and -Target X behave exactly as before, so the hand-written ci.yml needs no changes — the scripts provision the SDK themselves
  • .gitignore: NUKE artifact paths → Fallout/build/ equivalents; stale nuke.build plugin comment dropped from Build.cs

Verification (local, Windows): dotnet build build/_build.csproj — 0 warnings, restore audit-clean. ./build.ps1 Compile end to end (tool restore resolves GlobalTool 10.4.0, Fallout Execution Engine 10.4.0.15). Full default target: RunUnitTests Succeeded — Failed: 0, Passed: 557 (cross-checked with a direct dotnet test run). Publish targets intentionally not run — their code paths changed by namespace only.

Pre-existing findings surfaced by the runs, deliberately not touched here: CA1515 warnings in test sources, and NU1902 for the referenced AngleSharp 1.1.2 (moderate advisory) — both exist on devel already and are separate concerns.

🤖 Generated with Claude Code

Fallout (fallout.build) is the maintained hard-fork successor of NUKE.
The migration follows the shape of the sibling AngleSharp repos:
fallout-migrate rewrote the namespaces and pinned Fallout.Common 10.4.0
(the stable channel), the build project moved from nuke/ to build/ (the
Fallout convention), and the bootstrap scripts became thin shims that
run `dotnet tool restore` + `dotnet fallout`, resolving the CLI
(Fallout.GlobalTool) from .config/dotnet-tools.json. The build project
now targets net10.0, which the CLI requires; CI invokes the bootstrap
scripts, which provision the SDK, so the workflow needs no changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@CLAassistant

CLAassistant commented Aug 8, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@lahma
lahma marked this pull request as ready for review August 8, 2026 12:42
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