Skip to content

Refactor link command into unified pipeline orchestrator#41

Merged
munezaclovis merged 9 commits intomainfrom
feature/pipeline-refactor
Mar 13, 2026
Merged

Refactor link command into unified pipeline orchestrator#41
munezaclovis merged 9 commits intomainfrom
feature/pipeline-refactor

Conversation

@munezaclovis
Copy link
Copy Markdown
Contributor

@munezaclovis munezaclovis commented Mar 11, 2026

Summary

  • All link-time operations are now Steps flowing through a single RunPipeline call — PHP install, Caddyfile generation, TLS certs, service detection, and all Laravel-specific steps
  • Critical() bool added to Step interface — critical step failures abort the pipeline, non-critical failures continue with a visual
  • cmd/link.go reduced from 250 to 170 lines — thin orchestrator that builds context, assembles step list, runs one pipeline
  • Hidden automation gates (generate_site_config, generate_caddyfile, generate_tls_cert, detect_services) — configurable via pv.yml but not shown in setup wizard
  • Octane re-detection moved into InstallOctaneStep.Run() — step owns its own side effects
  • Service detection moved to internal/automation/steps/cmd/link_services.go deleted

Test plan

  • go test ./... — all 27 packages pass
  • go vet ./... — clean
  • gofmt -w . — clean
  • Manual: pv link on a Laravel project verifies full pipeline runs
  • Manual: pv link on a static/PHP project skips Laravel steps cleanly
  • Manual: Set install_php_version: false in pv.yml, link project needing different PHP — verify warning shown

@munezaclovis munezaclovis merged commit 5eb882c into main Mar 13, 2026
1 check passed
@munezaclovis munezaclovis deleted the feature/pipeline-refactor branch March 27, 2026 22:49
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