johnandersen777.bsky.social/atlibs-socialweb-computer-requester
socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons
0
0
{
"name": "cicd-workload",
"description": "computer.socialweb.cicd.workload.run: a CI job's checkout and steps on a machine, through the computer.socialweb.cicd.process.* hooks.",
"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:///<ref>/shell/mcp)." },
{ "key": "job", "label": "Job", "type": "object", "required": true, "description": "{checkout: {git, commit, merge?: {git, commit}}, env?: {NAME: value}, steps: [{name, run, env?}]}" }
]
}
],
"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" }]
}