{ "$type": "com.fedfork.exec.wasm.module", "name": "cicd-workload", "module": { "$type": "blob", "ref": { "$link": "bafkreicsb5pfln6osn65xe72putuuixsadxwcyqm7rrqoos6iwqtppc3vy" }, "mimeType": "application/wasm", "size": 102517 }, "abi": "emdash-wasm-json-v1", "source": { "uri": "at://did:plc:ocnuqjlzgohypj3zoznermms/com.fedfork.exec.source.manifest/cicd-workload.1794343772444", "cid": "bafyreicwtsmwf3wcrlqti3hei4siw6b57ns6rc5hwpuecgciwso5znw7se" }, "actions": [ { "entry": "run", "label": "Run a job", "description": "The machine clones job.checkout (git over https), then runs each step as `sh -s` in /work, its env on stdin; stops at the first that fails. Result as it runs: {step, output}; at the end: {steps: [{name, exitCode}], ok}.", "fields": [ { "key": "url", "label": "Machine shell URL", "type": "string", "required": true, "description": "What the process hooks reach the machine at (iroh:////shell/mcp)." }, { "key": "job", "label": "Job", "type": "object", "required": true, "description": "{checkout: {git, commit, merge?: {git, commit}}, env?: {NAME: value}, steps: [{name, run, env?}]}" } ] } ], "createdAt": "2026-11-10T10:05:49.326Z", "description": "computer.socialweb.cicd.workload.run: a CI job's checkout and steps on a machine, through the computer.socialweb.cicd.process.* hooks.", "calls": [], "hooks": [ { "nsid": "computer.socialweb.cicd.process.start", "required": true, "reason": "each step is a job on the machine" }, { "nsid": "computer.socialweb.cicd.process.write", "required": true, "reason": "close the job's stdin once its script is in" }, { "nsid": "computer.socialweb.cicd.process.read", "required": true, "reason": "follow the job's output until it ends" } ], "implements": [ { "nsid": "computer.socialweb.cicd.workload.run", "entry": "run" } ] }