~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs-socialweb-computer-requester

socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons

0
0
main
22 lines · 1.3 KB Raw History
{
	"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" }]
}