Loading...
Loading...
Define and run Eve pipelines and workflows via manifest and CLI. Use when wiring build, release, deploy flows or invoking workflow jobs.
npx skill4agent add eve-horizon/eve-skillpacks eve-pipelines-workflowspipelines.eve/manifest.yamlactionscriptagentdepends_onbuildreleasedeployrunjobcreate-preve pipeline listeve pipeline show <project> <name>eve pipeline run <name> --ref <sha> --env <env> --repo-dir ./my-appbuildbuild_idimage_digestseve build showeve build diagnoseeve build runseve build logsagentpipelines:
remediation:
steps:
- name: analyze
agent:
prompt: "Analyze the failure and propose a fix"pipelines:
deploy:
steps:
- name: build
action:
type: build
# Creates BuildSpec + BuildRun, outputs build_id + image_digests
- name: release
depends_on: [build]
action:
type: release
# References build_id, derives digests from BuildArtifacts
- name: deploy
depends_on: [release]
action:
type: deploy
env_name: staging
# Uses digest-based image refs for immutable deployseve job list --phase active
eve job follow <job-id>
eve job result <job-id># Snapshot logs for a run
eve pipeline logs <pipeline> <run-id>
# Real-time SSE streaming
eve pipeline logs <pipeline> <run-id> --follow
# Stream specific step
eve pipeline logs <pipeline> <run-id> --follow --step <name>pipelineeve env deploy <env> --ref <sha># Triggers the configured pipeline for test environment
eve env deploy test --ref 0123456789abcdef0123456789abcdef01234567
# Pass inputs to the pipeline
eve env deploy staging --ref 0123456789abcdef0123456789abcdef01234567 --inputs '{"release_id":"rel_xxx"}'
# Bypass pipeline and do direct deploy
eve env deploy staging --ref 0123456789abcdef0123456789abcdef01234567 --direct# 1. Build and deploy to test environment
eve env deploy test --ref 0123456789abcdef0123456789abcdef01234567
# 2. Get release info from the test build
eve release resolve v1.2.3
# Output: rel_xxx
# 3. Promote to staging using the release_id
eve env deploy staging --ref 0123456789abcdef0123456789abcdef01234567 --inputs '{"release_id":"rel_xxx"}'environments.<env>.pipelineeve env deploy <env>--direct--inputs '{"key":"value"}'environments.<env>.pipeline_inputs--ref--repo-dirworkflowsdb_accessread_onlyread_writeresource_refsresource_refsresource_refsinheritallnone[brief, design-system]namelabelmount_pathurimetadata.nameeve workflow listeve workflow show <project> <name>eve workflow run <project> <name> --input '{"k":"v"}'eve workflow invoke <project> <name> --input '{"k":"v"}'eve workflow logs <job-id>hintsworkflows:
remediate:
hints:
gates: ["remediate:proj_abc123:staging"]workflows:
triage-and-act:
steps:
- name: triage
agent: { prompt: "Classify this incident" }
- name: deep
depends_on: [triage]
condition: "triage.status == 'complex'" # skip if false
agent: { prompt: "Run deep analysis" }==!=depends_onsteps:
- name: classify
harness: claude
harness_profile: claude-sonnet
harness_options:
model: claude-sonnet-4-7
reasoning_effort: medium
temperature: 0.2
agent: { prompt: "Classify this" }harness_profile${inputs.model}env_overrides${secret.KEY}workflows:
remediate:
env_overrides:
LOG_LEVEL: info
steps:
- name: act
env_overrides:
LOG_LEVEL: debug # step wins over workflow
API_KEY: ${secret.VENDOR_TOKEN}
agent: { prompt: "Remediate" }eve workflow invoke <project> remediate --input '{"k":"v"}' --env-override DRY_RUN=trueenvenv_nameeve job create --description "Investigate" \
--harness claude \
--profile claude-sonnet
# Or pass a full override object:
eve job create --description "..." --harness-override-file ./override.json
# override.json: { "harness": "...", "model": "...", "reasoning_effort": "...", "variant": "...", "temperature": 0.2 }hints.slackeve workflow retry <root-job-id> --failedeve workflow retry <root-job-id> --from <step>resource_refs