kodehort/SST Operations

A unified GitHub Action for SST operations: deploy, diff, and remove

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
operationSST operation to perform: • 'deploy': Deploy infrastructure to AWS (can auto-compute stage from Git context) • 'diff': Preview infrastructure changes (requires explicit stage for comparison) • 'remove': Delete deployed resources (requires explicit stage for safety) • 'stage': Compute stage name from Git context (utility operation, no infrastructure access) This input is required - no default operation is provided to prevent dangerous failure states. yes
tokenGitHub token for authentication: • Required for: deploy, diff, remove operations (infrastructure access and PR comments) • Not required for: stage operation (utility only) • Use: secrets.GITHUB_TOKEN or personal access token • Local testing: Use "fake-token" yes
stageSST stage name: • deploy: Optional - auto-computed from branch/PR if not provided • diff: Required - need target stage to compare infrastructure changes • remove: Required - explicit stage name for safety (prevents accidental deletions) • stage: Not applicable - computes stage name as output • Format: alphanumeric, hyphens, underscores (e.g., "production", "pr-123") no
comment-modeWhen to post PR comments (infrastructure operations only): • 'always': Comment on every operation run • 'on-success': Comment only when operation succeeds (default) • 'on-failure': Comment only when operation fails • 'never': Disable PR comments • Note: stage operations don't post PR comments noon-success
fail-on-errorWhether to fail the GitHub Action workflow when SST operation fails: • true (default): Fail workflow on operation errors • false: Continue workflow even if operation fails (useful for optional deployments) • Applies to all operation types notrue
max-output-sizeMaximum output size before truncation (in bytes): • Default: 50000 (50KB) - suitable for most deployments • Range: 1000-1000000 (1KB-1MB) • Use 0 for unlimited (not recommended for large outputs) • Helps prevent GitHub Actions log size limits no50000
runnerPackage manager/runtime for SST commands (infrastructure operations only): • 'bun' (default): Use Bun runtime and package manager • 'npm': Use npm with package scripts • 'pnpm': Use PNPM runtime • 'yarn': Use Yarn runtime • 'sst': Use SST binary directly (no package manager) • Note: stage operations don't require a runner nobun
truncation-lengthMaximum length for computed stage names (stage operation only): • Default: 26 characters (fits Route53 DNS limits) • Range: 1-100 characters • Longer branch/PR names are truncated to this length • Only applies to stage operations - ignored by other operations no26
prefixPrefix for stage names starting with numbers (stage operation only): • Default: "pr-" (creates names like "pr-123" for PR #123) • Format: lowercase letters, numbers, hyphens only • Max length: 10 characters • Only applies to stage operations - ignored by other operations nopr-
namedescription
successWhether SST operation completed successfully
operationThe operation that was performed
stageThe stage that was operated on
resource_changesNumber of resource changes made (deploy/remove only)
outputsJSON array of generic outputs from deployment (replaces urls)
appThe SST app name
completion_statusOperation completion status (complete, partial, failed)
permalinkSST Console permalink for operation details
truncatedWhether the operation output was truncated
diff_summarySummary of planned changes (diff only)
computed_stageThe computed stage name (stage only)
refThe Git ref used for stage calculation (stage only)
event_nameThe GitHub event name (stage only)
is_pull_requestWhether the event is a pull request (stage only)