Skip to content

Add deployment foundation types#889

Draft
jpurnell wants to merge 1 commit into
twostraws:mainfrom
jpurnell:feature/deployment-foundations
Draft

Add deployment foundation types#889
jpurnell wants to merge 1 commit into
twostraws:mainfrom
jpurnell:feature/deployment-foundations

Conversation

@jpurnell
Copy link
Copy Markdown
Contributor

@jpurnell jpurnell commented May 21, 2026

Summary

  • Adds DeploymentTarget protocol with validate/deploy interface
  • Adds DeploymentDiff for incremental file change tracking
  • Adds DeploymentResult with summary formatting
  • Adds DeploymentManifest (Codable) for persisting deploy state
  • Adds DeploymentEnvironment for safe environment variable access
  • Adds DeploymentError with descriptive error messages
  • 13 new tests covering diff computation, result formatting, manifest serialization, and environment access

Design

Purely additive — new Sources/Ignite/Deployment/ directory. Defines the protocol and data types that concrete deployment targets (GitHub Pages, Netlify, etc.) will implement. No CLI command yet — that requires deeper framework integration.

Test plan

  • All 13 new tests pass
  • Full test suite passes (1353 tests)
  • swift build clean with no warnings

…tDiff, DeploymentResult

Introduces the deployment framework for Ignite:

- DeploymentTarget protocol with validate/deploy interface
- DeploymentDiff for incremental file change tracking
- DeploymentResult with summary formatting
- DeploymentManifest (Codable) for persisting deploy state
- DeploymentEnvironment for environment variable access
- DeploymentError with descriptive messages

Purely additive. Concrete targets (GitHub Pages, Netlify, etc.)
and CLI command are planned as follow-ups.
@jpurnell jpurnell marked this pull request as draft May 21, 2026 22:15
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