Skip to content

Bridge Tentacle package references to Windows service deploy

Summary

  • Verified the current package flow: selected packages trigger PackageAcquisitionInjector, ExecuteStepsPhase matches acquired packages by action name, Tentacle renderers copy them onto ScriptExecutionRequest.PackageReferences.
  • Added the missing generic Tentacle direct-script bridge: matched package references are now attached to StartScriptCommand.Files under package-references/, with a package-references.json manifest describing package id, version, relative path, size, and hash.
  • Tightened package-reference matching to preserve selected-package order and retain case-insensitive matching, so the primary package remains deterministic for package-aware actions like Windows Service deploy.
  • Updated the Windows Service PowerShell resource to keep explicit Squid.Action.WindowsService.Package.SourcePath as highest priority, then fall back to the package-reference manifest/files staged into the Tentacle workdir.
  • Marked OpenSpec tasks 4.1-4.4 complete with package-flow notes in tasks.md.

Test plan

  • Unit: PackageAcquisitionInjectorTests verifies a Windows Service action with a selected package injects Acquire Packages before the deploy step.
  • Unit: ExecuteStepsPhasePackageReferencesTests verifies Windows Service action-name/package-reference matching preserves selected package order and handles case-insensitive acquired package keys.
  • Unit: HalibutMachineExecutionStrategyTests verifies Tentacle direct-script dispatch attaches package-references.json and the matched package file to StartScriptCommand.Files.
  • Unit: WindowsServiceDeployScriptBuilderTests verifies the embedded Windows Service script contains the package-reference manifest fallback.
  • Focused regression: DOTNET_ROLL_FORWARD=Major dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter "FullyQualifiedName~PackageAcquisitionInjectorTests|FullyQualifiedName~ExecuteStepsPhasePackageReferencesTests|FullyQualifiedName~HalibutMachineExecutionStrategyTests|FullyQualifiedName~WindowsServiceDeployScriptBuilderTests" --logger "console;verbosity=minimal" passed, 50 tests green.
  • CI: remote CI not run in this turn.

Merge request reports

Loading