Repository navigation
(#170) Retrofit demo/{script,frosting} ahead of v8.0.0 release - #171
Merged
Merged
Conversation
Workspace conventions adopted in the v8.0.0 retrofit: - PackageTags: canonical prefix `cake;cake-build;cake-addin;addin;script;build` with `filehelpers` as the addin-specific tail tag (one of three permitted). - Tests project drops to `net8.0` only — the lowest of the addin's range (`net8.0;net9.0`), per the workspace tests-TFM rotation table for Cake 5.x. Cake.Core/Common (5.0.0) and addin TFMs (net8.0;net9.0) unchanged — those are the per-major contract anchors and stay locked to N.0.0 / their declared range until the next per-Cake-major catch-up.
…0 wrappers
Workspace standard since 2026-05-04: every per-Cake-major catch-up arc
ships demo/{script,frosting} from day one (demo/sdk joins at Cake 6).
Retrofitting Cake.FileHelpers into that shape now so the v9.0.0
catch-up only adds demo/sdk on top.
- git mv test.cake -> demo/script/test.cake (rename preserves history).
- #reference path updated for the new depth and rebased to net8.0
(workspace anchor for demo/* HintPath / #reference, matching the
Cake.Coveralls demo/script convention).
- demo/script/.config/dotnet-tools.json pins cake.tool to 5.1.0
(latest of Cake 5.x as of 2026-05-07; Renovate will track).
- demo/script/build.ps1 + build.sh wrappers cd to the script dir,
restore the local tool, then run `dotnet cake test.cake`.
The v8.0.0 release ships the unreleased Cake 5 work that landed on
develop via cake-contrib#153 (closes cake-contrib#152), plus this retrofit. Cake.Core /
Cake.Common stay at 5.0.0 — the per-major contract anchor.
Workspace pattern (Cake.Coveralls demo/script ships coveralls.cake): the script's filename matches the addin's short name, not the generic test.cake the root copy used. Renaming now so the v8.0.0 retrofit lands the workspace-canonical layout in one go. Wrappers updated to invoke filehelpers.cake; no other call sites yet.
… Frosting Mirror of demo/script/filehelpers.cake's task surface as a Frosting project, so the workspace's standard demo-pattern is complete from day one (demo/sdk joins at the Cake 6 catch-up release in v9.0.0). - Cake.Frosting 5.1.0 (latest of Cake 5.x as of 2026-05-07). - HintPath references Cake.FileHelpers.dll from BuildArtifacts/temp/_PublishedLibraries/Cake.FileHelpers/net8.0/ (the workspace anchor TFM for demo/* references; Renovate will not touch this since it's a HintPath, not a PackageReference). - Tasks chained via [IsDependentOn] to preserve the deterministic Setup -> Read -> Write -> Append -> Touch -> Find -> Replace -> Cleanup ordering that demo/script/filehelpers.cake relies on (Replace mutates sample files in-place, so it must run after Read / Find). - BuildContext owns the working directory + sample/written/touched file paths so each task accesses them through one shared place rather than recomputing.
Run both demos as separate CI steps after the recipe build, so regressions in either invocation surface in the same workflow as the addin's own test suite. demo/sdk joins at v9.0.0 (Cake 6). `if: success()` keeps the demos gated on the recipe build passing first — they consume BuildArtifacts/temp/_PublishedLibraries/ which only exists after DotNetCore-Pack runs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #170.
The Cake 5 work landed unreleased on
developvia #153 (closed #152), and the baseline retrofit landed via #169. v8.0.0 will ship that combined state, plus the workspace's standard demo-pattern retrofit so future per-Cake-major catch-up PRs have a stable shape.Scope
cake;cake-build;cake-addin;addin;script;build;filehelpers(workspace canonical prefix + one addin-specific tail tag).net9.0from the tests project; tests now targetnet8.0only (lowest of the addin'snet8.0;net9.0range, per the workspace tests-TFM rotation table).test.cake→demo/script/filehelpers.cake— preserves git history viagit mv. Renamed fromtest.caketo match Cake.Coveralls' workspace-canonical<addin-shortname>.cakepattern. Addsdemo/script/.config/dotnet-tools.json(cake.tool5.1.0, latest of Cake 5.x as of 2026-05-07) plusbuild.ps1/build.shwrappers thatcdto the script dir, restore the local tool, then rundotnet cake filehelpers.cake.demo/frosting/— Cake.Frosting5.1.0. Mirrors the alias surface offilehelpers.cakeas a Frosting project, with tasks chained via[IsDependentOn]to preserve the Setup → Read → Write → Append → Touch → Find → Replace → Cleanup ordering.BuildContextowns the working-directory + sample/written/touched paths so each task accesses them through one shared place.Run demo/script+Run demo/frostingintobuild.yml— both demos run after the recipe build (if: success()) so they consume the published library produced byDotNetCore-Pack.demo/sdkjoins at v9.0.0 (the Cake 6 catch-up).Out of scope
Cake.Core/Cake.Common(5.0.0) and the addin's TFMs (net8.0;net9.0) are unchanged — those are the per-major contract anchors and stay locked until v9.0.0.demo/sdkwork — tracked by Update Cake.FileHelpers add-in to target Cake v6.0.0 #155 against milestone 9.0.0.Local verification
dotnet cake recipe.cake --target=Package— green (4 test runs, package built)../demo/script/build.ps1— all 8 tasks executed, all assertions passed../demo/frosting/build.ps1— all 8 tasks executed in dependency order, all assertions passed.Release context
The v8.0.0 milestone covers the full Cake 4 → Cake 5 jump:
Breaking change, closed by Update to Cake 5.0 #153) — theCake.Core4.0.0 → 5.0.0 bump itself.Improvement, closed by this PR) — the demo retrofit + canonical polish landing in the same release.