Skip to content

Add EasyBuild ShipIt extension and workflow documentation - #5

Merged
shayanhabibi merged 9 commits into
masterfrom
feature/easybuild-shipit
Oct 7, 2026
Merged

shayanhabibi merged 9 commits into
masterfrom
feature/easybuild-shipit

Conversation

@shayanhabibi

Copy link
Copy Markdown
Owner

This adds a separately packaged EasyBuild.ShipIt extension so consumers can calculate package versions from conventional commits and update changelogs and project versions in one workflow.

  • Add src/extensions/Partas.Build.EasyBuild.ShipIt, version 0.1.0, with typed operations, reusable inputs, stages and a ready-made command tree.
  • Provide a ShipIt-backed baked bump that always uses local mode. ShipIt owns version calculation; configured XML updaters synchronize .fsproj Version without modifying AssemblyVersion or applying a second Baked.SemVer increment.
  • Add explicit repository-local tool setup and project updater configuration. Preserve existing registrations/changelog content and reject ambiguous manifests or project versions before file changes.
  • Register the extension in build/pack/bump workflows. Add an Extensions navbar/menu section, a complete ShipIt guide, agent documentation link and generated extension API reference.

Validation:

  • Full Build CLI test command: 558 suite tests and 22 Debug/Release compiler probes passed; 10 skipped, including the opt-in external-tool contract test.
  • Focused tool-enabled tests: 19 passed, including real ShipIt 3.1.0 local generation updating a project and changelog from 1.2.3 to 1.3.0 while retaining AssemblyVersion and leaving Git history unchanged.
  • Library builds passed for net10.0, net8.0 and netstandard2.0. Local package 0.1.0 verified with README and dependency groups.
  • Independent review findings fixed with regression tests for multiline YAML insertion, tool manifest boundaries and validation before changelog initialization.
  • Build CLI docs command passed: 121 pages generated. Checked rendered navbar/sidebar links and extension API pages. All guide F# examples compiled with dotnet fsi. git diff --check passed.

The existing docs restore warning NU1608 remains: FSharp.Compiler.Service 43.12.400 requests FSharp.Core 10.1.400 while the repository resolves 10.1.401. Setup is explicit; the extension defaults new ShipIt tool registrations to 3.1.0, which requires .NET 10. Existing flow/empty updater YAML must be normalized to block form before project configuration.

@shayanhabibi
shayanhabibi merged commit 0b60024 into master Oct 7, 2026
5 checks passed
@shayanhabibi
shayanhabibi deleted the feature/easybuild-shipit branch October 7, 2026 04:48
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.

1 participant