spad.manual-deployment ​
Executes a full deployment of a SPAD site using a generic runner
Executes a full deployment of a SPAD site.
Input fields: site_id, organization_id, deployment_id, source_type (optional), source_ref (optional), commit_sha (optional)
Overview ​
| Property | Value |
|---|---|
| Workflow type | Linear |
| Library | App-spad |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
site_uuid | string | Yes | — | SpadSite UUID to deploy |
deployment_uuid | string | Yes | — | SpadDeployment UUID created for this run |
organization_uuid | string | No | — | Organization UUID that owns the site |
source_type | string | No | — | Source type override (e.g. 'branch', 'tag', 'commit') |
source_ref | string | No | — | Branch/tag/ref override |
commit_sha | string | No | — | Specific commit SHA to build |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
deployment_uuid | string | Yes | — | SpadDeployment UUID that was deployed |
site_uuid | string | Yes | — | Site UUID that was deployed |
organization_uuid | string | No | — | Organization UUID that owns the site |
site_name | string | No | — | Site display name |
slug | string | No | — | Site slug |
source_type | string | No | — | Resolved source type used for the build ('branch'/'tag'/'commit') |
source_ref | string | No | — | Resolved source ref used for the build |
commit_sha | string | No | — | Commit SHA that was built |
branch | string | No | — | Branch name when source_type=='branch' |
code_source | string | No | — | 'github' or 'gitlab' depending on the repo source |
build_config_uuid | string | No | — | SpadBuildConfig UUID used for this build |
node_version | string | No | — | Node.js version used for the build |
output_directory | string | No | — | Build output directory that was uploaded |
command | string | No | — | Build command that was executed |
environment | dict | No | — | Build environment variables (non-secret snapshot) |
cloud_connection_uuid | string | No | — | AWS/GCP CloudConnection UUID used for the build target |
s3_bucket_name | string | No | — | Origin bucket the artifact was uploaded to |
cloudfront_distribution_ref | string | No | — | CloudFront distribution id fronting the site |
cloudfront_domain | string | No | — | Edge domain (CloudFront / equivalent) fronting the site |
deployment_target_uuid | string | No | — | deploy.target-dispatch target UUID for the site |
deployment_strategy | string | No | — | Strategy used for the rollout (e.g. 'backend-immediate') |
runner_group_uuid | string | No | — | Runner group UUID the build ran in |
runner_execution_uuid | string | No | — | RunnerExecution UUID on the build runner |
runner_execution_workflow_uuid | string | No | — | Workflow id of the runner execution |
ecs_task_arn | string | No | — | ECS task ARN that executed the build (AWS path) |
gce_vm_name | string | No | — | GCE VM name that executed the build (GCP path) |
vm_name | string | No | — | Alias for gce_vm_name when applicable |
log_group_name | string | No | — | CloudWatch log group name for the build (AWS path) |
log_stream_name | string | No | — | CloudWatch log stream name for the build (AWS path) |
log_sync_provider | string | No | — | Provider that produced log_stream output |
build_stages | list | No | — | Build stage progress records |
build_succeeded | boolean | No | — | True once the build stage completed successfully |
build_failed | boolean | No | — | True when the build stage failed (failure path only) |
monitor_outcome | string | No | — | Outcome recorded by the build monitor |
poll_count | integer | No | — | Number of build polls executed |
release_uuid | string | No | — | DeploymentRelease UUID created from the build artifact |
release_artifact_uri | string | No | — | Build artifact URI (S3/GCS path) |
rollout_uuid | string | No | — | Rollout UUID created for this deployment |
rollout_workflow_uuid | string | No | — | Rollout workflow id started for this deployment |
rollout_status | string | No | — | Last-observed rollout status |
rollout_workflow_status | string | No | — | Last-observed status of the rollout workflow |
rollout_workflow_terminal | boolean | No | — | True once the rollout workflow reached a terminal state |
rollout_outcome | string | No | — | Final rollout outcome ('succeeded' / 'failed') |
rollout_poll_count | integer | No | — | Number of rollout polls executed |
deploy_url | string | No | — | Public URL the deployment is reachable at |
is_production | boolean | No | — | True once the deployment is marked as the current production deployment |
duration_seconds | integer | No | — | Total deployment duration in seconds |
initiated_at | string | Yes | — | ISO8601 timestamp when the workflow was initiated |
prepared_at | string | No | — | ISO8601 timestamp when prepare_build completed |
token_obtained_at | string | No | — | ISO8601 timestamp when the source provider token was obtained |
build_launched_at | string | No | — | ISO8601 timestamp when the build was launched |
monitoring_started_at | string | No | — | ISO8601 timestamp when build monitoring started |
build_completed_at | string | No | — | ISO8601 timestamp when the build completed |
rollout_started_at | string | No | — | ISO8601 timestamp when the rollout was started |
completed_at | string | No | — | ISO8601 timestamp when the workflow reached COMPLETED |
failed_at | string | No | — | ISO8601 timestamp when the workflow reached FAILED |
failed_at_state | string | No | — | State the workflow was in when it transitioned to FAILED |
failure_reason | string | No | — | Reason recorded on the failure path |
error | string | No | — | Engine-stamped failure metadata |
error_type | string | No | — | Engine-stamped failure metadata |
failed_layer | json | No | — | Engine-stamped failure metadata |
failed_step | json | No | — | Engine-stamped failure metadata |
github_repository_uuid | string | No | — | State data written by workflow action |
gitlab_project_uuid | string | No | — | State data written by workflow action |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
initiated | Yes | No | — | prepare_build | Manual deployment request accepted |
getting_token | No | No | — | launch_build | Acquire source provider access token |
launching_build | No | No | — | monitor_build | Start build runner execution |
monitoring | No | No | — | — | Monitor build progress and outcome |
preparing | No | No | — | get_github_token | Load build/deployment configuration |
rolling_out | No | No | — | — | Monitor rollout workflow until terminal status |
starting_rollout | No | No | — | start_rollout | Create and start rollout workflow |
completed | No | Yes | Yes | — | Manual deployment completed successfully |
failed | No | Yes | No | — | Manual deployment failed |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
initiated | prepare_build | preparing | Preparing build environment |
preparing | get_github_token | getting_token | Getting GitHub token |
getting_token | launch_build | launching_build | Launching build |
launching_build | monitor_build | monitoring | Monitoring build |
monitoring | poll_build | monitoring | Polling build status |
monitoring | build_succeeded | starting_rollout | Build published release |
monitoring | build_failed | failed | Build failed |
starting_rollout | start_rollout | rolling_out | Starting rollout |
rolling_out | poll_rollout | rolling_out | Polling rollout status |
monitoring | prepare_build | monitoring | Ignore stale prepare_build |
starting_rollout | prepare_build | starting_rollout | Ignore stale prepare_build |
rolling_out | prepare_build | rolling_out | Ignore stale prepare_build |
monitoring | get_github_token | monitoring | Ignore stale get_github_token |
starting_rollout | get_github_token | starting_rollout | Ignore stale get_github_token |
rolling_out | get_github_token | rolling_out | Ignore stale get_github_token |
monitoring | launch_build | monitoring | Ignore stale launch_build |
starting_rollout | launch_build | starting_rollout | Ignore stale launch_build |
rolling_out | launch_build | rolling_out | Ignore stale launch_build |
starting_rollout | monitor_build | starting_rollout | Ignore stale monitor_build |
rolling_out | monitor_build | rolling_out | Ignore stale monitor_build |
rolling_out | start_rollout | rolling_out | Ignore stale start_rollout |
rolling_out | complete | completed | Deployment completed |
rolling_out | fail | failed | Rollout failed |
* (any state) | fail | failed | Deployment failed |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "spad.manual-deployment",
"initial_data": {
"site_uuid": "value",
"deployment_uuid": "value"
}
}